/etc/hosts.allow に UNKNOWN を追加して逆引きできないホストからの接続を拒否する・・・という設定でしばらく運用してみたが、幾ばくかの成果はあげることができたものの「may be forged」なホストからの接続は許してしまう。sendmail自体は「may be forged」と認識しているわけで、それ自体を拒否できればだいぶ違うのではないか・・・
/etc/hosts.allow では、PARANOID という設定もできることから、これを使えば逆引きできるが正引きできないホストを拒否できるのではないかと考えたのだが、やってみたらスカスカなのだ。PARANOIDでは正逆どちらも引けて、かつそれらの解が異なる場合のみマッチするのではなかろうか。これに引っかかる spam はどうも無いようである。
そうなると、やはりそれなりの sendmail.cf を生成してやらなければならない。他力本願でネット検索したところ、ハートコンピュータのサイトで ビンゴな設定 が紹介されていた。
cd /usr/src/etc/sendmail ee freebsd.mc ← 件の設定を最後尾にペースト make ← freebsd.cf が生成される cd /etc/mail mv sendmail.cf sendmail.cf.orig cp /usr/src/etc/sendmail/freebsd.cf ./sendmail.cf /bin/sh /etc/rc.sendmail restart
追加設定したcfファイルで sendmailを再起動すると、unknownなホストに加えて「may be forged」なホストも拒否してくれるようになる。/etc/hosts.allow のほうに設定したUNKNOWNの設定は、この追加設定とダブってしまうので外してしまうのがいいだろう。
しかし、こういう設定で拒否したメイルが善意の送信者によるものである可能性と、そして、ここまで拒否してもすり抜けてくるspam は 依然として残っているわけで・・・・・(-_-;) ちなみに、現時点でのspam数は、拒否設定していなかったときの半分弱程度になっている(・・にしかなっていない)。