問題は次のとおりです。メールサーバーに属していないIPアドレスから:
telnet me.myemailserver.com 25
helo me.someserver.com
mail from: <[email protected]>
rcpt to: <[email protected]>
data
This is spam. Buy my stuff.
.
Postfixを使用しています。 mydomain.comからのものであると主張する電子メールにSMTP-AUTHを要求するための解決策を見つけるのに問題があります。
ぐるぐる回って、この男は同じ問題を特定しました(私がいくつかの変更を加えてカットアンドペーストした場合)上記の例から: http://www.smartertools.com/forums/t/13182.aspx ==
このリンク http://marc.info/?l=postfix-users&m=122814832915131&w=2 解決策に近づきますが、mydomain.comからではないメールにSMTP-AUTHが必要になるという副作用があります。 mydomain.comからのものであると主張していないメールの場合、通常のRBLおよびスパムフィルタリングを実行します。
つまり、ローカルドメイン(mydomain.com)からのものであると主張する外部/認証されていないクライアントからローカルドメイン(mydomain.com)へのメールを拒否したいと思います。
これが私が試したものです。デフォルトとして許可と拒否の両方を試しました。これが私のmain.cfからの正確な抜粋です:
smtpd_recipient_restrictions = reject_unauth_pipelining,
permit_sasl_authenticated,
check_recipient_access pgsql:/etc/postfix/pgsql-recipient.cf,
reject_unauthenticated_sender_login_mismatch,
reject_unauth_destination,
reject_unlisted_recipient,
check_sender_access pgsql:/etc/postfix/pgsql-sender.cf,
reject_unlisted_sender,
reject_invalid_hostname,
reject_non_fqdn_hostname,
reject_non_fqdn_sender,
reject_non_fqdn_recipient,
reject_unknown_sender_domain,
reject_unknown_recipient_domain,
reject_rbl_client cbl.abuseat.org,
reject_rbl_client sbl.spamhaus.org,
reject_rbl_client sbl-xbl.spamhaus.org,
reject_rbl_client bl.spamcop.net,
reject_rbl_client dnsbl.njabl.org,
reject_rbl_client blackholes.wirehub.net,
reject_rbl_client relays.mail-abuse.org,
reject_rbl_client dialups.mail-abuse.org,
reject_rbl_client blackholes.mail-abuse.org,
reject_rhsbl_sender dsn.rfc-ignorant.org,
(reject and permit both tried here)
私はこのようなことを試みます:
/etc/postfix/main.cf:
smtpd_sender_restrictions = permit_mynetworks、 permit_sasl_authenticated、 check_sender_access hash:/ etc/postfix/access_table、 ...、 許可
/etc/postfix/access_table:
mydomain.com拒否あなたは私ではありません!
理論はこれです:
すでに認証されている場合は、permit_sasl_authenticated
ルールをトリガーし、通過を許可します。認証されていない場合は、check_sender_access
ルールに準拠します。送信者ドメインが「mydomain.com」と一致する場合、送信者は拒否されます。 (したがって、認証されていない+ MAIL FROM "mydomain.com" =拒否します。)他のドメインの場合は、残りのルールに進みます。
注:これはテストされていません。実稼働システムで試す前に、そのwarn_if_reject
ルールの前にcheck_sender_access
を貼り付けます。
MySQLの認証データを使用してDovecotでpostfixを使用しているサーバーで、main.cfで次のことを行いました。
smtpd_recipient_restrictions = permit_mynetworks、permit_sasl_authenticated、reject_unauth_destination、reject