我們希望授權我們網路中的某些特定伺服器無需身份驗證即可發送郵件。我知道,check_sender_access
兩者check_recipient_access
都可以測試寄件者 ( MAIL FROM
) 或收件者 ( RCPT TO
)。
為了防止大量使用,smtp_restriction_classes
我正在尋找一種立即進行此類查找的方法。 IE
# /etc/postfix/check_noauth_servers
root@bi-server [email protected]
root@bi-server [email protected]
user@reporting [email protected]
是否有解決方案或存取限制可以進行此類查找?
答案1
你似乎在問兩個不相關的問題。
首先,
我們希望授予我們網路中的某些特定伺服器無需身份驗證即可發送郵件的權限。
將 check_client_access 放在 Permit_sasl_authenticated 前面可以輕鬆解決:
smtpd_recipient_restrictions = check_client_access hash:/etc/postfix/no-auth, permit_sasl_authenticated, reject_unauth_destination
並在/etc/postfix/no-auth
:
your.server.name.or.ip OK
- 然而,問題的第二部分似乎同時討論了發送者和接收者的存取映射。
這正是smtpd_restriction_classes
目的:
smtpd_restriction_classes = noauth
noauth = check_recipient_access hash:/etc/postfix/allowed_recipients
smtpd_recipient_restrictions = permit_sasl_authenticated, check_sender_access hash:/etc/postfix/allowed_senders, reject_unauth_destination
並在 /etc/postfix/allowed_senders 中:
[email protected] noauth
[email protected] noauth
並在 /etc/postfix/allowed_recipients 中:
[email protected] OK
[email protected] OK
應用訪問檢查的順序取決於您。
如果您需要更複雜的規則(例如,將寄件者和收件者合併在一張支票中),請查看後轉發,Postfix 防火牆守護程式。
這允許使用 iptables 中的複雜規則,將其用作策略伺服器 (check_policy_service);策略服務的優點是它可以立即存取所有預資料參數(客戶端、helo、發送者、接收者)。