Postfix Integration · 5 min read · Jan 16, 2026
Integration von amavisd-new in Postfix zur Spam- und Virenprüfung - Seite 2
3 Debian Sarge
Für volatile Pakete wie ClamAV (es gibt sehr oft neue ClamAV-Versionen) existiert das Debian-volatile-Repository (zum Zeitpunkt dieses Schreibens nur für Sarge und Woody). Um sicherzustellen, dass wir das neueste ClamAV-Paket installieren, bearbeiten wir zuerst /etc/apt/sources.list und fügen die folgende Zeile hinzu:
vi /etc/apt/sources.list| [...] deb http://volatile.debian.net/debian-volatile sarge/volatile main contrib non-free |
Danach aktualisieren wir unsere Paketdatenbank, indem wir Folgendes ausführen:
apt-get updateDann installieren wir amavisd-new, SpamAssassin und ClamAV zusammen mit ein paar anderen Programmen (hauptsächlich Programme, die amavisd-new benötigt, um Archive zu entpacken, da E-Mails Archive als Anhänge enthalten können):
apt-get install amavisd-new spamassassin clamav clamav-daemon zoo unzip unarj bzip2 unzoo libnet-ph-perl libnet-snpp-perl libnet-telnet-perl nomarch lzopSie werden ein paar Fragen gestellt:
Virusdatenbank-Aktualisierungsmethode: <– daemon
Lokale Datenbank-Spiegelseite: <– db.de.clamav.net (Deutschland; wählen Sie den Spiegel, der Ihnen am nächsten ist)
HTTP-Proxy-Informationen (leer lassen, wenn keiner): <– (leer)
Soll clamd nach Updates benachrichtigt werden? <– Ja
Danach müssen wir amavisd-new konfigurieren, indem wir /etc/amavis/amavisd.conf bearbeiten. Dies ist eine sehr lange Datei mit vielen Kommentaren. Die meisten Standardeinstellungen sind in Ordnung, stellen Sie jedoch sicher, dass die @bypass_virus_checks_acl und @bypass_spam_checks_acl auskommentiert sind, da sonst amavisd-new den Anti-Spam/-Virus-Code nicht lädt (in meiner Kopie war die Zeile @bypass_spam_checks_acl aktiv, also musste ich sie auskommentieren):
vi /etc/amavis/amavisd.conf| [...] # @bypass_virus_checks_acl = qw( . ); # auskommentieren, um den Anti-Virus-Code zu DEAKTIVIEREN [...] # @bypass_spam_checks_acl = qw( . ); # Keine Standardabhängigkeit von spamassassin [...] |
Und dann sollten Sie sich die Spam-Einstellungen und die Aktionen für Spam-/Virus-E-Mails in derselben Datei ansehen. Es ist nicht notwendig, etwas zu ändern, wenn die Standardeinstellungen für Sie in Ordnung sind. Die Datei enthält viele Erklärungen, sodass es nicht notwendig ist, die Einstellungen hier zu erklären:
| [...] $final_virus_destiny = D_DISCARD; # (standardmäßig D_BOUNCE) $final_banned_destiny = D_BOUNCE; # (standardmäßig D_BOUNCE) $final_spam_destiny = D_REJECT; # (standardmäßig D_REJECT) $final_bad_header_destiny = D_PASS; # (standardmäßig D_PASS), D_BOUNCE empfohlen [...] $virus_admin = "postmaster\@$mydomain"; # aufgrund der D_DISCARD-Vorgabe [...] $QUARANTINEDIR = '/var/lib/amavis/virusmails'; #$virus_quarantine_method = "local:virus-%i-%n"; # standard #$spam_quarantine_method = "local:spam-%b-%i-%n"; # standard $virus_quarantine_to = 'virus-quarantine'; # traditionelle lokale Quarantäne $spam_quarantine_to = 'spam-quarantine'; [...] $sa_local_tests_only = 1; # (standard: falsch) #$sa_auto_whitelist = 1; # AWL aktivieren (standard: falsch) # Timeout für SpamAssassin. Dies wird nur verwendet, wenn spamassassin NICHT e# es überschreibt (was es oft tut, wenn sa_local_tests_only nicht wahr ist) $sa_timeout = 30; # Timeout in Sekunden für einen Aufruf an SpamAssassin # (Standard ist 30 Sekunden, undef deaktiviert es) # AWL (automatische Whitelist), erfordert spamassassin 2.44 oder besser # $sa_auto_whitelist = 1; # standardmäßig undef $sa_mail_body_size_limit = 150*1024; # verschwenden Sie keine Zeit mit SA, wenn die Mail größer ist # (weniger als 1% des Spam ist > 64k) # standard: undef, keine Einschränkungen # Standardwerte, können durch spezifischere Abfragen überschrieben werden, z.B. SQL $sa_tag_level_deflt = 4.0; # Spam-Info-Header hinzufügen, wenn auf oder über diesem Niveau $sa_tag2_level_deflt = 6.31; # 'Spam erkannt'-Header auf diesem Niveau hinzufügen $sa_kill_level_deflt = $sa_tag2_level_deflt; # löst spamvermeidende Maßnahmen aus # auf oder über diesem Niveau: zurückweisen/ablehnen/drop, # Quarantäne und Hinzufügen der E-Mail-Adressen-Erweiterung $sa_dsn_cutoff_level = 10; # Spam-Niveau, über dem ein DSN nicht gesendet wird, # was D_BOUNCE effektiv in D_DISCARD umwandelt; # undef deaktiviert diese Funktion und ist eine Vorgabe; $sa_spam_subject_tag = '*SPAM* '; # (standardmäßig undef, deaktiviert) [...] |
Danach führen Sie diese Befehle aus, um den clamav-Benutzer zur amavis-Gruppe hinzuzufügen und amavisd-new und ClamAV neu zu starten:
adduser clamav amavis
/etc/init.d/amavis restart
/etc/init.d/clamav-daemon restartAls nächstes müssen wir die Konfigurationsdatei des Freshclam-Daemons bearbeiten (das ist der Daemon, der regelmäßig und automatisch die neuesten Virensignaturen von einem ClamAV-Spiegel abruft), da sie einen kleinen Fehler enthält. Öffnen Sie /etc/clamav/freshclam.conf und ändern Sie die NotifyClamd-Zeile wie unten gezeigt:
vi /etc/clamav/freshclam.conf| [...] NotifyClamd /etc/clamav/clamd.conf [...] |
Dann starten Sie Freshclam neu (stellen Sie sicher, dass kein anderer Freshclam-Prozess (vielleicht von einer anderen ClamAV-Installation) läuft, da sonst unser Freshclam nicht starten kann):
/etc/init.d/clamav-freshclam restartJetzt müssen wir Postfix so konfigurieren, dass eingehende E-Mails über amavisd-new geleitet werden:
postconf -e 'content_filter = amavis:[127.0.0.1]:10024'
postconf -e 'receive_override_options = no_address_mappings'Danach fügen Sie die folgenden Zeilen zu /etc/postfix/master.cf hinzu:
vi /etc/postfix/master.cf| [...] amavis unix - - - - 2 smtp -o smtp_data_done_timeout=1200 -o smtp_send_xforward_command=yes 127.0.0.1:10025 inet 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 receive_override_options=no_unknown_recipient_checks,no_header_body_checks -o smtpd_bind_address=127.0.0.1 |
Dann starten Sie Postfix neu:
/etc/init.d/postfix restartFühren Sie jetzt
netstat -tapund Sie sollten sehen, dass Postfix (master) auf Port 25 (smtp) und 10025 und amavisd-new auf Port 10024 lauscht:
server1:~# netstat -tap
Aktive Internetverbindungen (Server und etabliert)
Proto Recv-Q Send-Q Lokale Adresse Fremde Adresse Zustand PID/Programmname
tcp 0 0 localhost.localdo:10024 *:* LISTEN 4369/amavisd (maste
tcp 0 0 localhost.localdo:10025 *:* LISTEN 4895/master
tcp 0 0 *:874 *:* LISTEN 1964/rpc.statd
tcp 0 0 *:sunrpc *:* LISTEN 1553/portmap
tcp 0 0 *:auth *:* LISTEN 1932/inetd
tcp 0 0 *:smtp *:* LISTEN 4895/master
tcp6 0 0 *:imaps *:* LISTEN 3177/couriertcpd
tcp6 0 0 *:pop3s *:* LISTEN 3094/couriertcpd
tcp6 0 0 *:pop3 *:* LISTEN 3038/couriertcpd
tcp6 0 0 *:imap2 *:* LISTEN 3129/couriertcpd
tcp6 0 0 *:ssh *:* LISTEN 1943/sshd
tcp6 0 0 *:smtp *:* LISTEN 4895/master
tcp6 0 148 localhost:ssh localhost:4631 ESTABLISHED2052/0Wenn Sie möchten, können Sie jetzt Razor, Pyzor und DCC zu SpamAssassin hinzufügen, um die Filterleistung zu verbessern. Razor, Pyzor und DCC sind Spamfilter, die ein kollaboratives Filternetzwerk verwenden. Um sie zu installieren, führen Sie aus
apt-get install razor pyzor dcc-clientJetzt müssen wir SpamAssassin sagen, dass es diese drei Programme verwenden soll. Bearbeiten Sie /etc/spamassassin/local.cf und fügen Sie die folgenden Zeilen hinzu:
vi /etc/spamassassin/local.cf| [...] # dcc use_dcc 1 dcc_path /usr/bin/dccproc dcc_add_header 1 dcc_dccifd_path /usr/sbin/dccifd #pyzor use_pyzor 1 pyzor_path /usr/bin/pyzor pyzor_add_header 1 #razor use_razor2 1 razor_config /etc/razor/razor-agent.conf #bayes use_bayes 1 use_bayes_rules 1 bayes_auto_learn 1 |
Starten Sie amavisd-new danach neu:
/etc/init.d/amavis restartDas war’s schon. Jetzt beobachten Sie Ihr Mail-Log (/var/log/mail.log), um zu sehen, ob amavisd-new ordnungsgemäß funktioniert. amavisd-new wird protokollieren, wann immer es eine Spam- oder Virus-E-Mail findet. Wenn Sie (re)starten, sollte es auch protokollieren, dass es seinen Spam- und Virenscan-Code lädt (wenn nicht, haben Sie wahrscheinlich etwas falsch gemacht).
Um einen Live-Blick auf Ihr Mail-Log zu werfen, können Sie diesen Befehl verwenden:
tail -f /var/log/mail.log(Drücken Sie CTRL + c, um das Log zu verlassen.)
4 Links
- amavisd-new: http://www.ijs.si/software/amavisd
- Postfix: http://www.postfix.org
- ClamAV: http://www.clamav.net
- SpamAssassin: http://spamassassin.apache.org
- Debian: http://www.debian.org
- Ubuntu: http://www.ubuntu.com
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.