[Postfixbuch-users] Restrictions
Kai Fürstenberg
kai_postfix at fuerstenberg.ws
Sa Feb 8 20:25:16 CET 2014
Am 08.02.2014 01:39, schrieb Silvio Siefke:
> Das meinte ich, diese restriction sind ehrlich nicht einfach zu verstehen.
Worauf Patrick hinauswollte war, dass du in
smtpd_(client|helo)_restrictions ein "permit_sasl_authenticated" stehen
hast. Das gehört dort gar nicht hin, weil weder nach dem Connect noch
dem HELO ein SASL Login erfolgt ist. Diese Restriktion dort
reinzuschreiben ist schlicht unlogisch.
Die Restriktionen allgemein sind sogar sehr einfach zu verstehen, aber
du musst das Gesamtbild betrachten:
Man darf nicht hergehen, und sich von den client/helo/sender/recipient
und relay-restrictions in die Irre führen lassen. Man kann generell ALLE
Restriktionen in die smtpd_recipient_restrictions setzen, oder man teilt
sie sinnvoll auf zwei Parameter auf, wie es mittlerweile eigentlich
üblich ist:
Du brauchst im allgemeinen nur diese zwei Parameter, nämlich
smtpd_relay_restrictions und smtpd_recipient_restrictions, wobei die
relay_restrictions sogar noch in die recipient_restrictions reinkönnen,
und ersterer dafür leer bleibt (den müsstest du dann aber auch explizit
als leer definieren).
smtpd_relay_restrictions sind für die Zulassung von ausgehenden Mails
(typischerweise SASL auth). Also für dich:
smtpd_relay_restrictions =
permit_mynetworks
permit_sasl_authenticated
In die smtpd_recipient_restrictions kommen dann die Restriktionen für
eingehende Mails rein.
Bei dir also (ich hab noch etwas angepasst und weggelassen, erkläre ich
unten):
smtpd_recipient_restrictions =
reject_unauth_destination
reject_invalid_helo_hostname
reject_non_fqdn_helo_hostname
reject_unknown_helo_hostname
check_policy_service unix:private/policyd-spf
check_policy_service unix:private/postgrey
reject_unknown_recipient_domain habe ich weggelassen. Warum?: Dieser
Parameter betrifft nur Relay-Mails, also ausgehende Mails. Die Domains,
die du hostest, sind niemals unbekannt. Nur fremde Domains können
unbekannt sein, und damit sind von diesem Parameter nur authentifizierte
Mails deiner User betroffen. Wenn du diesen dennoch verwenden willst,
muss der _vor_ das permit_sasl_authenticated in die
smtpd_relay_restrictions.
reject_invalid/unknown/non_fqdn_hostname heißen jetzt *_helo_hostname
(ich gehe mal davon aus, dass du nicht mehr Version 2.2 oder früher
verwendest).
Übrigens: Die Verwendung der helo_restriktionen erzeugt allgemein recht
viele false positives im Normalgebrauch, da der HELO-Name vielfach nicht
dem DNS-Hostnamen entspricht, gescheige denn überhaupt irgendwas
sinnvolles enthält. Auf das HELO kann man sich genau so wenig verlassen,
wie auf fremde Absender-E-Mail-Adressen.
Sinnvoller wären Client-Restriktionen wie
reject_non_fqdn_sender
reject_unknown_sender_domain
Aber auch die gehören in die RECIPIENT-restrictions.
Das permit am Ende kann man weglassen. Was bis dahin durchkommt, wird eh
angenommen, kann man der Übersicht halber aber auch stehen lassen.
So, und mehr steht bei dir nicht drin in deinen Restriktionen. Durch
Verwendung der Helo- und Client_restrictions hast du einiges doppelt
drin gehabt, was gar nicht nötig war.
Damit dürfte das ganze schon wesentlich einfacher aussehen.
Wichtig ist: Die Restriktionen werden nacheinander in der Reihenfolge
ausgeführt, in der du sie aufgeschrieben hast. Sobald eine Restriktion
greift wird sie ausgeführt, der Rest interessiert danach nicht mehr.
--
Kai Fürstenberg
PM an kai at fuerstenberg punkt ws
Mehr Informationen über die Mailingliste Postfixbuch-users