結局副作用の大きかったantibadmailを諦め、ベイジアンフィルタだけに頼っていたSPAM対策ですが、ちょっと前から気になっていたS25R(Selective SMTP Rejection)と言う方式を試してみました。

S25R(Selective SMTP Rejection)

を実装して自社ドメイン宛のメイルだけMXを振り向けテスト中です。

結果から先に言うとホワイトリストのメンテナンスは面倒ですが、SPAMをブロックするのに非常に効果が高く満足しています。以前に試したantibadmailより良さそうです。 ゴミメイルとウィルス・ワーム付きメイルが激減!

インストールは以下のパッチをqmailにあてます。

qmail用パッチ

これを qmail-s25r.patchとして保存しておいてから

cp -pR /var/qmail/control /var/qmail/control.org

cd /usr/local/src/qmail-1.03
make clean

patch -s -p1 < qmail-s25r.patch
make
make man
/var/qmail/rc stop でqmailを停めて

make setup
make check

でインストールしておしまい。

肝は
/var/qmail/control/goodremotehost (ホワイトリスト)
/var/qmail/control/badremotehost (ブラックリスト)

の設定。

# cat goodremotehost

# *** WHITE LIST ***
# Last update: Jul 13, 2005
# (*): reported by a contributor
#
# *********************
# ** Mail exchangers **
# *********************
#
# May 26, 2005: bay-w1-inf5.verisign.net, benicia-w2-inf30.verisign.net (*)
\.verisign\.net$
#
# Nov 29, 2004: cpsexchange.cpstrategy.com (*)
^65\.201\.25\.2$
#
# Nov 29, 2004: lrmail01.lawroom.com (*)
^63-199-151-170\.ded\.pacbell\.net$
#
# Nov 29, 2004: mail.mfactory.tv (*)
^203\.112\.13\.213$
#
# Nov 29, www.stoc.co.jp (*)
^252\.218\.244\.43\.ap\.yournet\.ne\.jp$
#
# Nov 29, 2004: mail.ubix.co.jp (*)
^61\.197\.233\.59$
#
# Nov 28, 2004: mail.ebenkei.com (*)
^209\.196\.41\.185$
#
# Nov 24, 2004: www.akibare.net (*)
^61\.202\.159\.66$
#
# Nov 24, 2004: mx.zentek.com.sg (*)
^202\.157\.139\.50$
#
# Nov 24, 2004: wserver.alliance.co.jp (*)
^210-172-21-218\.cust\.bit-drive\.ne\.jp$
#
# Nov 24, 2004: mail1.55192.com (*)
^202\.177\.193\.203$
#
# Nov 22, 2004: mx1.zentek.com (*)
^h-67-102-70-3\.snfccasy\.covad\.net$
#
# Nov 15, 2004: cs1mr1.comsourceone.com, etc.
\.comsourceone\.com$
#
# Oct 04, 2004: mail.entrend.net
^202\.222\.18\.17$
#
# Oct 04, 2004: mail.daha.co.jp
^pee4b38\.tokyff01\.ap\.so-net\.ne\.jp$
#
# Jun 06, 2005: MX of moonbeach.co.jp has changed.
# Sep 06, 2004: mail.moonbeach.co.jp
#^61\.199\.212\.138$
#
# Feb 09, 2005: Reverse lookup problem has been solved.
# Jul 21, 2004: nedomao.nedo.go.jp
#^202\.232\.182\.85$
#
# ****************************
# ** User mail transmitters **
# ****************************
#
# Jul 13, 2005: imt1omta04-s0.ezweb.ne.jp, etc. (*)
\.ezweb\.ne\.jp$
#
# Jul 11, 2005: kddi-tech.com's
^210\.174\.65\.136$
#
# Jun 29, 2005: zns001-0m9001.yokogawa.co.jp, etc.
\.yokogawa\.co\.jp$
#
# Jun 07, 2005: toshiba-pro.co.jp's
^211\.14\.137\.62$
#
# Jun 01, 2005: carrot.nri.com
^64\.140\.94\.94$
#
# May 13, 2005: ex02-mal000.nils.go.jp
\.nils\.go\.jp$
#
# Nov 29, 2004: web10306.mail.mci.yahoo.co.jp (*)
^web[0-9]+\.mail\.mci\.yahoo\.co\.jp$
#
# Nov 29, 2004: tgmsmttk01sc1.t.vodafone.ne.jp, etc. (*)
\.vodafone\.ne\.jp$
#
# Nov 29, 2004: n-seikahouso.co.jp's (*)
^61\.127\.31\.147$
#
# Nov 29, 2004: rohhc.com's (*)
^h216\.70\.22\.140\.superiorbroadband\.com$
#
# Nov 25, 2004: mta12.m2.home.ne.jp, etc.
\.m2\.home\.ne\.jp$
#
# Nov 23, 2004: c151240.vh.plala.or.jp (*)
\.vh\.plala\.or\.jp$
#
# Aug 16, 2004: web61203.mail.yahoo.com
^web[0-9]+\.mail\.yahoo\.com$
#
# Apr 26, 2004: h04-a1.data-hotel.net, etc.
\.data-hotel\.net$
#
# Mar 08, 2004: mc1-s3.bay6.hotmail.com, etc.
\.bay[0-9]+\.hotmail\.com$
#
# ************************************
# ** Confirmation mail transmitters **
# ************************************
#
# Nov 24, 2004: ticketmaster.com's vg2.irp3.ntf.lax1.tmcs.net (*)
\.tmcs\.net$
#
# Nov 23, 2004: ausc60ps301.us.dell.com (*)
\.dell\.com$
#
# Jun 06, 2004: iad-fw-global.amazon.com
^207\.171\.(167\.25|172\.6)$
#
# *********************************************************
# ** Customer support mail or mail magazine transmitters **
# *********************************************************
#
# Dec 08, 2004: megasoft.co.jp's
^219\.163\.0\.34$
#
# Nov 25, 2004: penlug.org's rdns.162.240.218.216.fre.communitycolo.net (*)
\.communitycolo\.net$
#
# Nov 24, 2004: ebpass.com's 69.64.193.170.nyc.electricfiber.net, etc. (*)
\.nyc\.electricfiber\.net$
#
# Nov 24, 2004: melma.com's 203.174.78.145, etc. (*)
^203\.174\.78\.[0-9]+$
#
# Nov 24, 2004: esampo.com's (*)
^61\.120\.197\.250$
#
# Oct 28, 2004: 207-171-180-101.amazon.com
\.amazon\.com$
#
# Jun 10, 2004: megasoft.co.jp's
^usen-221x115x158x242\.ap-US01\.usen\.ad\.jp$
#
# Apr 17, 2004: info-ntt.co.jp's
^ps23\.suite2\.arena\.ne\.jp$
#
# Apr 07, 2004: henrietta.ekiworld.net
^210\.146\.189\.76$
#
# Feb 24, 2004: pioneer.co.jp's
^usen-221x115x147x174\.ap-US01\.usen\.ad\.jp$


