On 28.11.2011 13:49, Helga Fischer wrote:
Hallo Daniel,
Am Montag 28 November 2011 schrieb Daniel Bauer:
From: "Helga Fischer"
Am Sonntag 27 November 2011 schrieb Daniel Bauer:
From: "Helga Fischer"
Am Sonntag 27 November 2011 schrieb Daniel Bauer:
ich glaub ich seh den Wald vor lauter Bäumen nicht.
Ich möchte die Mails für
[...]
Ist vielleicht besser, wenn Du uns verrätst, was Dein Einsatzszenario überhaupt ist.
1. Authentifizierte Benutzer sollen Mails versenden können. Das klappt auch wunderbar.
2. Mails für alles in der virtual_alias_maps und alias_maps sollen angenommen werden. Das geht leider zu "gut" und wird wie beschrieben auch für jeden Systemuser angenommen.
Hmmm... Systembenutzer sind bei Dir welche? Normalerweise haben Datenbank, Postfix oder Nobody einen Sperraccount und besitzen damit keinen Useraccount. Normalerweise sollten sie daher auch keine Mails bekommen. root kann Mails annehmen, die von außen kommen. Darüber habe ich jedoch noch nie irgendeine Spammail bekommen.
Hier sind mal Auszüge aus meiner main.cf (KMail bricht halt an ein paar Stellen um)
smtpd_banner = $myhostname ESMTP biff = no
# appending .domain is the MUA's job. append_dot_mydomain = no
# Uncomment the next line to generate "delayed mail" warnings #delay_warning_time = 4h
myhostname = mailserver.domain.tld mydomain = domain.tld alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases myorigin = /etc/mailname mydestination = $myhostname, $mydomain, localhost, localhost. $mydomain
mynetworks = 123.123.123.123, 127.0.0.0/8
# Naechste Zeile dient der Spamabwehr ueber nicht-existente Subdomains parent_domain_matches_subdomains=
mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = all
smtpd_delay_reject=yes
# Authentifizierung der Nutzer # saslauth einrichten; je nach Distri manchmal etwas zickig
smtpd_sasl_auth_enable = yes smtpd_sasl_local_domain = smtpd_sasl_security_options = noanonymous broken_sasl_auth_clients = yes
# Noch ein paar Schalter fuer Spamabwehr (sonstiges) smtpd_helo_required = yes
# smtp-helo-restrictions (Stufe 1 Spamabwehr) smtpd_helo_restrictions = permit_mynetworks, warn_if_reject, reject_unauth_pipelining, reject_invalid_hostname
# smtp-restrictions (Stufe 2 Spamabwehr) # Hier kann man alle Pruefungen eintragen
smtpd_sender_restrictions = permit_mynetworks, reject_unknown_sender_domain
# Die Schalter sorgen für die Abwehr von Spammern # Die halten sich halt nicht an die Regeln # Hier kann man sicher noch mehr machen smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, reject_unauth_pipelining, reject_unlisted_recipient, reject_invalid_hostname
Es ist gerade für Beginner einfacher, alles unter smtpd_recipient_restrictions einzutragen. wenn smtpd_delay_reject=yes (default) ist, dann gibt es ohnehin keine Vorteile, dies auf die einzelnen smtpd_*_restrictions zu verteilen. Im Gegenteil, das führt eher zu Situationen, die das Haareraufen fördern, wenn z.B. ein Client sich erfolgreich authentifiziert, aber dann doch von der Spamabwehr abgewiesen wird, weil der HELO nicht als gültig einstuft wird. Inzwischen hat sich auch die Nomenklatur von Postfix etwas geändert und ist eindeutiger geworden (seit Postfix 2.3, also schon einige Jahre). reject_invalid_hostname -> reject_invalid_helo_hostname reject_non_fqdn_hostname -> reject_non_fqdn_helo_hostname Da du bereits reject_invalid_helo_hostname in smtpd_recipient_restrictions gesetzt hast, brauchst du den Check nicht zusätzlich in smtpd_helo_restrictions aufführen. Ausnahmen wie Whitelists sind weit sauberer einzusetzen, wenn man sie nicht in jeder einzelnen smtpd_*_restrictions platzieren muss.
# Liste Weiterleitungen virtual_alias_maps = $virtual_alias virtual_alias_maps = hash:/etc/postfix/virtual_alias
# Liste der virtuellen Domains # Hier kann man, wenn man will, Catch-Alls einrichten # Nein, das will man nicht wirklich virtual_alias_domains = $virtual_domains virtual_alias_domains = hash:/etc/postfix/virtual_domains
[...]
Der Trick ist, die alias_map sorgt dafür, dass der Postfix erst da nachguckt, ob er den Benutzer kennt. Dann checkt er noch ab, ob er für die Domain zuständig ist.
Das sollte nicht funktionieren. Wenn ein Parameter doppelt vergeben wird, zählt nur die letzte Einstellung. Schaue dir mal die Ausgabe von "postconf -n" an. Das bildet die effektive Konfiguration recht gut ab. (postconf -n entspricht der Default-Konfiguration überlagert von Änderungen). Ob Postfix für eine Domain zuständig ist, wird durch den Check reject_unauth_destination geprüft. Wo dieser gesetzt wird ist eine Sache des Admins, es sollte jedoch sinnvollerweise vor der Prüfung des einzelnen Empfängers sein.
Mein Mailserver versorgt halt ein paar Domains, die auf der gleichen IP gehostet sind.
Das ist normal.
3. Spamfilter - da bin ich noch dabei.
Sehr wirksam: Greylisting. Hab's aber noch nicht eingerichtet.
Da gibt es viele Verfahren. Ich verwende ein selektives Greylisting, das nur Mails von Clients mit unbekannten oder dynamisch aussehenden Hostnamen ins Greylisting schickt. Ganz billig ist z.B. reject_non_fqdn_helo_hostname, was Clients abweist, die keinen vollständigen Hostnamen im HELO angeben. Die Fehlerquote ist auch sehr gering.
Bei fehlerhaften Benutzern z.B. xyz@domain.a funktioniert das auch schon, aber z.B. bei Systembenutzern nimmt Postfix die Mails an, z.B. wwwrun@domain.a und das will ich verhindern.
Du musst die Stelle finden, wo Postfix die Erlaubnis gegeben wird, für den wwwrun die Post zu akzeptieren. Hast Du überhaupt eine aliasdb bzw. eine alias_map?
local_recipient_maps für Domains in mydestination. Das zentrale How-To für Domains in Postfix ist: http://www.postfix.org/ADDRESS_CLASS_README.html Sandy -- Sandy Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply2 (@)drobic (.) de -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org