CentOS 7
Sponsored Link

Postfix + Clamav + Amavisd
2014/09/26
 
Postfix と Clamav を連携させて 送受信メールをリアルタイムスキャンできるように設定します。
[1]
[2] Amavisd および Clamav Server をインストールします。
# EPEL からインストール

[root@mail ~]#
yum --enablerepo=epel -y install amavisd-new clamav-scanner clamav-scanner-systemd
[3] SELinux を有効にしている場合は、ポリシーの変更が必要です。
[root@mail ~]#
setsebool -P antivirus_can_scan_system on

[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';
# 383行目:以下のようになっているか確認

['ClamAV-clamd',
    \&ask_daemon, ["CONTSCAN {}\n", "/var/run/clamd.amavisd/clamd.sock"],
    qr/\bOK$/m, qr/\bFOUND$/m,
    qr/^.*?: (?!Infected Archive)(.*) FOUND$/m ],

[root@mail ~]#
systemctl start clamd@amavisd amavisd spamassassin

[root@mail ~]#
systemctl enable clamd@amavisd 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

[root@mail ~]#
systemctl restart postfix

[6] 以上で設定完了です。
送受信メールには以下のようなヘッダが付加されます。もしウィルスが検知された場合は削除され、クライアントには配送されません。
 
Tweet