web-dev-qa-db-ja.com

Postfix:認証されていない受信メールを許可しますが、認証された送信メールのみを許可しますか?

私はメールサーバーの世界に不慣れで、Ubuntu11.10のPostfixを介して自分のセットアップに取り組んでいます。これまでのところ、TLSを介してSASL認証が機能しているので、それは良いことです。私は今セキュリティについて心配しています。

つまり、Postfixに認証されていないすべての受信メールを受け入れさせたいのですが、認証された送信メールのみを許可します。これはまた、ポート465と587でSTARTTLSとTLSをサポートしているかどうか疑問に思いますが、それでもポート25でリッスンする必要がありますか? 25が閉じている場合、メールサーバーはポート587でメールを配信しようとしますか?

しかし、認証されていない着信を許可するが、認証された発信のみを許可することに戻って、追加してみました

-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject

master.cfファイルのsmtp行に移動しますが、認証されていない受信メールをブロックします。ポート25での着信のみを許可し、ポート465/587を発信専用のままにする方法はありますか?

何がうまくいくかはわかりませんが、必要に応じて残りの設定を投稿できます。私はこれらすべてに不慣れであり、それはまだ混乱しているので、どんな助けでも大歓迎です。ありがとうございました!

3
shanet

master.cfのオプションを適用して、ポートごとにmain.cfのオプションをオーバーライドすることを理解しました。

目標を達成するには、制限をsmtpd_recipient_restrictionsではなくsmtpd_client_restrictionsとして設定します。重要なのは、rejectだけでなくreject_unauth_destinationです。

mydestination = aardvark.com, acme.com 
smtpd_recipient_restrictions = permit_sasl_authenticated,reject_unauth_destination

これにより、認証されていないクライアントが、責任のないドメインに送信するのを防ぎます。このコンテキストでは、あなたが担当するドメインは単なるmydestination以上のものです。マニュアルの reject_unauth_destination を参照してください。

4
Philip Couling

私はこれを解決するために何時間も探していました、そしてあなたの答えはスポットオンクーリングです。

詳細については、これはPlesk/CentOSを使用している場合にも機能します(私の状況)。特にPleskを使用する場合、値permit_mynetworksもデフォルトでsmtpd_recipient_restrictions変数に追加され、すべてのPleskドメインが認証なしでSMTPメールを送信できるようになります。

参照: http://forum.parallels.com/showthread.php?296391-Plesk-domains-can-submit-emails-through-unauthenticated-SMTP

また、セキュリティ上の理由からmain.cfに追加されました(興味のある人のために。

smtpd_client_connection_count_limit = 20
smtpd_sasl_authenticated_header = yes
maximal_queue_lifetime = 1d
0
user204566