it-swarm-ja.com

Postfixを使用すると、認証されていないユーザーがメールを送信できます

cyrus SASL埋め込みを使用するようにPostfixを設定すると、ログインしてメールを送信できますが、認証されていなくてもポート25でTelnetを使用してメールを送信できます。これは、拒否したいのですが。 。

smtp_sasl私のmain.cfの一部:

smtpd_sasl_path = smtpd
smtpd_sasl_type = cyrus
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_sasl_security_options = noanonymous
smtpd_recipient_restrictions = reject_non_fqdn_recipient, reject_non_fqdn_sender, reject_unlisted_recipient, permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, reject_invalid_hostname, reject_unknown_sender_domain, reject_unknown_recipient_domain, reject_rbl_client, sbl-xbl.spamhaus.org, reject_rbl_client, bl.spamcop.net, reject_rbl_client, list.dsbl.org, reject_rbl_client, rbl.mail-abuse.org, reject_rbl_client, spamsources.fabel.dk

完全な構成 ここ

何か忘れましたか?

Telnetログ:

=~=~=~=~=~=~=~=~=~=~=~= PuTTY log 2014.04.20 16:10:32 =~=~=~=~=~=~=~=~=~=~=~=
220 the999ers.eu ESMTP Postfix (Debian/GNU)
ehlo kim-nuernberger.eu
250-the999ers.eu
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]
DATA
250 2.1.5 Ok
354 End data with <CR><LF>.<CR><LF>
Subject: test
This is a test mail
.
250 2.0.0 Ok: queued as B82481DF1CE
quit
221 2.0.0 Bye

これは私のlocalPCからキャプチャされ、ドメインkim-nuernberger.euを介して接続しました。

Postfixログ(/var/log/mail.log)

Apr 20 16:31:37 The999ers postfix/smtpd[16420]: connect from unknown[2a03:4000:2:206::1]
Apr 20 16:31:57 The999ers postfix/smtpd[16420]: 25CED1DF1CE: client=unknown[2a03:4000:2:206::1]
Apr 20 16:32:13 The999ers postfix/cleanup[16425]: 25CED1DF1CE: message-id=<[email protected]>
Apr 20 16:32:13 The999ers postfix/qmgr[16407]: 25CED1DF1CE: from=<[email protected]>, size=385, nrcpt=1 (queue active)
Apr 20 16:32:14 The999ers postfix/smtp[16426]: 25CED1DF1CE: to=<[email protected]>, orig_to=<[email protected]>, relay=mx4.hotmail.com[65.55.37.104]:25, delay=25, delays=23/0.01/0.47/1.1, dsn=2.0.0, status=sent (250  <[email protected]> Queued mail for delivery)
Apr 20 16:32:14 The999ers postfix/qmgr[16407]: 25CED1DF1CE: removed
Apr 20 16:32:14 The999ers postfix/smtpd[16420]: disconnect from unknown[2a03:4000:2:206::1]

注:いくつかの不要な問題を修正した後、ログを更新しました。

1
Kimmax

これは、サーバー(つまり、telnet localhost 25)自体からメールを送信しようとした可能性があり、smtpd_recipient_restrictionspermit_mynetworkspermit_sasl_authenticatedの前にあるため、mynetworkslocalhost(あなたの場合)は認証する必要はありません。制限を再配置して、目的を達成します。

詳細: postfix docs

編集1:

Telnetとpostfixのログをありがとう。 postfixは、mydestinationrelay_domainsvirtual_alias_domainsおよびvirtual_mailbox_domainsで処理するドメインのメールを受信するために認証を必要としません。ユーザーは、認証しない限り、外部ドメイン(つまり、リモートのドメイン、たとえばgmail.com)にrelayすることはできません。これは予想される動作です。

3
clement

たとえば、main.confではなくmaster.confで変更したり、送信時にチェックを追加したりして、電子メールを送信する前にユーザーに認証を強制し、すべてを拒否することができます。

-o smtpd_relay_restrictions=permit_sasl_authenticated,reject

これは4年前のことですが、おそらく新しい人々を助けるでしょう。

3
Hector Vido