Clam AntiVirusとSpamAssassinを使用してメールサーバー側でメールに対するウィルスチェックとスパムチェックを行う。 なお、メールサーバー(Postfix)とClam AntiVirus、SpamAssassinとの連携はamavisd-newを利用して行なう。 ここでは、自宅サーバーに構築したメールサーバーに外部から送られてきたメール及び、内部から送り出すメールのウィルスチェックを行い、ウィルスを検出したらメールを破棄するようにする。 また、外部から送られてきたメールについてはスパムチェックも行ない、スパムメールであると判断した場合、受信メールサーバーがIMAPの場合はProcmailを使用してスパムメール専用のメールボックスへ配送するようにし、受信メールサーバーがPOPの場合はメールソフトで振分けられるようにメール件名に「***SPAM***」という文字列を付加するようにする。 ※メールサーバー、アンチウィルス(Clam AntiVirus)を導入済であること |
Clam AntiVirusとPostfixが連携できるようにするため、clamdをソケット通信型で起動するようにする。 |
|
|
|
|
※SpamAssassinはamavisd-newと一緒にインストールされている |
|
SpamAssassinの初期設定では日本語のスパムメールに対応していないため、Web上で公開されている日本語のスパムメールに対応したSpamAssassin設定ファイルをセットアップする。 |
|
※下記はCRONからArgument "1.39_01" isn't numeric in subroutine entry at /usr/bin/sa-update line 81.というエラーメールが送られてくる場合の対処(参考) |
|
|
|
SpamAssassinによりメールヘッダにスパムメールの印を付けられたメールはスパム専用メールボックスへ、その他のメールは通常どおりのメールボックスへ配送するようにする。 (1)スパム専用メールボックス作成 既存ユーザについては、メールボックスにスパム専用メールボックスを追加する。 また、新規ユーザについては、ユーザ追加時に自動でスパム専用メールボックスが作成されるようにする 。 |
|
(2)スパムメール振分け設定 SpamAssassinがスパム判定したメールはスパム専用メールボックスへ配送するようにする。 |
|
SpamAssassinによりメール件名に「***SPAM***」を付けられたメールはスパムメール用フォルダへ保存するようにする (1)スパムメール用フォルダ作成 Outlook Expressを起動し、「ローカル フォルダ」右クリック⇒「フォルダの作成」⇒「フォルダ名」に"Spam"と入力して「OK」ボタン押下 (2)スパムメール振分けルール追加 Outlook Expressを起動し、「ツール」⇒「メッセージルール」⇒「メール」 「件名に指定した言葉が含まれる場合」をチェック 「指定したフォルダに移動する」をチェック 「指定した言葉が含まれる場合」のリンクをクリック 「***SPAM***」と入力して「追加」ボタン押下、「OK」ボタン押下 「指定したフォルダ」のリンクをクリック 「Spam」フォルダを選択して「OK」ボタン押下 「OK」ボタン押下 「OK」ボタン押下 |
Spamフォルダを表示する メールアカウント選択して「IMAPフォルダ」ボタン押下 「リセット」ボタン押下して「Spam」フォルダが表示されること 「Spam」フォルダを選択して「表示」ボタン押下、「OK」ボタン押下 「Spam」フォルダが表示されていること |
自分自身に空メールを送ってみて、受信したメールのヘッダに以下のメッセージが付加されていること X-Virus-Scanned: amavisd-new at scientificsrv.com |
自分自身にテストウィルスを添付したメールを送ってみて、メールが届かないこと |
自分自身にテストスパムメール(メール本文が「XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X」のメール)を送ってみて、受信メールサーバー別に以下のようになること ※テストスパムメールはスパムスコアが高く、/etc/procmailrcの「SpamAssassinにより判定されたSpam-Levelが一定値(ここでは20)以上の場合は削除」のルールを有効にしているとサーバー側で削除されてしまうので、Spamフォルダへの配送を確認する際は当該ルールを一時的にコメントアウトしてから確認すること 【受信メールサーバーがPOPの場合】 メール件名に「***SPAM***」が付加されてSpamフォルダへ配送されていること 【受信メールサーバーがIMAPの場合】 Spamフォルダへ配送されていること |
SpamAssassinが誤って正常メールをスパムメールと判断したり、逆にスパムメールを正常メールと判断してしまった場合、以後の誤認識を防止するためにSpamAssassinに学習をさせ、チェック精度を上げる。 ここでは、受信トレイの既読メールを正常メールとして、Spamフォルダの既読メールをスパムメールとして、定期的にSpamAssassinに学習させるようにする。 ※SpamAssassinが誤って配送したメールは、ユーザ自身の操作により正常メールなら受信トレイへ、スパムメールならSpamフォルダへ移動しておくこと (放置しておくと正常メールをスパムメールとして学習したり、逆にスパムメールを正常メールとして学習してしまう) |
|
※スパムメール学習結果のログは/var/log/maillogに記録される |