Bekanntermaßen reicht der Softwarehersteller Parallels für die Linux Variante von PLESK ausschließlich den tollen Dr. Web oder Kaspersky als Anti-Virenmodul. Beide sind kostenpflichtig und nehmen nicht wenig an Gebühren. Bei Dr. Web sind es schon mal 300€, Kaspersky rechnet pro Postfach.
Aber: Es gibt Abhilfe. Dank Amavis, Postfix und Clamav kann man sich so ganz einfach einen kostenfreien Anti-Virenscanner schaffen.
Wie immer vorne weg: Wer keine Ahnung von Linux hat, nicht weiss was eine Shell ist und bei der Frage nach dem Texteditor unter Linux Notepad empfiehlt, sollte sich gleich von jemanden der sich mit dem Ganzen auskennt helfen lassen. Hier gibt es dazu Hilfe.
Voraussetzungen:
PLESK unter Linux, Clamav Daemon und Freshclam, Amavis installiert.
1) Konfiguration Amavis
Die Grundkonfiguration von Amavis sollte bereits erledigt sein, soll heißen ich erkläre hier nicht weiter wie man Clamav und Amavis verbindet, es gibt unzählige Anleitungen. Neu ist allerdings, dass wir Amavis nicht wie üblich auf Port 10024 laufen lassen, sondern wir müssen ihm einen neuen Port zuweisen, da in den Regionen 10020 – 10030 PLESK mit den ganzen Mailhandlern arbeitet. Ich vergebe daher die Ports 6000 und 6001. Unter Debian nutzen wir dabei 2 Dateien:
50-user.conf
$forward_method = ‘smtp:[127.0.0.1]:6001′;
$notify_method = ‘smtp:[127.0.0.1]:6001′;
In der Hauptkonfigurationsdatei stellen wir ebenfalls den Port um:
20-debian-defaults.conf
$inet_socket_port = 6000;
Damit sind die ersten Schritte schon erledigt. Der forward und notify Port muss übrigens angegeben werden. Wird er das nicht gibt es folgenden Fehler:
(!) WARN: sending SMTP QUIT command failed: 000
2) Postfix main.cf
Die beiden folgenden Einstellungen in der main.cf und master.cf von Postfix müssen im Übrigen vor Veränderungen geschützt werden. PLESK hat die Angewohnheit die Dateien bei jeder Änderung um Maileinstellungsbereich sowie auch bei Updates von PLESK komplett zu überschreiben. Jegliche Versuche PLESK zu erklären, dass nicht zu machen sind gescheitert. Ein chattr hilft hier auf jeden Fall weiter, sofern man EXT3/4 hat und nicht reiserfs.
Fangen wir also mit der main.cf an. Dort muss nur ein kleiner Eintrag eingefügt werden, da das meiste in der master.cf passiert.
main.cf
content_filter = smtp-amavis:[127.0.0.1]:6000
Nachdem dieser Eintrag an das Ende der Datei gesetzt wurde, sind wir hier auch schon fertig. Als nächstes folgt nun die master.cf:
master.cf
plesk_virtual unix – n n – - pipe flags=DORhu user=popuser:popuser argv=/usr/lib/plesk-9.0/postfix-local -f ${sender} -d ${recipient} -p /var/qmail/mailnames
127.0.0.1:10025 inet n n n – - spawn user=mhandlers-user argv=/usr/lib/plesk-9.0/postfix-queue 127.0.0.1 10027 before-queue
127.0.0.1:10026 inet n – - – - smtpd -o smtpd_client_restrictions= -o smtpd_helo_restrictions= -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o smtpd_data_restrictions= -o receive_override_options=no_unknown_recipient_checks
127.0.0.1:10027 inet n n n – - spawn user=mhandlers-user argv=/usr/lib/plesk-9.0/postfix-queue 127.0.0.1 10026 before-remote
plesk_saslauthd unix y y y – 1 plesk_saslauthd status=5 listen=6 dbpath=/plesk/passwd.db
submission inet n – - – - smtpd -o smtpd_enforce_tls=yes -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject -o smtpd_proxy_filter=127.0.0.1:10025
smtps inet n – - – - smtpd -o smtpd_proxy_filter=127.0.0.1:10025 -o smtpd_tls_wrappermode=yes
smtp-amavis unix - - n - 2 smtp -o smtp_data_done_timeout=1200 -o disable_dns_lookups=yes -o smtp_send_xforward_command=yes
127.0.0.1:6001 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
Das sind die kompletten Einträge die gesetzt werden müssen. Es werden vermutlich einige schon vorhanden sein. Ich empfehle einfach alles ab “plesk_virtual” rauszuwerfen und gleich neu einzusetzen, das erspart die Sucharbeit. Nachdem wir auch diesen Eintrag erledigt haben, sichern wir die beiden Dateien gegen Veränderung, starten Postfix neu und fertig
Vorher sollte aber jeder in PLESK selbst den Virenfilter auf “keinen” umgestellt haben, damit nicht doch noch Dr. Web im Hintergrund weiterläuft.