Fedora 32
Sponsored Link

Mail Server : Postfix + Clamav + Amavisd
2020/05/19
 
Configure Virus-Scanning for E-Mails with Postfix + Clamav.
[1]
[2] Install Amavisd and Clamav Server.
[root@mail ~]#
dnf -y install amavis clamd perl-Digest-SHA1 perl-IO-stringy
[root@mail ~]#
vi /etc/clamd.d/scan.conf
# line 8: comment out

#
Example
# line 14: uncomment

LogFile /var/log/clamd.scan
# line 74: uncomment

PidFile /var/run/clamd.scan/clamd.pid
# line 78: uncomment

TemporaryDirectory /var/tmp
# line 93: uncomment

LocalSocket /var/run/clamd.scan/clamd.sock
[root@mail ~]#
touch /var/log/clamd.scan

[root@mail ~]#
chown clamscan. /var/log/clamd.scan

[root@mail ~]#
systemctl enable --now clamd@scan

[3] If SELinux is enabled, add rules to start Clamav Server like follows.
[root@mail ~]#
restorecon -v /var/log/clamd.scan

[root@mail ~]#
setsebool -P antivirus_can_scan_system on

[4] Configure Amavisd.
[root@mail ~]#
vi /etc/amavisd/amavisd.conf
# line 23: change to the own domain name

$mydomain = '
srv.world
';
# line 155: uncomment and change to the own hostname

$myhostname = '
mail.srv.world
';
# line 157,158: uncomment

$notify_method = 'smtp:[127.0.0.1]:10025';
$forward_method = 'smtp:[127.0.0.1]:10025';
[root@mail ~]#
systemctl enable --now amavisd

[5] Configure Postfix.
[root@mail ~]#
vi /etc/postfix/main.cf
# add follows to the end

content_filter=smtp-amavis:[127.0.0.1]:10024
[root@mail ~]#
vi /etc/postfix/master.cf
# add follows to the end

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] That' OK all.
[X-Virus-Scanned: ***] lines are added in the header section of emails after this configuration and emails with known Virus will not sent to Clients like following email logs.
May 18 02:01:00 mail postfix/pickup[7659]: 0B5639F0C0: uid=1000 from=<fedora>
May 18 02:01:00 mail postfix/cleanup[8139]: 0B5639F0C0: message-id=<20200518080100.0B5639F0C0@mail.srv.world>
May 18 02:01:00 mail postfix/qmgr[7660]: 0B5639F0C0: from=<fedora@srv.world>, size=526, nrcpt=1 (queue active)
May 18 02:01:00 mail clamd[7568]: /var/spool/amavisd/tmp/amavis-20200518T020100-07563-I7DW0ysR/parts/p001: Win.Test.EICAR_HDB-1 FOUND
May 18 02:01:00 mail clamd[7568]: /var/spool/amavisd/tmp/amavis-20200518T020100-07563-I7DW0ysR/parts/p003: Win.Test.EICAR_HDB-1 FOUND
May 18 02:01:00 mail amavis[7563]: (07563-01) Blocked INFECTED (Win.Test.EICAR_HDB-1) {DiscardedInbound,Quarantined}, [127.0.0.1] <fedora@srv.world> -> <redhat@srv.world>, Message-ID: <20200518080100.0B5639F0C0@mail.srv.world>, mail_id: 3qBkFvpyBjP7, Hits: -, size: 526, 45 ms
May 18 02:01:00 mail postfix/smtp[8140]: 0B5639F0C0: to=<redhat@srv.world>, orig_to=<fedora@mail.virtual.host>, relay=127.0.0.1[127.0.0.1]:10024, delay=0.14, delays=0.07/0.02/0.01/0.04, dsn=2.7.0, status=sent (250 2.7.0 Ok, discarded, id=07563-01 - INFECTED: Win.Test.EICAR_HDB-1)
May 18 02:01:00 mail postfix/qmgr[7660]: 0B5639F0C0: removed
Matched Content