Postfix + clamav-milter でウィルスチェック
これまでメールサーバのウィルスチェックについては、sendmail と clamav-milter の組み合わせを紹介してきましたが、Postfix と clamav-milter の組み合わせも確認できましたので、以下やり方を書いておきます。
試した環境は CentOS 5.4 (64bit)、Postfix は 2.3.3 を RPM で入れています。また、Clam AntiVirus (ClamAV) 関連は RPMforge のパッケージを利用します。Postfix の設定については割愛します。
Postfix のインストール
CentOS 5 には Postfix の RPM が用意されています。これを yum でインストールします。
$ sudo yum install -y postfix
Clam AntiVirus のインストール
こちらは CentOS 5 には含まれていませんが、RPMforge にあるパッケージを使います。事前に yum で RPMforge を使うように設定する必要があります。EPEL のリポジトリを使う設定になっている場合は、EPEL で配布されている clamav と競合してしまいますので、次のように EPEL の clamav パッケージを無視するようにします。
# vi /etc/yum.repos.d/epel.repo
exclude=clamav*
次に RPMforge のリポジトリから clamav のパッケージ群をインストールします。
# yum --enablerepo rpmforge install clamav clamav-db clamav-milter clamd
freshclam の設定
定義ファイル更新の設定をします。/etc/freshclam.conf を編集して Google SafeBrowing のデータを利用するようにします。
SafeBrowsing yes
初回は freshclam コマンドを手動実行して最新の定義ファイルをあらかじめダウンロードしておきます。
clamd の設定と実行
基本的には設定変更の必要はなくそのままでも動作します。ここでは /etc/clamd.conf を編集して、ウィルス検出時にメールが飛ぶようにします。
VirusEvent echo "VIRUS ALERT: %v" | mail -s "Virus Alert" postmaster@example.org
clamd を実行します。
# service clamd restart
clamav-milter の設定
Postfix と ClamAV の連携については、AMaViS を使う方法もありますが、ここでは clamav-milter を利用します。/etc/clamav-milter.conf を編集して MilterSocket のパスを変更します。
MilterSocket unix:/var/run/clamav/milter.sock AddHeader Yes
このままで clamav-milter を起動した場合、Postfix を実行するユーザ postfix がソケットにアクセスできずに失敗します。そこで /etc/init.d/clamav-milter を編集して、clamav-milter デーモン起動時にソケットのグループを postfix に変更してやります。ネットワーキングすきま情報: Postfix – milter – ClamAVねた。を参考にさせて頂きました。
start) echo -n "Starting Clamav Milter Daemon: " daemon clamav-milter $CLAMAV_FLAGS $SOCKET_ADDRESS chgrp postfix /var/run/clamav/milter.sock #追加 chmod g+w /var/run/clamav/milter.sock #追加
clamav-milter デーモンを実行します。
# service clamav-milter restart
Postfix の設定
postfix 側に clamav-milter と連携する設定が必要です。/etc/postfix/main.cf に以下の記述を追加します。
smtpd_milters = unix:/var/run/clamav/clmilter.sock non_smtpd_milters = unix:/var/run/clamav/clmilter.sock milter_default_action = accept
postfix を再起動して、メールの送受信を確認をします。
# service postfix restart
自動起動の設定
clamd と clamav-milter デーモンが自動起動するようにします。
# chkconfig clamd on # chkconfig clamav-milter on # chkconfig --list | grep clam clamav-milter 0:off 1:off 2:on 3:on 4:on 5:on 6:off clamd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
freshclam は cron で実行されます。
コメントはまだありません
No comments yet.
Sorry, the comment form is closed at this time.