# cat badremotehost

^[^\.]*[0-9][^0-9\.]+[0-9]
^[^\.]*[0-9]{5}
^([^\.]+\.)?[0-9][^\.]*\.[^\.]+\..+\.[a-z]
^[^\.]*[0-9]\.[^\.]*[0-9]-[0-9]
^[^\.]*[0-9]\.[^\.]*[0-9]\.[^\.]+\..+\.
^(dhcp|dialup|ppp|adsl)[^\.]*[0-9]
# IP address due to no FQDN
[0-9]$

でOK。

次に
/var/qmail/rc の中でqmailの起動スクリプトをチェック。

/usr/local/bin/tcpserver -R -H -x /etc/tcp.smtp.cdb -v \
-u 1003 -g 1002 0 smtp \

となっていたら

/usr/local/bin/tcpserver -R -h -x /etc/tcp.smtp.cdb -v \
-u 1003 -g 1002 0 smtp \

とHをhに変更。これでSMTPセッションを張ってくるホストの逆引きをすることに
なります。(逆引き出来なきゃ評価できない。あたりまえ。)

これでおしまい。
/var/qmail/rc start
で起動し

tail -f /var/log/all.log
で監視してみます。badremotehostとして蹴られている様がよく分かります。

なおこれを監視して無実の罪のホストを発見してホワイトリストに追加する作業が始まる訳です。


# cat /var/log/all.log | grep qmail-smtpd > badremotehost.txt
みたいにしてbadremotehost.txtに毎日目を光らせることになります。

実はこれが大変・・・でも、非常に効果が高いので手放せそうにありません。