メールサーバーでウィルスチェックの導入(ClamAV + amavisd-new編)

ここではClamAVとamavisd-newを利用して、メールサーバー(Postfix)内でウィルスチェックを行います。
ウィルス検出時には、管理者にメールで知らせてくれ、ウィルスメールは配送しません。

※ なお、ウィルスチェックを導入するには、ClamAntiVirus (ClamAV) が導入済みである事と、
  メールサーバーが構築済みで送受信できている事が前提となります。

ClamAVの設定


# vi /etc/clamd.conf
 i キー(入力モード)

#Example ← コメントアウト

LocalSocket /var/run/clamav/clamd ← 変更する

編集したら Esc キー(コマンドモード):wqで保存

# vi /etc/freshclam.conf
 i キー(入力モード)

#Example ← コメントアウト

編集したら Esc キー(コマンドモード):wqで保存


Local Socket用のフォルダを作成

# mkdir /var/run/clamav
# chown clamav:clamav /var/run/clamav

Perlモジュールのインストール


# apt-get install perl-Archive-Tar perl-Compress-Zlib perl-IO-Zlib perl-IO-stringy perl-Jcode ← インストール

# apt-get install db4-devel openssl-devel ← db4とopensslのインストール

# perl -MCPAN -e shell ← CPANの起動

※ 初回のみ以下の設定画面が出てきます。

以下の部分以外は全て [Enter] でOK

Select your continent (or several nearby continents) [] 2 ← Asiaを指定
Select your country (or several nearby countries) [] 7 ← Japanを指定
Select as many URLs as you like (by number),
put them on one line, separated by blanks, e.g. '1 4 5' [] 1 4 5 ← 1,4,5を指定(数字の間は半角スペース)

cpan> install Mail::DKIM::Verifier ← Perlモジュールをインストール

cpan> install Crypt::OpenSSL::Random ← Perlモジュールをインストール

cpan> exit ← 終了

amavisd-new日本語版のインストール

まず最初にMarijuana's XOOPS TEST ROOMで配布されているamavisd-new日本語版をダウンロードします。


最新版はこちらで確認

# wget http://marijuana.ddo.jp/download/amavisd-new-2.6.2-JP.tgz ← 最新版を確認後ダウンロード

# tar zxvf amavisd-new-2.6.2-JP.tgz ← 解凍(2007.2/10現在のバージョン)
# cd amavisd-new-2.6.2-JP ← 移動(バージョンは各自の環境に合わせてください)

# sh amavisd_install.sh perl netserver ← amavisd-newに必要なPerlモジュールのインストール

色々と質問されますが、全て [Enter] でOK
※ 色々とインストールするので結構時間がかかりますので気長に待ちましょう。


# sh amavisd_install.sh install ← インストール
OK: cp /usr/sbin/amavisd
OK: chown /usr/sbin/amavisd
OK: chmod 755 /usr/sbin/amavisd
OK: cp amavisd.conf /etc/
OK: chown clamav:clamav /etc/amavisd.conf
OK: chmod 555 /etc/amavisd.conf
OK: cp amavisd_init.sh /etc/rc.d/init.d/amavisd
OK: chown root /etc/rc.d/init.d/amavisd
OK: chmod 755 /etc/rc.d/init.d/amavisd
OK: cp notify_virus_admin.txt /var/amavis
OK: cp notify_virus_recips.txt /var/amavis
OK: cp notify_virus_sender.txt /var/amavis
OK: chown -R clamav:clamav /var/amavis
OK: chmod -R 755 /var/amavis
/var/amavis :OK
/var/virusmails :OK

このように表示されればインストールは完了です。

amavisd-new日本語版の設定




# vi /etc/amavisd.conf
 i キー(入力モード)

@bypass_spam_checks_maps = (1); # uncomment to DISABLE anti-spam code ← コメントにする

$mydomain = 'xxxxxx.net'; ← 自分のドメインを指定

$myhostname = 'aaa.xxxxxx.net'; ← 自分のホスト名を指定

# アンチウィルスソフトの設定
# ClamAVしか書いてないので、他を使う場合はオリジナルを参照
@av_scanners = (
# ### http://www.clamav.net/
['ClamAV-clamd',                ↓ clamd.confで指定したLocalSocketの場所へ変更(408行目付近)
  \&ask_daemon, ["CONTSCAN {}\n", "/var/run/clamav/clamd"],
  qr/\bOK$/, qr/\bFOUND$/,
  qr/^.*?: (?!Infected Archive)(.*) FOUND$/ ],


編集したら Esc キー(コマンドモード):wqで保存

aliasesの設定


# vi /etc/aliases
 i キー(入力モード)

最下部に以下を追加

virusalert: root
spamalert: root

編集したら Esc キー(コマンドモード):wq で保存

# newaliases ← aliasesを更新

amavisd-newの自動起動設定


# /etc/init.d/amavisd start ← amavisdを起動
Starting amavisd:            [ OK ]

# chkconfig amavisd on ← 自動起動設定

# chkconfig --list amavisd ← 自動起動設定の確認
amavisd   0:off   1:off   2:off   3:on   4:on   5:on   6:off ← 3〜5がonになっているか確認

Postfixの設定


/etc/postfix/master.cfを編集
最下部に下記を追加

smtp-amavis unix - - n - 2 smtp
	-o smtp_data_done_timeout=1200
	-o smtp_send_xforward_command=yes
	-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=
	-o smtpd_helo_restrictions=
	-o smtpd_sender_restrictions=
	-o smtpd_recipient_restrictions=permit_mynetworks,reject
	-o mynetworks=127.0.0.0/8
	-o strict_rfc821_envelopes=yes
	-o smtpd_error_sleep_time=0
	-o smtpd_soft_error_limit=1001
	-o smtpd_hard_error_limit=1000
/etc/postfix/main.cfを編集
最下部に追加

content_filter=smtp-amavis:[127.0.0.1]:10024


設定終了したらpostfixを再起動

# /etc/init.d/postfix restart
Postfixを停止中:         [ OK ]
Postfixを起動中:         [ OK ]


Postfix + ClamAV + amavisd-new の動作確認



メールソフトOutlookExpress(自分) へMail サーバー経由で送信します。
受信メールを右クリックしてプロパティーの詳細タブに以下の内容があれば Mail サーバーでウィルスチェック済みです。


X-Virus-Scanned: amavisd-new at xxxxx.net ← この部分はamavisd-newの設定で編集した自分のドメイン

今度はここここからテスト用の無害なウィルスをDLして添付て実際にメールを先ほどの要領で送信します。
自分にはメールが届かず管理者宛に「ウィルス警告(XXXXX)」と言う件名で、以下の様な内容のメールが届けば
正常にメールサーバーでウィルスが検出されています。


このメールは以下の理由により削除されました。

次ぎのウィルスが見つかりました: Eicar-Test-Signature

感染が疑われたもの:
  multipart/mixed | application/octet-stream,.asc,eicar.com

ウィルスを検知したソフト: ClamAV-clamd

このメールを送信したアドレス(偽られてる場合があります): <?@12-34-56-78.xxxxx.ne.jp>
追跡した、送信アドレス: [12.34.56.78] unknown  (HELO yosi) (12.34.56.78)

Notification to sender will not be mailed.

このメールは次ぎのアドレスに送信されませんでした:
<test@xxxxx.net>:
   250 2.7.1 Ok, discarded, id=02947-02 - VIRUS: Eicar-Test-Signature

ウィルスを検知したソフトの出力:
  p002: Eicar-Test-Signature FOUND

〜以下省略〜




Copyright c Vine Linuxで自宅サーバー. 2004 All Rights Reserved.