postfix + taRgrey での spam 対策とその効果
Posted by yoosee on Web at 2007-02-19 22:00 JST1 taRgrey - S25R + tarpitting + greylisting
以前 postfix + Rgrey での spam 対策 で参考にさせてもらった Rgrey の stealthinu さんが、postgrey の greylist に tarpitting を追加した物を公開したと、以前メールで教えていただいた。taRgreyとは、メールサーバ上でスパムやウイルスメールを排除するためのフィルタの手法で、 S25Rとtarpittingとgreylistingというスパム判定手法を組み合わせて使うというものです。大分前に導入しているのだが、しばらく利用しての効果をまとめておく。
S25Rにより、動的IPっぽいFQDNからの接続からは怪しいと判断し、tarpitting(応答の遅延)を行います。tarpittingを待ちきれずに送信元が接続を切った後、再度送ってきた場合にはgreylisting(再送のチェック)により救済します。S25Rとtarpittingとgreylistingと、全てのフィルタを抜けれなかったものだけがスパムとして排除されます。taRgrey - S25R + tarpitting + greylisting
Debian には postgrey パッケージがあるのでこちらの導入は簡単なのだが、targrey を使うためには postgrey に patch を当て、設定を変更する必要がある。導入手順は元サイトを参照してほしいが、流れは概ね以下の通り。
- postgrey に patch を当てる
- /etc/default/postgrey の POSTGREY_OPTS に tarpit, targrey 等の設定を追加
- /etc/postfix/permit_client_nots25r を追加
- /etc/postfix/main.cf を編集
taRgrey では tarpit で失敗した分を greylist で救う形 (tarpitting || greylist) になるため、greylist や tarpitting 単体よりは条件が多少緩くなる。その分 false positive は経るだろうが false negative が増えるかもしれない。逆に厳しくしたいのならば、条件を (tarpitting && greylist) にすればよい。
2 taRgrey の効果
1月16〜31日の約2週間の効果を以下に記す。postgrey のオプションは taRgrey で推奨されている --tarpit=65 --targrey --delay=1200 --retry-count=2 をそのまま用いている。処理 | 処理数 | 残通数 |
---|---|---|
SMTP総コネクション数 | 79,863 | 79,863 |
header_checks での添付(.pif .scr)DISCARD | 4,026 | 75,837 |
HELO Blacklist/Rule によるREJECT | 5,988 | 70,349 |
S25RにマッチしてのWARN | 63,940 | 5,909 |
→ RCPT Blacklist によるREJECT | 15 | |
→ その他ルールによるREJECT | 10,046 | |
→ tarpitting での lost connection | 16,511 | |
→ Gleylisted による REJECT | 32,882 | |
taRgrey通過通数 | 8,109 |
当サーバでは、taRgrey を抜けたメールはその後、Amavis-new + ClamAV によるフィルタを通過する。
AmavisでのBAN/BADH | 2,144 | |
Amavis通過通数 | 5,965 |
最終的に各ユーザに落ちる際に、更に Procmail、SpamAssassin によるフィルタが適用される。
MAILER-DAEMONなど定型フィルタ | 1,355 | |
SpamAssassinでのフィルタ | 3,787 | |
最終的なメール数 | 823 |
単純に効果のほどを考えると、Debian では patch などがいらない postgrey での Rgrey だけでも十分かもしれない。もちろん taRgrey (tarpit || greylist) で false positive を減らしたい場合や、(tarpit && greylist) として厳しく受け付けたい場合などには、この組み合わせは有効だろう。
導入後の効果を算出したいと思いますので、情報を公開してもらえるとありがたいです。