FreeBSD 12.1 RELEASE - qmail - ウィルススキャン設定

 
1. 概要
2. clamav インストール
3. simscan インストール
4. clamav 設定
5. clamav ログ設定
6. simscan 設定

1. 概要

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

2. clamav インストール


cd /usr/ports/security/clamav
make config
 デフォルトのオプションを掲載します。
FreeBSD 12.1 RELEASE - /usr/ports/security/clamav/ - make config ①

FreeBSD 12.1 RELEASE - /usr/ports/security/clamav/ - make config ②

 以下にチェックをいれて後はデフォルトのままにします。

	・ICONV


cd /usr/ports/security/clamav
make
make install
 インストール時のメッセージを残しておきます。

===>  Installing for clamav-0.101.4,1
===>  Checking if clamav is already installed
===>   Registering installation for clamav-0.101.4,1
Installing clamav-0.101.4,1...
===> Creating groups.
Creating group 'clamav' with gid '106'.
Using existing group 'mail'.
===> Creating users
Creating user 'clamav' with uid '106'.
Adding user 'clamav' to group 'mail'.
===> SECURITY REPORT:
      This port has installed the following files which may act as network
      servers and may therefore pose a remote security risk to the system.
/usr/local/sbin/clamd

      This port has installed the following startup scripts which may cause
      these network services to be started at boot time.
/usr/local/etc/rc.d/clamav-freshclam
/usr/local/etc/rc.d/clamav-clamd

      If there are vulnerabilities in these programs there may be a security
      risk to the system. FreeBSD makes no guarantee about the security of
      ports included in the Ports Collection. Please type 'make deinstall'
      to deinstall the port if this is a concern.

      For more information, and contact details about the security
      status of this software, see the following webpage:
https://www.clamav.net/

3. simscan インストール


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

FreeBSD 12.1 RELEASE - /usr/ports/mail/simscan/ - make config ①


cd /usr/ports/mail/simscan
make
make install
 インストール時のメッセージを残しておきます。

===>  Installing for simscan-1.4.0_8
===>  Checking if simscan is already installed
===>   Registering installation for simscan-1.4.0_8
Installing simscan-1.4.0_8...
===> Creating groups.
Creating group 'simscan' with gid '74'.
===> Creating users
Creating user 'simscan' with uid '74'.
NOTES:

* You have to configure your anti-virus and anti-spam products!

* You have to modify your qmail startup files to call simscan.
In most cases, you just need to edit /var/qmail/tcp.smtp in
order to call simscan instead of qmail-queue, by setting up
QMAILQUEUE variable. For example:

127.0.0.1:allow,RELAYCLIENT=""
192.168.0.:allow,RELAYCLIENT="",QMAILQUEUE="/var/qmail/bin/simscan"
:allow,QMAILQUEUE="/var/qmail/bin/simscan"

* Don't forget to rebuild tcp.smtp.cdb from new tcp.smtp using tcprules!

* Also, read documentation about how to configure
attachment blocking and per domain processing.
Additional documentation can be found here:
http://qmailwiki.inter7.com/index.php?title=Simscan
===>   NOTICE:

The simscan port currently does not have a maintainer. As a result, it is
more likely to have unresolved issues, not be up-to-date, or even be removed in
the future. To volunteer to maintain this port, please create an issue at:

https://bugs.freebsd.org/bugzilla

More information about port maintainership is available at:

https://www.freebsd.org/doc/en/articles/contributing/ports-contributing.html#maintain-port

4. clamav 設定

 freshclam が参照するデータベースサーバを日本国内のものにします。

vi /usr/local/etc/freshclam.conf

DatabaseMirror database.clamav.net
 を下記に書き換えます。

DatabaseMirror db.jp.clamav.net
 clamav が simscan 経由で動作するように設定します。

vi /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 が動作するようにするには

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

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

freshclam
 以下で起動します。

service clamav-freshclam start
service clamav-clamd     start

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 のコメント用の # をはずしてローテーションするサイズを変えてやれば、反映されます。

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
 
 
カウンタバックグラウンド