Bots en geïnfecteerde servers sturen veel virussen rond per e-mail. Het is dan ook belangrijk voor de beveiliging van je mailserver om een anti-virus scanner te gebruiken. In deze tutorial laten wij zien hoe je voor een mailserver met Postfix en Dovecot gebruik maakt van ClamAV als virusscanner.
- Voor de stappen in deze handleiding is VPS met Ubuntu, Debian, CentOS Stream, AlmaLinux of Rocky Linux met Postfix en Dovecot nodig. In deze handleiding leggen wij uit hoe je Postfix en Dovecot installeert en configureert. Wij gaan er voor deze handleiding vanuit dat je die handleiding hebt doorlopen.
- Installeer van tevoren ClamAV (CentOS Stream, AlmaLinux, Rocky Linux, Ubuntu, Debian). Let wel dat ClamAV een RAM-intensief programma is en al snel bijna 1GB gebruikt.
- Voer de commando's in deze handleiding uit met sudo, of als root-user.
Stap 1
Verbind met je VPS via SSH of de VPS-console in het TransIP-controlepaneel.
Stap 2
Om PostFix gebruik te kunnen laten maken van ClamAV gebruiken we Amavisd. Dit is een interface tussen MTA's en content checkers zoals ClamAV):
Ubuntu & Debian:
apt -y install amavisd-new
CentOS Stream, AlmaLinux & Rocky Linux:
dnf --enablerepo=PowerTools dnf -y install amavisd-new
Stap 3
Open de configuratie van Amavisd:
Ubuntu & Debian:
nano /etc/amavis/conf.d/15-content_filter_mode
CentOS Stream, AlmaLinux & Rocky Linux:
nano /etc/amavisd/amavisd.conf
Stap 4
Ontcommentarieer / pas de onderstaande regels aan in het bestand.
Ubuntu & Debian:
@bypass_virus_checks_maps = ( \%bypass_virus_checks, \@bypass_virus_checks_acl, \$bypass_virus_checks_re); @bypass_spam_checks_maps = ( \%bypass_spam_checks, \@bypass_spam_checks_acl, \$bypass_spam_checks_re);
CentOS Stream, AlmaLinux & Rocky Linux:
In de comments (beginnend met #) wordt aangegeven op welk regelnummer je (ten tijde van schrijven) de optie vindt:
# regel 23
$mydomain = 'voorbeeld.nl';
# regel 155
$myhostname = 'mail.voorbeeld.nl';
# regel 157 & 158
$notify_method = 'smtp:[127.0.0.1]:10025';
$forward_method = 'smtp:[127.0.0.1]:10025';
Vervang voor $mydomain de waarde voorbeeld.nl door het domein dat je gebruikt als hostname, maar dan zonder voorvoegsel en bij $myhostname de waarde door je hostname.
Sla de wijzigingen op en sluit het bestand (ctrl + x > y > enter).
Stap 5
In de Postfix-configuratie is een nieuwe service voor Amavisd nodig. Open de Postfix-configuratie met:
nano /etc/postfix/master.cf
Stap 6
Voeg de volgende code toe onderaan het bestand.
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
Sla vervolgens de wijzigingen op en sluit het bestand (ctrl + x > y > enter).
Stap 7
Om met Amavisd te kunnen werken heeft Dovecot een 'statistics' service en een dh-key nodig. Open hiervoor de Dovecot-configuratie:
nano /etc/dovecot/dovecot.conf
Stap 8
Voeg onderaan het bestand de volgende code toe:
service stats {
unix_listener stats-reader {
user = vmail
group = vmail
mode = 0660
}
unix_listener stats-writer {
user = vmail
group = vmail
mode = 0660
}
}
ssl_dh = </etc/dovecot/dh.pem
Sla daarna de wijzigingen op en sluit het bestand (ctrl + x > y > enter)./p>
Stap 9
Genereer het benodigde dh.pem certificaat (dit duurt een tijdje):
openssl dhparam -out /etc/dovecot/dh.pem 4096
Stap 10
Herstart tot slot de benodigde services en schakel Amavisd in:
systemctl enable amavisd
systemctl restart amavisd
systemctl restart postfix
systemctl restart dovecot
Daarmee zijn we aan het eind van dit artikel gekomen. Wij raden om naast een virusscanner ook een spamscanner toe te voegen aan je mailserver. In deze handleiding leggen wij uit hoe je dit doet.
Mocht je aan de hand van deze tutorial nog vragen hebben, aarzel dan niet om onze supportafdeling te benaderen. Je kunt hen bereiken via de knop 'Neem contact op' onderaan deze pagina.