Debian 10 (buster) - Postfix ウィルス・スパム対策(ClamAV + SpamAssassin)!
Updated:
Debian GNU/Linux 10 (buster) にアンチウイルスソフト ClamAV とスパム対策ソフト SpamAssassin をインストールする方法についての記録です。
以前古いバージョンでの作業時に残していた記録を参考に作業を行い、今回更新した作業記録を貼付する形式の内容となっています。
(当然ながら、興味がなければスルーしてください)
0. 前提条件
- Debian GNU/Linux 10 (buster) での作業を想定。
- SMTP サーバ Postfix を「Debian 10 (buster) - SMTP サーバ Postfix 構築!」の方法で導入済み。
- アンチウィルスソフト ClamAV 導入済み。
- スパムフィルタも運用する。
- アンチウィルス ClamAV との連携には、 ClamAV daemon を使用する方法の他に、ClamSMTP を使用する方法もある。
- スパムフィルタ SpamAssassin との連携には、 amavisd-new を使用する方法の他に SpamPD を使用する方法もある。
- root ユーザでの作業を想定。
1. インストール
Postfix を ClamAV と連携させてウィルススキャン・スパムフィルタを行うのに必要な ClamAV daemon, amavisd-new, SpamAssassinを、以下のようにしてインストールする。
# apt -y install clamav-daemon amavisd-new spamassassin
2. SpamAssassin 設定ファイルの編集
File: /etc/default/spamassassin
3. amavisd-new 設定ファイルの編集
Postfix と ClamAV, SpamAssassin を連携するのに必要な amavisd-new の設定ファイルを用意し、編集する。
# cp /usr/share/doc/amavisd-new/examples/amavisd.conf-default.gz /etc/amavis/
# gunzip /etc/amavis/amavisd.conf-default.gz
# mv /etc/amavis/amavisd.conf-default /etc/amavis/amavisd.conf
File: /etc/amavis/amavisd.conf
4. 15-content_filter_mode の編集
File: /etc/amavis/conf.d/15-content_filter_mode
ちなみに、”amavisd.conf” にも同じ記述がある。どちらを有効にしても良いだろう。
5. 15-av_scanners の編集
メールのウィルスチェックの度に clamscan
が作動するとマシンが非力な場合は非常に重くなるため、 clamav-daemon
が動作する今回の環境では clamdscan
でウィルスチェックを行うこととする。(clamscan
と clamdscan
の違いについては、ここでは説明しない)
File: /etc/amavis/conf.d/15-av_scanners
6. Postfix - main.cf の編集
File: /etc/postfix/main.cf
7. Postfix - master.cf の編集
File: /etc/postfix/master.cf
8. その他の設定
処理に必要なファイルを作成したり、権限設定、ユーザ作成を行う。
# touch /etc/mailname
# chmod -R 775 /var/lib/amavis/tmp
# usermod -G amavis clamav
9. サービスの再起動
ClamAV daemon, Postfix, Amavisd を再起動、SpamAssassin を起動する。
# systemctl restart clamav-daemon
# systemctl restart postfix
# systemctl restart amavis
# systemctl start spamassassin
10. サービス自動起動の設定
# systemctl enable spamassassin
Synchronizing state of spamassassin.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable spamassassin
insserv: warning: current start runlevel(s) (empty) of script `spamassassin' overrides LSB defaults (2 3 4 5).
insserv: warning: current stop runlevel(s) (0 1 2 3 4 5 6) of script `spamassassin' overrides LSB defaults (0 1 6).
Created symlink /etc/systemd/system/multi-user.target.wants/spamassassin.service → /lib/systemd/system/spamassassin.service.
# systemctl is-enabled spamassassin
enabled
12. 動作確認
メールを送信してみる。
# echo test | mail -s "TEST" root
受信メールのヘッダに “X-Virus-Scanned: Debian amavisd-new at” の文字列が存在することが確認できれば成功である。(メールソフトでヘッダを表示できる。または、サーバ内に届いたメールファイルを開いてみる)
メール送信コマンド mail
が使用できない場合は、 mailutils
or heirloom-mailx
or bsd-mailx
等をインストールする。複数ある場合は、update-alternatives --config mailx
でデフォルト設定をする。
Return-Path: <root@vbox.mk-mode.com>
X-Original-To: root@vbox.mk-mode.com
Delivered-To: root@vbox.mk-mode.com
Received: from localhost (localhost [127.0.0.1])
by mail.mk-mode.com (Postfix) with ESMTP id 66B7A520067
for <root@vbox.mk-mode.com>; Fri, 27 Sep 2019 10:25:33 +0900 (JST)
X-Virus-Scanned: Debian amavisd-new at
Received: from mail.mk-mode.com ([127.0.0.1])
by localhost (vbox.mk-mode.com [127.0.0.1]) (amavisd-new, port 10024)
with ESMTP id 35_2GffJRm60 for <root@vbox.mk-mode.com>;
Fri, 27 Sep 2019 10:25:32 +0900 (JST)
Received: by mail.mk-mode.com (Postfix, from userid 0)
id 5F9A3520065; Fri, 27 Sep 2019 10:25:32 +0900 (JST)
Subject: TEST
To: <root@vbox.mk-mode.com>
X-Mailer: mail (GNU Mailutils 3.5)
Message-Id: <20190927012532.5F9A3520065@mail.mk-mode.com>
Date: Fri, 27 Sep 2019 10:25:32 +0900 (JST)
From: root <root@vbox.mk-mode.com>
test
13. 誤検知対策
スパムメールをそうでないメールと誤検知したり、スパムでないメールをスパムと誤検知する場合は、以下のように “local.cf” に追記する。(以下は一例)
File: /etc/mail/spamassassin/local.cf
以上。
Comments