我们希望授权我们网络中的某些特定服务器无需身份验证即可发送邮件。我知道这一点,check_sender_access
并且check_recipient_access
两者都可以测试发件人(MAIL FROM
)或收件人(RCPT TO
)。
为了防止大量使用,smtp_restriction_classes
我正在寻找一种一次性进行此类查找的方法。即
# /etc/postfix/check_noauth_servers
root@bi-server [email protected]
root@bi-server [email protected]
user@reporting [email protected]
是否有可以进行此类查找的解决方案或访问限制?
答案1
你似乎在问两个不相关的问题。
首先,
我们希望授权我们网络中的某些特定服务器无需身份验证即可发送邮件。
通过在 permit_sasl_authenticated 前面放置一个 check_client_access 就可以轻松解决:
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、发送方、接收方)。