24.5.09

Ubuntu 8.04 LTS Server でメールサーバを構築する Session 5

■ClamAV(アンチウィルス)をインストール
$sudo aptitude install clamsmtp

○ClamAVを設定
$sudo vim /etc/clamav/clamd.conf
→以下の内容を変更(20MBまでのメールをスキャンする)
StreamMaxLength 20M


○ClamSMTPを設定
$sudo vim /etc/clamsmtpd.conf
→以下の内容を追加
VirusAction: /usr/local/bin/email-virus-notice.sh

→以下の内容を変更(ポート10026でメールを受け取り、ポート10025へ返す)
OutAddress: 10025
Listen: 127.0.0.1:10026


○ウィルスを検出した場合に実行するスクリプトを作成
$cd /usr/local/bin/
$sudo vim email-virus-notice.sh
→以下の内容を記述(ウィルス検出によるメール削除をメールの宛先に通知)
#!/bin/sh
( echo "An email was removed because it was infected with the $VIRUS virus."
echo ""
echo "Sender : $SENDER"
echo "Recipient(s) : $RECIPIENTS"
echo "Virus : $VIRUS"
) | cat -v | mail -s "VIRUS ALERT" $RECIPIENTS

$sudo chmod +x email-virus-notice.sh

○ウィルス定義ファイルを最新版に更新
$sudo freshclam

○外部からのメールがPostfix(25)→SpamAssassin(10027)→ClamAV(10026)→Postfix(10025)と流れるように設定を追加
$sudo vim /etc/default/spampd
→以下の内容を変更
DESTPORT=10026


○内部からのメールがPostfix(25/465/587)→ClamAV(10026)→Postfix(10025)と流れるように設定を追加
$sudo vim /etc/postfix/master.cf
→以下の内容を追加
scan unix - - n - 16 smtp
    -o smtp_send_xforward_command=yes

$sudo vim /etc/postfix/main.cf
→以下の内容を追加
# ClamSMTP parameters
content_filter = scan:127.0.0.1:10026
receive_override_options = no_address_mappings


○各デーモンに設定を反映
$sudo /etc/init.d/clamav-freshclam force-reload
$sudo /etc/init.d/clamav-daemon force-reload
$sudo /etc/init.d/clamsmtp force-reload
$sudo /etc/init.d/postfix force-reload

○ClamAVの動作テスト
・送受信したすべてのメールヘッダに「X-Virus-Scanned:」行がつくことを確認
・http://www.eicar.org/anti_virus_test_file.htm からダミーウィルスをダウンロードし、添付ファイルとして送受信してみる
→メールが自動削除され、代わりに「VIRUS ALERT」が届くことを確認

0 コメント:

コメントを投稿