Introductie
In dit artikel zullen we beschrijven hoe je ClamAV (anti-virus) kunt configureren om inkomende mail te scannen op virussen in Plesk op CentOS 7. SpamAssassin in combinatie met ClamAV wordt beschouwd als een standaard setup ter bescherming tegen virussen en spam. Deze artikelen helpen bij het installeren en configureren van beide.
Vereisten
- VPS of Dedicated Server met Plesk Obsidian controlepaneel op CentOS 7
- SSH root toegang tot de server
Stap 1: Log in via SSH
Je moet via SSH ingelogd zijn als sudo of rootgebruiker. Lees dit artikel als je niet zeker weet hoe je verbinding moet maken.
Stap 2: Installeer EPEL repo
ClamAV is geinstalleerd vanuit EPEL repo.
yum -y install epel-release
Stap 3: Installeer ClamAV en utilities
yum -y install clamav clamd clamav-milter
Stap 4: Schakel freshclam in om virusdefinities automatisch bij te werken
systemctl enable clamav-freshclam systemctl start clamav-freshclam
Stap 5: Configureer clamd
Clamd wordt gebruikt om daadwerkelijk op virussen te scannen. In ons voorbeeld wordt clamd genoemd door clamav-milter.
sed -i "s|^#LogFacility LOG_MAIL|LogFacility LOG_MAIL|g" /etc/clamd.d/scan.conf sed -i "s|^#LocalSocket\s.*|LocalSocket /run/clamd.scan/clamd.sock |g" /etc/clamd.d/scan.conf sed -i "s|^#ScanArchive yes|ScanArchive yes|g" /etc/clamd.d/scan.conf sed -i "s|^#AlertEncrypted yes|AlertEncrypted yes|g" /etc/clamd.d/scan.conf sed -i "s|^#AlertEncryptedArchive yes|AlertEncryptedArchive yes|g" /etc/clamd.d/scan.conf sed -i "s|^#AlertEncryptedDoc yes|AlertEncryptedDoc yes|g" /etc/clamd.d/scan.conf sed -i "s|^#AlertBrokenExecutables yes|AlertBrokenExecutables yes|g" /etc/clamd.d/scan.conf
Stap 6: Schakel clamd in
systemctl enable [email protected] systemctl start [email protected]
Stap 7: Configureer clamav-milter
We brengen wijzigingen aan in clamav-milter en instrueren clamav-milter hoe er verbinding gemaakt kan worden met clamd. In onze configuratie worden virussen ook geweigerd.
sed -i "s|^Example|#Example|g" /etc/mail/clamav-milter.conf sed -i "s|^#ClamdSocket tcp:scanner.mydomain:7357|ClamdSocket unix:/run/clamd.scan/clamd.sock|g" /etc/mail/clamav-milter.conf sed -i "s|^#AddHeader Replace|AddHeader Replace|g" /etc/mail/clamav-milter.conf sed -i "s|^#LogFacility LOG_MAIL|LogFacility LOG_MAIL|g" /etc/mail/clamav-milter.conf sed -i "s|^#MilterSocket inet:7357|MilterSocket inet:3381@localhost|g" /etc/mail/clamav-milter.conf sed -i "s|^#OnInfected Quarantine|OnInfected Reject|g" /etc/mail/clamav-milter.conf
Stap 8: Schakel clamav-milter in
systemctl enable clamav-milter systemctl start clamav-milter
Stap 9: Verifeer dat clamav-milter nu draait
grep clamav-milter /var/log/maillog
De output moet er ongeveer zo uitzien:
Aug 28 14:41:41 s1.localhost clamav-milter[124614]: +++ Started at Fri Jun 19 16:43:51 2020
Stap 10: Postfix updaten in de hoofdconfiguratie
Dit is de stap waarin we Postfix instrueren om gebruik te maken van de clamav-milter.
postconf -e milter_default_action=accept postconf -e milter_protocol=6 postconf -e smtpd_milters="inet:127.0.0.1:12768, inet:127.0.0.1:3381" postconf -e non_smtpd_milters=inet:127.0.0.1:3381
Stap 11: Herlaad postfix
postfix reload
Stap 12: Test ClamAV (lokaal)
Bij deze stap zullen we testen of de levering van virussen wordt afgewezen.
We beginnen met het downloaden van het eicar-testbestand. Dit is een onschadelijk bestand (geen echt virus) dat door een antivirusoplossing als virus moet worden gedetecteerd.
cd /tmp wget https://secure.eicar.org/eicar.com.txt
Vervolgens installeren we mutt voor het versturen van een testmail met bijlage:
yum -y install mutt
We configureren mutt configureren om een juist van-adres te verzenden dat ook de bounce zal ontvangen. Vergeet niet het afzenderadres te wijzigen!
echo -e 'set from="[email protected]"' > /root/.muttrc echo -e 'set use_from=yes' >> /root/.muttrc echo -e 'set use_envelope_from=yes' >> /root/.muttrc
We gaan nu een e-mail sturen, zorg ervoor dat je het adres van de ontvanger vervangt.
echo "This message contains a virus" | mutt -a eicar.com.txt -s "This is a virus" -- [email protected]
Je zou de teruggestuurde e-mail in het e-maillogboek moeten kunnen zien (vervang het afzenderadres):
grep "[email protected]" /var/log/maillog
De output moet er ongeveer zo uitzien:
Aug 28 14:55:41 s1 postfix/cleanup[27493]: 2305E300A6E: milter-reject: END-OF-MESSAGE from localhost[127.0.0.1]: 5.7.1 Command rejected; from=<[email protected]> to=<[email protected]> Aug 28 14:55:41 s1 postfix/cleanup[27493]: 2305E300A6E: to=<[email protected]>, relay=none, delay=0.19, delays=0.19/0/0/0, dsn=5.7.1, status=bounced (Command rejected)
Als je de hele transactiegreep op de ID wilt zien (vervang ID):
grep 2305E300A6E /var/log/maillog
De output moet er ongeveer zo uitzien:
Aug 28 14:55:41 s1.localhost postfix/pickup[22190]: 2305E300A6E: uid=0 from=<root> Aug 28 14:55:41 s1.localhost postfix/cleanup[27493]: 2305E300A6E: message-id=<[email protected]> Aug 28 14:55:41 s1.localhost postfix/cleanup[27493]: 2305E300A6E: milter-reject: END-OF-MESSAGE from localhost[127.0.0.1]: 5.7.1 Command rejected; from=<[email protected]> to=<[email protected]> Aug 28 14:55:41 s1.localhost postfix/cleanup[27493]: 2305E300A6E: to=<[email protected]>, relay=none, delay=0.17, delays=0.17/0/0/0, dsn=5.7.1, status=bounced (Command rejected) Aug 28 14:55:41 s1.localhost postfix/cleanup[27493]: 2305E300A6E: to=<[email protected]>, relay=none, delay=0.19, delays=0.19/0/0/0, dsn=5.7.1, status=bounced (Command rejected) Aug 28 14:55:41 s1.localhost postfix/bounce[27499]: 2305E300A6E: sender non-delivery notification: 4D46F300A91
Opruimen:
rm -f /tmp/eicar.com.txt /root/.muttrc
Conclusie
Gefeliciteerd, je hebt nu ClamAV geconfigureerd om inkomende e-mail op virussen te kunnen controleren.
Geef een reactie