送信者と受信者を同時にチェックするPostfix check_*_accessクラス

送信者と受信者を同時にチェックするPostfix check_*_accessクラス

ネットワークの特定のサーバーに認証なしでメールを送信する権限を与えたいと考えています。これはわかっており、check_sender_access送信者 ( ) または受信者 ( )check_recipient_accessをテストできます。MAIL FROMRCPT TO

の過度の使用を防ぐために、smtp_restriction_classes一度にそのような検索を行う方法を探しています。つまり

# /etc/postfix/check_noauth_servers
root@bi-server     [email protected]
root@bi-server     [email protected]
user@reporting     [email protected]

このような検索を実行できるソリューションまたはアクセス制限はありますか?

答え1

無関係な質問を2つしているようです。

最初、

ネットワーク上の特定のサーバーに認証なしでメールを送信する権限を与えたいと考えています。

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
  • しかし、質問の 2 番目の部分では、送信者アクセス マップと受信者アクセス マップの両方について同時に言及しているようです。

まさにこれが次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

アクセス チェックを適用する順序は任意です。

より複雑なルール(送信者と受信者を1つのチェックにまとめるなど)が必要な場合は、転送、Postfix ファイアウォール デーモン。

これにより、ポリシー サーバー (check_policy_service) として適用される、iptables のような複雑なルールが可能になります。ポリシー サービスの利点は、すべての pre-DATA パラメーター (クライアント、helo、送信者、受信者) に一度にアクセスできることです。

関連情報