親会社のスタッフの一人が退職され、ホームページに公開しているアドレスの管理が僕に回ってきました。
まぁよくある info@****.com を複数の人間に転送しとこうみたいな感じです
親会社のスタッフの一人が退職され、ホームページに公開しているアドレスの管理が僕に回ってきました。
まぁよくある info@****.com を複数の人間に転送しとこうみたいな感じです
で、今月から転送されてきたメールを受け取ってるんですが・・・
スパム多すぎるんじゃぼけ〜〜!!!
やー、公開してるとこんなに来るもんですか。
僕はメーラーにThunderbirdを使用してまして、ThunderbirdのSpamフィルターは優秀なんですが、
それでも意外に海外のメールとかがスルーされてしまう。
朝来て大体500〜800ぐらメール受信して、そのうちの9割はThunderbirdがスパム判定してくれるけど、
残りの1割のうちの8割はやっぱりスパム。
これは朝からしんどいということでサーバー側でフィルターをかけるようにしました。
目指せスパム撲滅。
サーバーはCentOSでPostfixを使っていたので
↑上記のような非常に優秀なサイトを参考にシコシコとインストール。
Clam AntiVirus というのはウイルス判定ソフトで、
amavisd-new というのがメールのヘッダー判定ソフトで
SpamAssassin というのがスパム判定ソフトのようです。
でインストールまでは問題なくでき、一見完了しているかに見えるんですが、
スパム判定がうまくいかない。
届くメールのヘッダーには
X-Virus-Scanned: amavisd-new
と追加され、amavisdを経由しているのはわかるんですが、
スパム判定されたときに***SPAM***と件名についていない。
本来だと.Spam というディレクトリに転送されるはずが
(今回はThunderbirdの仕様に合わせたので.Junkというディレクトリ)
これもうまく転送されていない。
2日ほど悩んで気づきました。
まずひとつは、上記のサイトはドメインが一つで運営されたサーバーだということ。
/etc/amavisd/amavisd.conf
の$mydomainあたりを複数ドメインに指定してやらなければいけないわけです。
もう一つが
/etc/procmailrc
の設定。
参考サイトでは procmail をつかってメールの振り分けをしているんですが、
どうもバーチャルドメイン環境では優先順位が違う様子。
具体的にいうと
/etc/postfix/main.cf
の
mailbox_command = /usr/bin/procmail
より、
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
のほうが優先されて先に振り分けられてしまうみたい。
これは困った問ことで、色々考えた結果、
最後はスパム判定をamavisd-newにさせてしまおうという結論に。
http://drupal.395963.com/node/84
↑このへんを参考に
/etc/amavisd/amavisd.conf
の
#@bypass_spam_checks_maps = (1); をコメントすると、amavisd-new がスパム判定をします。 ただ、このままではスパム判定が厳しいので、 http://www.imc.cce.i.kyoto-u.ac.jp/~umehara/misc/comp/20060506.html ↑このへんを参考に
$sa_tag_level_deflt = 7.0; # ヘッダにスパムの情報を加える
$sa_tag2_level_deflt = 15.0; # スパムであると判定する
$sa_kill_level_deflt = 15.0; # スパムを宛先に通知しアーカイブを保存する
$sa_dsn_cutoff_level = 20.0; # スパムを宛先に通知しない
としました。
後は
/etc/init.d/amavisd restart
と再起動して、
/var/log/maillog を確認してみると・・・
cat /var/log/maillog | grep 'Blocked SPAM'
Apr 15 12:28:13 itm*** amavis[19406]: (19406-10) Blocked SPAM, [211.0.63.57] [83.110.***.***] <dmiraau@acculab.com> -> <***@itm.***.jp>, Message-ID: <20b11f64x22-62628552-869t5z88@ydbphhjw>, mail_id: xhBvrdNQhwEH, Hits: 66.678, 4294 ms
というようにはじいていることがわかります。
この
Hits: 66.678,
というのがスパムポイントですね。
ちなみにprocmailに判定を任せて
#@bypass_spam_checks_maps = (1);
↑のコメントを外すと
Apr 15 11:56:47 flagsystem amavis[25098]: (25098-14) Passed CLEAN, [182.48.***.***] [182.48.***.***] <"info@itm-asp.***,system"@itm.ne.jp> -> <contact@flagsystem.***.***>, Message-ID: <20110415025647.26321.qmail@itm-asp.com>, mail_id: mIFpWCQKbSFA, Hits: -, size: 5934, queued_as: 868802961A8, 160 ms
みたいな感じになって、
Hits: -,
と判定されてません。
その後
Apr 15 11:57:00 flagsystem postfix/local[27760]: 868802961A8: to=<contact@flagsystem.***.***>, relay=local, delay=13, delays=0.01/0/0/13, dsn=2.0.0, status=sent (delivered to command: /usr/bin/procmail)
と
delivered to command: /usr/bin/procmail
とprocmailに判定を任せてたlogが残ります。
やー。
やっとなんとなく理解できた。
ちなみにどんなメールを弾いてるか
cat /var/log/maillog | grep 'Blocked SPAM'
で確認してみると・・・・・
Apr 15 10:12:26 itm-*** amavis[17937]: (17937-01) Blocked SPAM, [211.133.130.147] [***.***.***.***] <mmz-79hc=65125560683147=2jjvbvx=453=***=***.ne.jp@magerr.combzmail.jp> -> <***@***.ne.jp>, Message-ID: <20110415011222.7551.qmail@r1339.ps.combzmail.jp>, mail_id: npcKVwVbSEm6, Hits: 35.976, 3797 ms
でた!コンビーズメール
Hits: 35.976
はちょっと高杉じゃないでしょうか。
大手メルマガ配信スタンドなのに。届かないとかスパムだとか苦情が多いのもわかる気がします。
ちょっと驚いたのがこれ
Apr 15 11:26:28 itm-*** amavis[18691]: (18691-10) Blocked SPAM, [203.174.74.38] [***.***.***.***] <mailman-bounces@ml.postgresql.jp> -> <***@***.ne.jp>, Message-ID: <20110415022619.1461775E5F8@ml.postgresql.jp>, mail_id: gQzGXn79Ib1l, Hits: 74.753, 2488 ms
PostgreSQLユーザー会のメーリングリスト本家じゃないか!
Hits: 74.753
と高すぎです。
たのんます。本家さん。
とりあえず救済リストにいれてスパム判定しないようにしました。
そんな感じでスパム対策も一段落
また時間があったら続きかきます。
この記事をシェアする