スパム対策、Qgrey導入

複数の顧客のドメインが入ったサーバーを管理しているのですが、
今朝、メールが遅延するとの連絡が入りました。
「見切りを付けて定時に帰れるようにするには」を読んで今日は定時で帰ろうと思っていたのに...
出鼻をくじかれた...

どうやら、スパムの影響でキューがたまっているのが原因のようです。
以前もメールキューがたまる件で悩まされましたが、
その時は実在しないメールアドレス(@マークの前が適当なアドレス)に大量のメールが送られてくる、
いわゆるディクショナリアタックが原因のようだったのでvalidrcptto.cdb PatchIEだとなぜか見れません)を導入したところ改善されました。
それから数ヶ月は穏やかな日々を送っていたのですが、
先週くらいから「メールが遅延するよ」との声を聞くようになったのです。
がっくし...orz
しかも今回は実在するアドレスに大量のメールが送信ているようでした。
どうしよー
と思っていたらQgreyというものを発見!

入れてみました。

Qgreyとは

Qgreyは、qmailというメールサーバ上でスパムやウイルスメールを排除するためのフィルタです。
S25Rという接続元のFQDNパターンから接続を拒否する方式と、greylistingという再送要求を出す方式を組み合わせた、Rgreyという方式のqmail版です。
qgreylist - simple greylisting for qmailにパッチを当てる形になっています。

Qgreyを導入するメリットの詳細ははQgreyの元であるRgreyの説明をご覧ください。
http://k2net.hakuba.jp/rgrey/

インストール&設定

インストール方法は以下を参照
http://www.guns-maniacs.jp/archives/4/index.php


このままだとログが出力されないようなの変更が必要です。
use Sys::Syslog;
となっている部分をコメントアウトし以下を追加すると良いそうです。
use Sys::Syslog qw(:DEFAULT setlogsock);
setlogsock('unix');
上記は以下の参考にしました。
http://blog.itoh-solution.com/archives/50019541.html


正しく動作していれば以下のようなログが出力されます。
私の環境では/var/log/maillogに出力されました。

Oct 31 16:56:24 **** greylist[6132]: No match S25R pattern
Oct 31 16:56:26 **** greylist[6153]: IP xxx.xxx.xxx.xxx new - temp error
Oct 31 16:56:27 **** greylist[6153]: SMTP: HELO: 250 hello
Oct 31 16:56:28 **** greylist[6153]: SMTP: MAIL: 250 Mail from hoge@hogehoge.hoge
Oct 31 16:56:29 **** greylist[6153]: SMTP: RCPT: 450 Rcpt to fuga@fugafuga.fuga - Temporary local problem - try later

結果

今までメールキューにたまっていた数は
平均:200くらい
最大:4000くらい
でしたがQgreyを入れてからは(まだ数時間しかたっていないのですが)
平均:10くらいにおさまっています。
まだ様子を見る必要はあると思いますがひとまずQgreyの効果は大きいと判断しても良いのではないでしょうか。

また変化があれば報告します。