Hallo Sandy, deine Tipps hierzu waren echt gold wert. ;-) Habe nun Amavisd-new (Spamassassin) und Clamav installiert. Ich war schon recht erstaunt, wie das Spamaufkommen von 150 Mails pro Tag nun auf 10 Mails pro Tag geschrumpft ist. Wenn ich die Beschreibung von Amavisd-new richtig verstanden habe, müsste er doch Spamassassin als Modul mitlaufen haben, oder? Sandy Drobic schrieb:
Sehr schön, dann können wir ja anfangen, den Server etwas dichter zu ziehen. Postfix ist in der Standardkonfiguration kein Open Relay. Wenn du einen Router mit NAT verwendest und Port 25 forwardest, sollte das alles kein Thema sein.
Jupp, so ist es.
Gut zu wissen, dann sollte ich die Backup-MX-Einträge von den jeweiligen Domains löschen. Da mein Server die ganze Zeit lief wie am Schnürchen
Du tust damit dir und auch deinem Provider einen Gefallen. Problem ist, dass der Provider auf seinem Backup MX keine Liste der gültigen Adressen hat und auch seine Checks vermutlich sehr großzügig ausgelegt sind. Schließlich wollen die Kunden ja den Backup MX, um ja keine Mail zu verlieren. Das Problem ist nur, das in den Mengen an Spam die wenigen Perlen häufiger untergehen und mit gelöscht werden, als man denkt. :-((
Ja, das ist etwas, was ich leider nicht bedacht habe.
DIESE Gefahr sehen die wenigsten, die einen Backup MX beantragen. Im Augenblick ist die "Best Practice", dass man nur dann einen Backup MX verwendet, wenn dieser die gleichen Checks verwendet wie der Primary MX.
Genau, dass ist in den meisten Fällen leider nicht der Fall. Woher soll der Provider dies wissen?
Nebeneffekt für den Provider ist, dass er nicht mehr die ganzen Bounces von Spam und Viren an die gefälschten Absender zurückschickt und womöglich selbst auf einer Blacklist landet. Eigentlich sollte der Provider ein Abkommen treffen, dass Mails, die der Backup MX annimmt, auch von dem Kunden abgenommen werden. Ob dieser die Mails löscht, ist dann sein Problem. Leider lassen viele nachlässige Provider zu, dass deren Backup MX die ganzen Bounces in die Gegend schiesst.
Hm, das könnte echt unglücklich enden.
Die einfachste Methode ist es, Spamassassin innerhalb von Amavisd-new zu verwenden. Dazu wird Amavisd-new als sogenannter content_filter verwendet. Dieser bekommt die Mails, nachdem Postfix sie vollständig angenommen hat.
Da die Mail jetzt schon von deinem Server angenommen wurde und die Verantwortung damit auf dich übergegangen ist, kannst du die Mails eigentlich nur noch zustellen oder löschen. In Deutschland ist es rechtlich (und auch verfahrenstechnisch) in den meisten Fällen nur zulässig, die Mails zuzustellen (und im Fall von Spam) zu markieren. Der User kann sie dann anhand der Markierung sortieren.
Wenn eine Mail als Virus identifiziert wird, kann man sie auch löschen bzw in Quarantäne schieben.
Deshalb sollte man darauf achten, dass bei Amavisd-new die entsprechenden Einstellungen korrekt gesetzt sind:
$final_spam_destiny = D_PASS; $final_virus_destiny = D_DISCARD; $final_banned_destiny = D_DISCARD; $final_bad_header_destiny = D_PASS;
Diese Einstellung habe ich mal übernommen.
Unabhängig davon kann eine Quarantäne eingerichtet werden. In dieses Verzeichnis oder auch Mailbox werden dann die Viren/Spams in Quarantäne gesteckt.
Ich mache es so, das Viren/banned in Quarantäne kommen, ich aber eine Mail bekomme über den Vorfall, und die Mail selbst gelöscht wird.
Die Benachrichtigung kann man auf seine eigenen Gegebenheiten anpassen.
Wenn ich in der Konfiguration richtig gesehen habe, wird man standardmässig über virusalert@irgendeinedomain.de benachrichtigt, richtig?
Aber zurück zu Postfix.
Hier eine Konfiguration, die schon einiges an Spam abweist, aber keine normalen Mailserver abweisen sollte:
smtpd_recipient_restrictions =
# alle Emailsadressen müssen aus localpart + "@" + domain bestehen reject_non_fqdn_sender reject_non_fqdn_recipient
# IPs in mynetworks dürfen relayen permit_mynetworks
# Authentifizierte Benutzer ebenfalls permit_sasl_authenticated
# alle anderen dürfen nur an die eigenen Domains einliefern. reject_unauth_destination
# und auch nur an gültige Adressen reject_unlisted_recipient
Folgende Einstellung verwende ich zur Zeit bei Postfix: smtpd_recipient_restrictions = reject_unknown_recipient_domain, permit_sasl_authenticated, reject_unauth_destination Was ist eigentlich mit dem Parameter permit_mynetworks? Bisher funktioniert es auch ohne dieses Parameter einwandfrei.
# da jetzt die Mails zustellbar sind (alle an gültige Adressen) # kommt die Whitelist für wichtige Server # check_client_access hash:/etc/postfix/client_whitelist
# weise Mails ab, die eine ungültige absenderdomain haben # (können nicht beantwortet werden) reject_unknown_sender_domain
# nimm Mails an postmaster und abuse jetzt an: # check_recipient_access hash:/etc/postfix/recipient_role_account
# weise Mails von extern ab, die als mx localhost etc. eintragen: # check_sender_mx_access pcre:/etc/postfix/client_mx_forbidden
# weise mails ab, die die eigen IP/Hostnamen als HELO senden: # check_helo_access pcre:/etc/postfix/helo_forbidden
# weise Mails ab, die ungültige Hostnamen als HELO senden: reject_invalid_helo_hostname
# weise Mails ab, die keine komplette Domain/Hostnamen als HELO # senden: reject_non_fqdn_helo_hostname
# weise Mails ab, die auf der spamhaus.org Blacklist stehen reject_rbl_client zen.spamhaus.org
Bereits mit dieser Konfig solltest du einen Großteil des Spams loswerden, ohne normalen Mailservern auf die Füße zu treten. Ich habe die Konfigbefehle auskommentiert, die noch weitere Arbeit benötigen (wie das anlegen von Dateien mit Angaben.
Die auskommentierten Befehle können bei Bedarf konfigiert werden (und sollten es auch!). In die client_whitelist kommen die Server von den wichtigen Kunden/Partnern, die auf keinen Fall abgewiesen werden sollen.
Nähere dich deiner optimalen Konfig an. Überprüfe auch das Log anhand von Logberichten wie PFLogsumm, die einen schnellen Überblick über die abgewiesenen Mails geben.
Die Checks in Postfix können auch anhand von warn_if_reject vor dem Check nur Warnen und nicht ablehnen. Dann kann man vorher prüfen, ob auch wirklich nicht die wichtigen Server abgewiesen werden.
Nun, eine Whitelist im Mailverkehr habe ich grundsätzlich was dagegen. Ausser wenn es eine geschlossene Gruppe ist. In meinem Fall, können Sie ja von überall herkommen. Viele Grüße Sebastian -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org