事務所内のサーバーからAWSに移転してきて、どういうわけか、spamがものすごく増えました。原因は社会的にspamが増えただけなのかもしれませんが、現状postfix側でできる対策をとりました。
逆引きできないipアドレスからの接続を拒否する
reject_unknown_client
AWSでmailサーバーを構築するにあたり、Elastic IPに逆引き DNS ドメイン名を設定しましたが、現状逆引きできるようにするのが、マストなルールです。
にもかかわらず、逆引きできないようなメールサーバーからメールを送り付けれくるようなサーバーは無視しても構わない思いました。
一部のpostfixの構築ノウハウを紹介しているページでは、わずかにメールが届かなくなる可能性があるので、設定しないほうがいいとありましたが、弊社のサーバーを利用しているユーザーは限定的ですし、国内オンリーですから、問題ありません。
それに、AWSですから逆引きの速度はかなり高いと思います。時間が遅れて逆引きし損なうこともないと思いました。
それと、届かないケースとして紹介されている、ケーブルテレビ会社のメールなどが逆引きできないようです。ですが、そんな個人とのやり取りの可能性はありませんし、spamのほうが邪魔で仕事に支障があります。割り切りました。
ブラックリストの利用
reject_rbl_client
もう一つは、PBL(The Policy Block List)の利用です。いわゆる不正サーバーのIPアドレスのブラックリストです。whoisでアドレスを公開しているので、世界中に私のアドレスは知られていて、spamが送られてきます。
なので、PBLを利用すると英語版のspamをリジェクトしてくれる割合が高まりそうで、利用することにしました。
ただ、ネット上で紹介されているサービスサイトは閉鎖しているものもあり、それを適用していると意味がないので、実際に接続できたspamcop.netとspamhaus.orgを指定しました。
spamcop.netに関しては、https://www.spamcop.net/fom-serve/cache/349.htmlにてpostfixの設定方法が紹介されていました。
smtpd_recipient_restrictions = reject_invalid_hostname, reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unknown_sender_domain, reject_unknown_recipient_domain, reject_unauth_pipelining, permit_mynetworks, reject_unauth_destination, reject_rbl_client bl.spamcop.net permit
以下、パラメーターの内容を紹介しておきます。postfix設定パラメータからの抜粋です。
- reject_invalid_hostname:ホスト名が不正なホストの接続を拒否。
- reject_non_fqdn_sender:送信元のアドレスがFQDN形式でない場合の接続を拒否。
- reject_non_fqdn_recipient:完全修飾ドメイン形式ではない接続を拒否。
- reject_unknown_sender_domain:MAIL FROM アドレスにDNS AまたはMXレコードがなく、Postfixがその 送信者アドレスの最終配送先ではない接続を拒否。
- reject_unknown_recipient_domain:RCPT TO アドレスにDNS AまたはMXレコードがなく、Postfixがその 受信者アドレスの最終配送先ではない場合に接続を拒否。
- reject_unauth_pipelining:前もってコマンドを送ることが許されない場所でクライアントがSMTP コマンドを送ったり、Postfixが実際にESMTPコマンドパイプラインを サポートしているかどうかを知らずにクライアントがSMTPコマンドを 送った場合に接続を要求。
この設定だとかなり強力じゃないでしょうか。でも、reject_unknown_clientがないんですよね。少し心配になりますが、今回はreject_unknown_clientとreject_rbl_clientでbl.spamcop.netを追加しました。
また、spamhaus.orgもサイトに繋がりますから、zen.spamhaus.org追加しました。結局設定は以下のようにしました。
smtpd_client_restrictions = permit_mynetworks, reject_unknown_client, reject_rbl_client bl.spamcop.net, reject_rbl_client zen.spamhaus.org, permit
この設定で、しばらく様子を見てみようかと思いますが、この記事を書いている間、実は1件もspamが届いていないのです。もしかすると良い対策になったかも?!
明日の朝、また様子を見て追記します。
以上です。
ピンバック: spam対策:postfixでreject_unknown_clientとreject_rbl_clientを追加してみた→効果覿面 - Hashimoto advirtising Office