.
Mailサーバー => Clam AntiVirus + Milter > 4.Milter の設定 (Sendmail)
Linux 活用ガイド:目次

サーバ構築ガイド

レンタル ガイド

ショップ 構築ガイド

情報漏洩対策

Sendmail と clamav-milter の接続設定 ~ ソケット通信

Sendmail の ソケット通信機能 Milter を使用し、clamav-milter によるメール送受信時の ウイルスチェックを行なうための設定が必要になります。

Sendmail 8.12 以降のメールサーバが既に構築されている事が前提となります。Sendmail によるメールサーバ構築は、以下で紹介していますので割愛します。

参照 => セキュアメールサーバー構築-Fedora Core 2編

FedoraCore としていますが、RHL 系Linux であれば特に問題はないと思います。

sendmail.mc の編集

sendmail の設定ファイルに該当する制御ファイルは、/etc/mail/sendmail.cf ですが、これは C言語で書かれています。sendmail 8.10 以降では、sendmail.mc を m4 プリプロセッサにより sendmail.cf を生成する手順を踏みます。

事実上、設定を行うファイルは、/etc/mail/sendmail.mc となります。

sendmail.mc の修正.

Sendmail Milter 設定のポイントは、ソケット通信を行うプログラムが出力する socket ファイルのパスと一致させる点です。これを間違えると sendmail は通信を受け取れず、メールキューが次々に溜って行くので慎重に設定された方が良いと思います。

clamav-milter が生成する socket ファイル、ディレクトリのパスは、/etc/sysconfig/clamav-milter で指定されています。

/etc/mail/sendmail.mc

INPUT_MAIL_FILTER と記述されたあたりに以下を追記します。

INPUT_MAIL_FILTER(`clamav', `S=local:/var/run/clamav/clmilter.socket, F=, T=S:8m;R:8m;E:8m')dnl

S(通信手段) / F(通信不可時の対処) / T(タイムアウト) の値は、 Sendmail のマニュアルを参照して下さい。 取敢えず、ソケット通信が行えない状態に落入ってもメールが消滅する事はないと思います。

※複数のソケット通信を行う場合

SpamAssassin など複数のソケット通信を行う場合、以下の行を追加する必要があります。clamav (ウイルスフィルタ)だけであれば、必要ありません。

define(`confINPUT_MAIL_FILTERS', `spamassassin,clamav')

clamav-0.9 アップデートに伴う修正(補足)

/etc/sysconfig/clamav-milter の パスに合わせます。 上記設定では動作しません。

INPUT_MAIL_FILTER(`clamav', `S=local:/var/clamav/clmilter.socket, F=, T=S:8m;R:8m;E:8m')dnl

sendmail.mc を修正したら、 sendmail.cf を make し、Sendmail を再起動する必要があります。

sendmail.cf の生成 (m4プリプロセッサ)

sendmail.mc が出来たら、sendmail.cf を生成します。FerdoraCore / RedHat / CentOS では、/etc/mail ディレクトリから直接行えると思います。

# cd /etc/mail
# make sendmail.cf

Sendmail を再起動するまで有効にはなりませんが、まだ、再起動はしないで下さい。

ここまででサービス起動に必要な設定は全て終わりました。次は、起動に関する設定を行います。

bottom_mark
ページ最上部
ページ最上部 前のページ