認証なしでPostfix SMTP経由でメールを送信できないようにするにはどうすればよいですか

認証なしでPostfix SMTP経由でメールを送信できないようにするにはどうすればよいですか

postfix 2.6.6 と dovecot を使用してメール サーバーをセットアップしました。

main.cf に以下のような認証関連の設定があります:

smtpd_tls_cert_file=/etc/httpd/ssl/mail.crt
smtpd_tls_key_file=/etc/httpd/ssl/mail.key
smtpd_use_tls=yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination

これで、自分のドメイン内外から正常にメールを送受信できるようになりました。

しかし、以下のように telnet を使用してリモートから認証なしで簡単にメールを送信できることが分かりました。つまり、他の誰かが私のドメインに簡単にスパムメールを送信できるということです。

Myhost:~/ z$ telnet mail.example.com 25
Trying 232.96.23.130...
Connected to mail.example.com.
Escape character is '^]'.    
220 mail.example.com ESMTP Postfix
ehlo mail.example.com
250-mail.example.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
mail from:[email protected]
250 2.1.0 Ok
rcpt to: [email protected]
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
subject:how much dust?
fdhjaklf
fdsahjk;
fdajshk
.

250 2.0.0 Ok: queued as 08B2C5883481

Postfix を保護し、他のユーザーが認証なしでメールを送信できないようにするにはどうすればよいですか?

答え1

通常、メール サーバーには 2 つの目的があります。

  1. ユーザーがインターネット上の他のメール サーバーにメールを送信できるようにします。この部分は、必要な手順どおりに実行されました。
  2. サービスを提供するドメインのユーザー宛のメールを受信します。

サーバーを送信メールの送信のみに使用し、受信メールの受信には使用しない場合は、mydestinationmain.cf のパラメータを変更して削除する必要があります$mydomain。これにより、ドメイン宛てのメールは受信されなくなります。詳細については、postfix ドキュメントサイト

ただし、これは、ドメインへの受信メールを受け入れるために別のメール サーバーを設定する必要があることを意味します。そうしないと、受信メールはすべて返送されます。

関連情報