Postfixで受信したメールのウイルス対策&スパム対策(amavisd-new、clamav、spamassassin)をする。

 Postfixで受信したメールを「amavisd-new」「clamav」を連携してウイルスチェックします。「amavisd-new」は「clamav」 などのウィルススキャンプログラムとPostfixやsendmail などのMTAとの橋渡しをしてくれる役目を果ます。「clamav」は、ウイルススキャンのアプリケーションです。spamassassinは、迷惑メールを学習させるアプリケーションです。

1. インストール
[root@localhost ~]# yum install amavisd-new clamav clamav-server clamav-update spamassassin perl perl-Archive-Tar perl-IO-String

(注意)
 CentOSでyumを使ってインストールする場合は、サードパーティリポジトリの変更をする必要があります。サードパーティリポジトリの変更は、「はじめての自宅サーバ構築」さんのサイトに乗っていますので参考にしてください。

2. 設定ファイルの変更
 設定ファイルは、「amavisd-new」「clamav」「postfix」を変更しなければなりません。
[root@localhost ~]# vi /etc/amavisd/amavisd.conf

「amavisd.conf」の変更

ドメイン名を変更する
# $mydomain = ‘example.com’

$mydomain = ‘shinbo.org’

ホスト名を変更する
# $myhostname = ‘host.example.com’

$mydomain = ‘mail.shinbo.org’

[root@localhost ~]# vi /etc/clamd.d/amavisd.conf

「clamd.d/amavisd.conf」の変更

最後に追記する
ScanMail yes

[root@localhost ~]# vi /etc/postfix/main.cf

「main.cf」の変更

最後に追記する
content_filter = smtp-amavis:[127.0.0.1]:10024

[root@localhost ~]# vi /etc/postfix/master.cf

「master.cf」の変更

最後に追記する
smtp-amavis unix – – n – 2 smtp
-o smtp_data_done_timeout=1200
-o disable_dns_lookups=yes

127.0.0.1:10025 inet n – n – – smtpd
-o content_filter=
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restriction_classes=
-o smtpd_client_restrictions=permit_mynetworks,reject
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks=127.0.0.0/8
-o smtpd_error_sleep_time=0
-o smtpd_soft_error_limit=1001
-o smtpd_hard_error_limit=1000

以上の変更が完了したら、各サービスの起動と自動起動するように設定します。
[root@localhost ~]# /etc/init.d/amavisd start
[root@localhost ~]# chkconfig amavisd on
[root@localhost ~]# /etc/rc.d/init.d/postfix restart
[root@localhost ~]# /etc/init.d/spamassassin start
[root@localhost ~]# chkconfig spamassassin on
[root@localhost ~]# /etc/init.d/clamd.amavisd start
[root@localhost ~]# chkconfig clamd.amavisd on

3. テスト用のウイルスでメールの確認
 テスト用のウィルスをダウンロードします。ウイルスは、こちらのサイトを参考にダウンロードしました。ダウンロードしたデータはウイルスなので、テスト用のフォルダーを作り、直接ダウンロードしました。作業が完了したら、フォルダーごと削除してください。

[root@localhost test]# wget http://www.eicar.org/download/eicar.com
[root@localhost test]# wget http://www.eicar.org/download/eicar.com.txt
[root@localhost test]# wget http://www.eicar.org/download/eicar_com.zip
[root@localhost test]# wget http://www.eicar.org/download/eicarcom2.zip

 ダウンロードしたウイルスを添付して、メールを送信します。メールを受信しているフォルダに、メイルが到着していないことを確認し、下記のような返信メールが帰ってきます。
Returned Mail: Message Could Not Be Delivered

普通に送信した場合は、受信したメールのヘッダー部分に以下のような文章があればOK
X-Virus-Scanned: amavisd-new at shinbo.org