4. FreeBSD 11.2 RELEASE - qmail - ウィルススキャン設定

 
4.1 概要
4.2 clamav インストール
4.3 simscan インストール
4.4 clamav 設定
4.5 clamav ログ設定
4.6 simscan 設定

4.1 概要

 ウィルススキャンの設定を行います。  ウィルススキャンは、完全なものではありませんが、既知のウィルスであれば、クライアントマシンをウィルスメールの攻撃から守ってくれるでしょう。  アンチウィルスソフトとスキャナーとを組み合わせて使います。  ここでは ClamAV と simscan という組み合わせを使用する方法を紹介します。  clamav、simscan の順にインストールします。

4.2 clamav インストール


cd /usr/ports/security/clamav
make config
 オプションについてわたしのお勧めは、以下にチェックをいれて後はデフォルトのままです。
・ICONV


cd /usr/ports/security/clamav
make
make install

4.3 simscan インストール


cd /usr/ports/mail/simscan
make config
 simscan のオプションについてわたしのお勧めは以下にチェックをいれて他を外します。
・CLAMAV  clamav でチェックする上で必須
・HEADERS  受信ヘッダに simscan のバージョンや処理時間を挿入します
・PASSTHRU  チェックを入れないと誤認識であっても spam と判断したメールは削除されます
・RIPMIME
・SPAMD  SpamassAssin を動作させる上で必須
・USER  



cd /usr/ports/mail/simscan
make
make install

4.4 clamav 設定

 freshclam が参照するデータベースサーバを日本国内のものに書き換えます。
/usr/local/etc/freshclam.conf
 を

DatabaseMirror database.clamav.net
   ↓

DatabaseMirror db.jp.clamav.net
 clamav が simscan 経由で動作するように
/usr/local/etc/clamd.conf
 を書き換えます。

# Uncomment this option to enable logging.
# LogFile must be writable for the user running daemon.
# A full path is required.
# Default: disabled
LogFile /var/log/clamav/clamd.log

# This option allows you to save a process identifier of the listening
# daemon (main thread).
# Default: disabled
PidFile /var/run/clamav/clamd.pid

# Path to a local socket file the daemon will listen on.
# Default: disabled (must be specified by a user)
LocalSocket /var/run/clamav/clamd.sock

# Run as another user (clamd must be started by root for this option to work)
# Default: don't drop privileges
User clamav
 の箇所をそれぞれ

# Uncomment this option to enable logging.
# LogFile must be writable for the user running daemon.
# A full path is required.
# Default: disabled
LogFile /var/log/simscan/clamd.log

# This option allows you to save a process identifier of the listening
# daemon (main thread).
# Default: disabled
PidFile /var/run/simscan/clamd.pid

# Path to a local socket file the daemon will listen on.
# Default: disabled (must be specified by a user)
LocalSocket /var/run/simscan/clamd.sock

# Run as another user (clamd must be started by root for this option to work)
# Default: don't drop privileges
User simscan
 に書き換えます。  こうすると clamav_clamd が simscan のユーザで動作しますので、ログファイルや pid ファイル用のディレクトリを simscan 用に作成します。

mkdir -pv /var/log/simscan
chown -v simscan:simscan /var/log/simscan
mkdir -pv /var/run/simscan
chown -v simscan:simscan /var/run/simscan
 clamav が動作するようにするには以下のようにします。

/etc/rc.conf
 に以下の行を加えます。

clamav_freshclam_enable="YES"
clamav_clamd_enable="YES"
clamav_clamd_user="simscan"
 ウィルスパターンのデータベースを取得します。

freshclam
 以下で起動します。

service clamav-freshclam start
service clamav-clamd     start

4.5 clamav ログ設定

 freshclam、clamd のログが、以下に作成されます。

/var/log/clamd/freshclam.log	←	freshclam のログ
/var/log/simscan/clamd.log		←	clamd     のログ
 いずれもデフォルトで 1MB (1M = 1m = 1048576 bytes) を超えるとローテーションします。  ただし、上限なくファイルが増えるようなので何か対策するように考えていますが、いまのところ年間2~3ファイルなので手は打っていません。  ローテーションするサイズを変えるには下記のそれぞれの設定ファイルの

/usr/local/etc/freshclam.conf	←	freshclam の設定ファイル
/usr/local/etc/clamd.conf		←	clamd     の設定ファイル
 それぞれに同じ記述があります。

# Maximum size of the log file.
# Value of 0 disables the limit.
# You may use 'M' or 'm' for megabytes (1M = 1m = 1048576 bytes)
# and 'K' or 'k' for kilobytes (1K = 1k = 1024 bytes).
# in bytes just don't use modifiers. If LogFileMaxSize is enabled,
# log rotation (the LogRotate option) will always be enabled.
# Default: 1M
#LogFileMaxSize 2M
 #LogFileMaxSize 2M のコメント用の # をはずしてローテーションするサイズを変えてやれば、反映されます。

4.6 simscan 設定

 simscan がメールキュー起動時に動作するようにするには「2.4 不正中継させないための設定」で作成した
/etc/tcp/tcp.smtp
 を以下のように書き換えます。

127.:allow,RELAYCLIENT=""
192.168.0.:allow,RELAYCLIENT="",QMAILQUEUE="/var/qmail/bin/simscan"
xxx.yyy.zzz.0-8:allow,RELAYCLIENT="",QMAILQUEUE="/var/qmail/bin/simscan"
:allow,QMAILQUEUE="/var/qmail/bin/simscan"
 書き換えたら、以下をまた行うことをお忘れなく。

> tcprules /etc/tcp/tcp.smtp.cdb /etc/tcp/tcp.smtp.tmp < /etc/tcp/tcp.smtp