メールサーバーでウイルスチェック(Postfix+Clam AntiVirus+milter-manager+clamav-milter)

最終更新日: 2017.12.06

■概要

Clam AntiVirusを使用してメールサーバー側でメールに対するウイルスチェックを行う。
メールサーバー(Postfix)とClam AntiVirusとの連携はmilter-managerclamav-milterを利用して行なう。
ここでは、自宅サーバーに構築したメールサーバーに外部から送られてきたメール及び、内部から送り出すメールのウイルスチェックを行い、ウイルスを検出したらメールを破棄するようにする。

メールサーバーアンチウイルス(Clam AntiVirus)を導入済であること


■clamav-milterインストール

EPELリポジトリ導入(EPEL)を参照してEPELリポジトリを導入する

[root@centos ~]# yum -y install clamav-milter clamav-milter-systemd ← clamav-milterインストール

■clamav-milter設定

[root@centos ~]# vi /etc/mail/clamav-milter.conf ← clamav-milter設定ファイル編集
# Comment or remove the line below.
#Example ← 行頭に#を追加してコメントアウト

MilterSocket /var/run/clamav-milter/clamav-milter.socket ← clamav-milterのUNIXソケット名を指定

MilterSocketMode 660 ← clamav-milterのUNIXソケットのアクセス権を指定

ClamdSocket unix:/var/run/clamd.scan/clamd.sock ← Clam AntiVirusのUNIXソケット名を指定(/etc/clamd.d/scan.confのLocalSocketオプションに合わせる)

OnInfected Blackhole ← ウイルス感染メールは破棄

AddHeader Yes ← メールヘッダにウイルスチェック実施した旨を出力

LogFacility LOG_MAIL ← ログ出力先をメールログにする

■clamav-milter起動

[root@centos ~]# systemctl start clamav-milter ← clamav-milter起動

[root@centos ~]# systemctl enable clamav-milter ← clamav-milter自動起動設定

■milter-managerインストール※既に導入済の場合は不要

[root@centos ~]# curl -s https://packagecloud.io/install/repositories/milter-manager/repos/script.rpm.sh | bash ← milter-manager_reposリポジトリ追加

[root@centos ~]# yum -y install milter-manager ← milter-managerインストール

■milter-manager起動※既に導入済の場合は不要

[root@centos ~]# systemctl start milter-manager ← milter-manager起動

[root@centos ~]# systemctl enable milter-manager ← milter-manager自動起動設定

■Postfix・milter-manager連携設定※既に導入済の場合は不要

[root@centos ~]# vi /etc/postfix/main.cf ← Postfix設定ファイル編集
下記を追加
milter_protocol = 6
milter_default_action = tempfail
milter_mail_macros = {auth_author} {auth_type} {auth_authen}
smtpd_milters = unix:/var/run/milter-manager/milter-manager.sock

[root@centos ~]# usermod -G milter-manager -a postfix ← milter-managerグループにpostfixユーザーを追加

[root@centos ~]# systemctl reload postfix ← Postfix設定反映

■milter-manager・clamav-milter連携設定

[root@centos ~]# usermod -G clamilt -a milter-manager ← clamiltグループにmilter-managerユーザーを追加

[root@centos ~]# systemctl restart milter-manager ← milter-manager再起動

■clamav-milter確認

自分自身に空メールを送ってみて、受信したメールのヘッダに以下のメッセージが付加されていること
X-Virus-Scanned: clamav-milter 0.99.2 at centossrv.jp

■ウイルスチェック確認

□自分自身にテストウイルスメール(メール本文が「X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*」のメール)を送ってみて、メールが破棄されて届かないこと
□メールログ(/var/log/maillog)にウイルスを検知した旨のメッセージ(下記)が記録されていること
Aug 28 13:01:20 centos milter-manager[11258]: [statistics] [milter][header][add](59): <X-Virus-Status>=<Infected (Eicar-Test-Signature)>: clamav-milter


■関連コンテンツ




▲このページのトップへ戻る

Copyright© 2005-2017 fallenangels, All rights reserved.
ご自由にリンクしてください(連絡は不要です)
本ページへのご意見・ご要望、誤字・脱字・リンク切れ等のご連絡はこちらからお願いします