Clamav-Milter-0.88.5-1 + Sendmail [FC6]

[サーバの実験室 Redhat/Fedora]

作成 : 2006/11/19

"サーバの実験室"の検索


Clamav

Clamavは、GPLにもとづくオープンソースのウィルスチェックプログラム。 本家はhttp://www.clamav.net/。 Clamav-Milter(Milterは、メッセージ処理中にサードパーティのプログラムによるメールフィルタリングを許可する仕組みらしい)とSendmailを組み合わせて、メールのウィルスチェックができるようにしてみる。

clamav-milterをインストール

yumでclamav-milterをインストールする。 依存するパッケージも一緒にインストールしてくれる。

# yum install -y clamav-milter

....

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 clamav-milter           i386       0.88.5-1.fc6     extras             75 k
Installing for dependencies:
 clamav-data             i386       0.88.5-1.fc6     extras            6.6 M
 clamav-lib              i386       0.88.5-1.fc6     extras            163 k
 clamav-milter-sysv      i386       0.88.5-1.fc6     extras             19 k
 fedora-usermgmt         noarch     0.8.91-1.fc6     extras            6.6 k
 fedora-usermgmt-core    noarch     0.8.91-1.fc6     extras            7.6 k
 fedora-usermgmt-default-fedora-setup  noarch     0.8.91-1.fc6     extras            6.5 k
 fedora-usermgmt-shadow-utils  noarch     0.8.91-1.fc6     extras            7.4 k
 gmp                     i386       4.1.4-7          core              630 k

Transaction Summary
=============================================================================
Install      9 Package(s)
Update       0 Package(s)
Remove       0 Package(s)

Total download size: 7.5 M

....

Installed: clamav-milter.i386 0:0.88.5-1.fc6
Dependency Installed: clamav-data.i386 0:0.88.5-1.fc6 clamav-lib.i386 0:0.88.5-1.fc6 clamav-milter-sysv.i386 0:0.88.5-1.fc6 fedora-usermgmt.noarch 0:0.8.91-1.fc6 fedora-usermgmt-core.noarch 0:0.8.91-1.fc6 fedora-usermgmt-default-fedora-setup.noarch 0:0.8.91-1.fc6 fedora-usermgmt-shadow-utils.noarch 0:0.8.91-1.fc6 gmp.i386 0:4.1.4-7
Complete!

ついでに、パターンファイルを自動更新するためのパッケージclamav-updateもインストールしておく。

# yum install -y clamav-update

....

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 clamav-update           i386       0.88.5-1.fc6     extras             45 k

Transaction Summary
=============================================================================
Install      1 Package(s)
Update       0 Package(s)
Remove       0 Package(s)

Total download size: 45 k

....

Installed: clamav-update.i386 0:0.88.5-1.fc6
Complete!

clamav-milterの設定

そのままでは動かないので、/etc/clamd.d/milter.confを修正する。

# /etc/clamd.d/milter.conf

# Comment or remove the line below.
# 'Example'をコメントアウトする
#Example

...

# Path to a local socket file the daemon will listen on.
# Default: disabled
#LocalSocket /var/run/clamd.milter/clamd.sock
# /etc/sysconfig/clamav-milterのCLAMAV_FLAGSの指定にあわせて、ローカルソケットファイルを修正する
LocalSocket /var/run/clamd-milter/clamav.sock

...

ウィルスチェックにひっかかったメールをリジェクトしないよう、/etc/sysconfig/clamav-milterを修正する。

# /etc/sysconfig/clamav-milter

# The '-blo' options might be usefully here -- especially for testing; see
## "man 8 clamav-milter" for further options
CLAMAV_FLAGS='--noreject --max-children=2 -c /etc/clamd.d/milter.conf local:/var/run/clamav-milter/clamav.sock'
CLAMAV_USER='clamilt'

sendmailの設定

clamav-milterを使用するよう、sendmailの設定を修正する。

# /etc/mail/sendmail.mc

....

dnl /etc/clamd.d/milter.confと/etc/sysconfig/clamav-milterと、ローカルソケットファイルの指定を同じにする
INPUT_MAIL_FILTER(`clamav', `S=local:/var/run/clamav-milter/clamav.sock, F=, T=S:4m;R:4m')dnl
define(`confINPUT_MAIL_FILTERS', `clamav')dnl
MAILER(smtp)dnl
MAILER(procmail)dnl
dnl MAILER(cyrusv2)dnl
# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

clamav-update(freshclam)の設定

そのままでは動かないので、/etc/freshclam.confと/etc/sysconfig/freshclamを修正する。

# /etc/freshclam.conf

# Comment or remove the line below.
# 'Example'をコメントアウトする
#Example

...
# /etc/sysconfig/freshclam

....

### !!!!! REMOVE ME !!!!!!
### REMOVE ME: By default, the freshclam update is disabled to avoid
### REMOVE ME: network access without prior activation
# 下の行をコメントアウトする
#FRESHCLAM_DELAY=disabled-warn  # REMOVE ME

これをやっておけば、3時間ごとにパターンファイルが更新されていないか、チェックしてくれる。

パターンファイルを更新

とりあえず、パターンファイルを更新しておく。

# freshclam

ClamAV update process started at Sun Oct 29 18:01:36 2006
main.cvd is up to date (version: 40, sigs: 64138, f-level: 8, builder: tkojm)
Downloading daily.cvd [*]
daily.cvd updated (version: 2129, sigs: 10646, f-level: 8, builder: arnaud)
Database updated (74784 signatures) from database.clamav.net (IP: 61.205.61.201)

clamav-milterを起動/sendmailを再起動

clamav-milterを起動する。 sendmailを再起動する。

# /etc/init.d/clamav-milter start

# /etc/init.d/sendmail restart

確認

メールを送受信したとき、/var/log/maillogに以下のような記録が残ればOK。

/var/log/maillog

Nov 19 15:30:46 linux sendmail[4723]: kAJ6UUVN004723: Milter add: header: X-Virus-Scanned: ClamAV 0.88.6/2203/Sat Nov 18 13:54:38 2006 on xxx
Nov 19 15:30:46 linux sendmail[4723]: kAJ6UUVN004723: Milter add: header: X-Virus-Status: Clean

[サーバの実験室 Redhat/Fedora]