AlmaLinux9 メールサーバとclamavの連携

スポンサーリンク

OS全体よりもメールサーバだけに特化したウィルスソフトをインストールしようと思い、有償ソフトもあるのですが、無償のclamavを設定してみます。

メールサーバおよびclamavのインストールと基本設定がされていることが前提です。

Postfixのインストールと設定
Clamavのインストールと設定

なお、Clamに関してはオンアクセス設定までは不要です。postfixにclamavを連携するためのclamav-milterをインストールします。

milterというのはmail filterの略でメールで送受信する際に、そのメールに対してウィルススキャンを行うためのプラグインと考えて差し支えありません。

# dnf --enablerepo=crb install clamav-milter clamav-milter-systemd

sendmail-milterというのも合わせてインストールされます。設定ファイルは/etc/mail/clamav-milter.confなのでこれを編集します。

# vi /etc/mail/clamav-milter.conf
<一部、抜粋>

※コメントアウト
#Example 

※ソケットの定義
MilterSocket /run/clamav-milter/clamav-milter.socket
MilterSocketMode 660

※/etc/clamd.d/scan.confのLocalSocketと同一にする
ClamdSocket unix:/run/clamd.scan/clamd.sock

※ウィルスを検知したときにシェルを起動する
VirusAction /usr/local/bin/my_infected_message_handler
※ウィルス検知時は破棄する
OnInfected Blackhole

※メールのヘッダに追記する
AddHeader Yes

※ログの出力先をmailにする
LogFacility LOG_MAIL

clamav-milterを起動します。

# systemctl enable clamav-milter
# systemctl start clamav-milter

このclamav-milterをpostfixの動作に組み込むためにmain.cfに以下の設定を追加致します。仮にclamav-milterが何らかの理由で停止などした場合はそのまま通す設定となります。

# vi /etc/postfix/main.cf

<追記>
smtpd_milters = unix:/run/clamav/clmilter.sock
non_smtpd_milters = unix:/run/clamav/clmilter.sock
milter_default_action = accept

clamiltグループにpostfixユーザを追加しておきます。

# usermod -G clamilt -a postfix

念の為、postfixのconfigファイルにスペルミスなどないか確認しながら再起動を行い、設定が反映されているか確認してみます。

# postfix check
# systemctl restart postfix
# postconf -n | grep milter
milter_default_action = accept
non_smtpd_milters = unix:/run/clamav-milter/clamav-milter.socket
smtpd_milters = unix:/run/clamav-milter/clamav-milter.socket

ここまできたらテストメールを投げてみます。通常メールを投げて以下のメールヘッダがついているか確認してみてください。

X-Virus-Scanned: clamav-milter 1.0.6 at xxxxxx
X-Virus-Status: Clean

参考URL:https://centossrv.com/almalinux/postfix-clamav-milter.shtml

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする