■Greet PauseでSPAM対策
スパムメール対策のひとつとして、Greet pause があります。
この機能は、Sendmail 8.13.xxから実装されました。
通常メールサーバーへ接続しコネクションを確立した後、以下のようなメッセージが返ってきます。
220 220 honyarara.com ESMTP Sendmail 8.13.1/8.13.1; Sat, 7 Apr 2007 09:47:43 +090
このメッセージを受信後に 「helo xxxx.com」等のコマンドを入力していきます。
しかし、世の中にはそんな手順を無視してガンガンコマンドを送りつけてくるボットがいます。
そんな輩の特徴を利用してやっつける為の機能です
【概要】
メールサーバーと接続を確立後、上記のようなメッセージを返すまでの待ち時間を発生させます。
行儀のよい、正規なサーバーはメッセージが返ってくるまで待ってますが行儀の悪いボット達はお構いなしにコマンドを送りつけてきます。
それを検知し接続を拒絶します。
【残念ながらすり抜けてしまうボット達】
・直接接続ではなく、不正中継して送られてきたスパムメール
・行儀が良いフリをしているボット
sendmailのmcファイルに以下の行を追加(引数は待ち時間[ms])
※MAILER(***)dnl より、前に記述する。
FEATURE(`greet_pause',`5000')dnl
#m4 sendmail.mc > sendmail.cf
★リストにあるものは待ち時間を設定しないようにする
/etc/access に以下のように記述します
GreetPause:hogehoge.net 0
GreetPause:172.20.1 0
#makemap hash access < access
・sendmailの再起動
#/etc/init.d/sendmail restart
実際にtelnetして、待ち時間が発生すれば成功です。