
Postfix サーバーがポート 587 でのみメールを送信し、さらにポート 587 でセキュア認証 (システムの Linux ユーザーを使用) による TLS を有効にするにはどうすればよいでしょうか?
まず、この質問は範囲が広すぎるように思われるかもしれませんが、インターネット上ではこれに対する解決策を 1 つも見つけることができませんでした。多くの記事で解決策は示されていますが、一部が省略されています。
認証を強制し、TLS 接続を強制したい。
誰かに尋ねられたら設定を投稿できます。
よろしくお願いします。私はPostfix初心者です。また、http://www.postfix.org/documentation.htmlですが、それについて教えていただく前に、私はそれを正しく理解することができず、そのため、設定を台無しにして、サーバーを使用できなくしてしまうことは間違いありません。また、ここでの postfix は apt パッケージ マネージャーを使用してインストールされました。しかし、これは特に ubuntu に関連しているわけではないと思います。私は postfix を使用する前は Exim4 を使用していましたが、Exim のサポートはほとんどなく、ほとんどの人が cPanel で使用しているため、バニラ Exim サポートは得られません。
サーバーのセキュリティが危険にさらされているため、緊急の支援が必要です。
答え1
ポート587を有効にするには、ファイルを編集しますマスター
vi /etc/postfix/master.cf
行の先頭の # を削除します (行のコメントを解除します)。
#submission inet n - n - - smtpd
次のようになります:
submission inet n - n - - smtpd
この行の直後に SASL 認証を有効にする追加の行のコメントを解除することもできます。新しい行はそれぞれスペースで始まる必要があります。
-o syslog_name=postfix/submission
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
その他の設定は、/etc/postfix/main.cf環境に応じて異なります。
さらに、TLS 設定を構成する必要がある場合があります。
# TLS parameters
# you need to specify a real certificate location
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert.key
smtpd_use_tls=yes
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
smtp_tls_session_cache_database = btree:$data_directory/smtp_tls_session_cache
smtpd_sasl_tls_security_options=noanonymous
smtpd_tls_auth_only=yes
メールの受信に dovecot を使用するかどうかに応じて、以下を追加する必要があります。
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/dovecot-auth
broken_sasl_auth_clients=yes
追加のセキュリティ制限:
smtpd_relay_restrictions=permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination
smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject_non_fqdn_helo_hostname,reject_non_fqdn_sender,reject_unknown_sender_domain,reject_non_fqdn_recipient,reject_unknown_recipient_domain
postfixを確認して再起動します:
postfix check
systemctl restart postfix
postfix がポート 25 と 587 の両方でリッスンしていることを確認できます。
netstat -na | grep LISTEN | grep 25
netstat -na | grep LISTEN | grep 587
ファイアウォールでポート 587 を許可することを忘れないでください。
postfixユーザーの作成は別の話です。コメントで述べたように、メールボックス(メールユーザー)を保存するにはSQLを使用する必要があります。そうしたくない場合は、Linuxユーザーを使用できます。詳細は以下に記載されています。ここ。
PS: 完全な構成をここで提供することは現実的ではないと思います。特定のケースの要件と環境に大きく依存するからです。
答え2
これにより、安全な接続のみが許可されます。
smtpd_tls_auth_only = yes
次に、その他の必要なオプションがあります。
smtpd_tls_security_level = may
smtp_sasl_auth_enable = yes
smtp_use_tls = yes
587 を使用するには、master.cf を編集し、次の行のコメントを解除します。
submission inet n - n - - smtpd
再起動の接尾辞。