Postfix + Clamav + Amavisd2017/12/23 |
|
Postfix と Clamav を連携させて 送受信メールをリアルタイムスキャンできるように設定します。
|
|
| [1] | |
| [2] | Amavisd および Clamav Server をインストールして Clamav Server を起動します。 |
|
[root@mail ~]#
[root@mail ~]# dnf -y install amavisd-new clamav-server clamav-server-systemd cp /usr/share/doc/clamav-server*/clamd.sysconfig /etc/sysconfig/clamd.amavisd
[root@mail ~]#
vi /etc/sysconfig/clamd.amavisd # 1, 2行目:コメント解除し変更 CLAMD_CONFIGFILE=/etc/clamd.d/ amavisd.conf CLAMD_SOCKET=/var/run/ clamd.amavisd /clamd.sock
[root@mail ~]#
vi /etc/tmpfiles.d/clamd.amavisd.conf # 新規作成 d /var/run/clamd.amavisd 0755 amavis amavis -
[root@mail ~]#
vi /usr/lib/systemd/system/clamd@.service # 最終行に追記 [Install] WantedBy=multi-user.target systemctl start clamd@amavisd [root@mail ~]# systemctl enable clamd@amavisd |
| [3] | SELinux を有効にしている場合は、許可ルールの追加が必要です。 |
|
[root@mail ~]#
dnf -y install checkpolicy policycoreutils-python-utils
[root@mail ~]#
setsebool -P antivirus_can_scan_system on [root@mail ~]# setsebool -P antivirus_use_jit on [root@mail ~]# vi amavisd.te # 以下の内容で新規作成
module amavisd 1.0;
require {
type antivirus_t;
type antivirus_exec_t;
type antivirus_db_t;
type antivirus_var_run_t;
type init_t;
type razor_port_t;
type amavisd_send_port_t;
type tmpreaper_exec_t;
class file { append create getattr execute_no_trans ioctl link open read rename setattr unlink write lock map };
class dir { add_name create read remove_name setattr write rmdir };
class tcp_socket name_connect;
class sock_file write;
class process execmem;
class unix_stream_socket connectto;
}
#============= init_t ==============
allow init_t antivirus_t:unix_stream_socket connectto;
allow init_t antivirus_exec_t:file { execute_no_trans ioctl };
allow init_t amavisd_send_port_t:tcp_socket name_connect;
allow init_t antivirus_db_t:dir { add_name create read remove_name setattr write rmdir };
allow init_t antivirus_db_t:file { append create getattr ioctl link open read rename setattr unlink write lock };
allow init_t antivirus_var_run_t:file { create write };
allow init_t antivirus_var_run_t:sock_file write;
allow init_t razor_port_t:tcp_socket name_connect;
allow init_t tmpreaper_exec_t:file execute_no_trans;
allow init_t self:process execmem;
allow antivirus_t antivirus_db_t:file map;
# 中間ファイル生成 [root@mail ~]# checkmodule -m -M -o amavisd.mod amavisd.te checkmodule: loading policy configuration from amavisd.te checkmodule: policy configuration loaded checkmodule: writing binary representation (version 17) to amavisd.te # 中間ファイルからモジュール生成 [root@mail ~]# semodule_package --outfile amavisd.pp --module amavisd.mod # モジュールインストール [root@mail ~]# semodule -i amavisd.pp |
| [4] | Amavisd を設定して起動します。 |
|
[root@mail ~]#
vi /etc/amavisd/amavisd.conf # 20行目:自ドメイン名に変更 $mydomain = ' srv.world ';
# 152行目:自ホスト名に変更 $myhostname = ' mail.srv.world ';
# 154行目:コメント解除 $notify_method = 'smtp:[127.0.0.1]:10025'; $forward_method = 'smtp:[127.0.0.1]:10025'; systemctl start amavisd spamassassin [root@mail ~]# systemctl enable amavisd spamassassin |
| [5] | Postfix の設定です。 |
|
[root@mail ~]#
vi /etc/postfix/main.cf # 最終行に追記 content_filter=smtp-amavis:[127.0.0.1]:10024
[root@mail ~]#
vi /etc/postfix/master.cf # 最終行に追記
smtp-amavis unix - - n - 2 smtp
-o smtp_data_done_timeout=1200
-o smtp_send_xforward_command=yes
-o disable_dns_lookups=yes
127.0.0.1:10025 inet n - n - - smtpd
-o content_filter=
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restriction_classes=
-o smtpd_client_restrictions=
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks=127.0.0.0/8
-o strict_rfc821_envelopes=yes
-o smtpd_error_sleep_time=0
-o smtpd_soft_error_limit=1001
-o smtpd_hard_error_limit=1000
systemctl restart postfix |
| [6] | 以上で設定完了です。 送受信メールのヘッダーにはスキャンしたことを示す [X-Virus-Scanned: ***] という行が付加されます。 |
|
| Sponsored Link |
|
|