[postfix-users] smtpd_recipient_restrictions und aliases/address rewriting
postfix-ldap 2.3.8-2+b1 - cyrus 2.2.13-10
Hallo,
folgende Situation:
Auf einem von mir eingerichteten Mailserver werden die Mailaccounts gegen ein LDAP Verzeichniss authentifiziert. Jeder LDAP Account enthält ein Attribut "mailEnabled" welches von Postfix per
"smtpd_recipient_restrictions = check_recipient_access ldap:ldapmailenab"
ausgewertet wird. Ist das Attribut auf "OK" gesetzt werden Mails an den Account zugestellt. Bei "550 User temporary disabled" wird die Mail von Postfix abgewiesen.
folgendes Problem:
Funktioniert soweit auch ganz gut, allerdings nur, solange die Empfängeradresse nicht von Postfix umgeschrieben wird. Beispiel Alias. Jeder Benutzer hat auch ein Alias Attribut. Wird eine Mail an seinen Alias gesendet greifen die "smtpd_recipient_restrictions" nicht mehr und die Mail wird trotz abgeschaltetem Account zugestellt.
Wie kann ich es erreichen das die "smtpd_recipient_restrictions" auch bei address rewriting greifen ?
ein paar Auszüge aus Config- und Logfiles
#### main.cf ####
alias_maps= hash:/etc/aliases, ldap:ldapaliases smtpd_recipient_restrictions = check_recipient_access ldap:ldapmailenab, permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination
ldapaliases_server_host= localhost ldapaliases_server_port= 389 ldapaliases_bind= no ldapaliases_timeout= 20 ldapaliases_search_base= ou=Users,dc=aepnet,dc=de ldapaliases_query_filter= (alias=%s) ldapaliases_result_attribute= uid ldapaliases_lookup_wildcards= no
ldapmailenab_server_host= localhost ldapmailenab_server_port= 389 ldapmailenab_bind= no ldapmailenab_timeout= 20 ldapmailenab_search_base= ou=Users,dc=aepnet,dc=de ldapmailenab_query_filter= (|(mail=%s)(alias=%s)) ldapmailenab_result_attribute= mailenabled ldapmailenab_lookup_wildcards= no
#### Teil LDIF eines Users #### dn: uid=robberer, ou=Users, dc=aepnet,dc=de mail: robberer@aepnet.de alias: robert.nachname uid: robberer mailEnabled: 550 User temporary disabled
#### /var/log/mail.log #### #### email an robberer@aepnet.de (richtiges cyrus postfach) #### Jul 30 11:41:57 mail1 postfix/smtpd[22463]: NOQUEUE: reject: RCPT from mx01.aepnet.de[212.204.48.213]: 550 5.7.1 robberer@aepnet.de: Recipient address rejected: User temporary disabled; from=robberer@xxxxxxx.de to=robberer@aepnet.de proto=ESMTP helo=<mx01.aepnet.de>
#### /var/log/mail.log #### #### email an robert.nachname@aepnet.de (alias für robberer@aepnet.de) #### Jul 30 11:44:30 mail1 postfix/lmtp[22480]: 1C31B6000C6: to=robberer@aepnet.de, orig_to=robert.nachname@aepnet.de, relay=mail2.aepnet.de[/var/run/cyrus/socket/lmtp], delay=0.35, delays=0.17/0/0.04/0.13, dsn=2.1.5, status=sent (250 2.1.5 Ok)
MfG Robert
* Robert postfix-users@de.postfix.org:
postfix-ldap 2.3.8-2+b1 - cyrus 2.2.13-10
Hallo,
folgende Situation:
Auf einem von mir eingerichteten Mailserver werden die Mailaccounts gegen ein LDAP Verzeichniss authentifiziert. Jeder LDAP Account enthält ein Attribut "mailEnabled" welches von Postfix per
"smtpd_recipient_restrictions = check_recipient_access ldap:ldapmailenab"
ausgewertet wird. Ist das Attribut auf "OK" gesetzt werden Mails an den Account zugestellt. Bei "550 User temporary disabled" wird die Mail von Postfix abgewiesen.
Falscher ort für Prüfung. ..._recipient_maps dafür nutzen.
p@rick
folgendes Problem:
Funktioniert soweit auch ganz gut, allerdings nur, solange die Empfängeradresse nicht von Postfix umgeschrieben wird. Beispiel Alias. Jeder Benutzer hat auch ein Alias Attribut. Wird eine Mail an seinen Alias gesendet greifen die "smtpd_recipient_restrictions" nicht mehr und die Mail wird trotz abgeschaltetem Account zugestellt.
Wie kann ich es erreichen das die "smtpd_recipient_restrictions" auch bei address rewriting greifen ?
ein paar Auszüge aus Config- und Logfiles
#### main.cf ####
alias_maps= hash:/etc/aliases, ldap:ldapaliases smtpd_recipient_restrictions = check_recipient_access ldap:ldapmailenab, permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination
ldapaliases_server_host= localhost ldapaliases_server_port= 389 ldapaliases_bind= no ldapaliases_timeout= 20 ldapaliases_search_base= ou=Users,dc=aepnet,dc=de ldapaliases_query_filter= (alias=%s) ldapaliases_result_attribute= uid ldapaliases_lookup_wildcards= no
ldapmailenab_server_host= localhost ldapmailenab_server_port= 389 ldapmailenab_bind= no ldapmailenab_timeout= 20 ldapmailenab_search_base= ou=Users,dc=aepnet,dc=de ldapmailenab_query_filter= (|(mail=%s)(alias=%s)) ldapmailenab_result_attribute= mailenabled ldapmailenab_lookup_wildcards= no
#### Teil LDIF eines Users #### dn: uid=robberer, ou=Users, dc=aepnet,dc=de mail: robberer@aepnet.de alias: robert.nachname uid: robberer mailEnabled: 550 User temporary disabled
#### /var/log/mail.log #### #### email an robberer@aepnet.de (richtiges cyrus postfach) #### Jul 30 11:41:57 mail1 postfix/smtpd[22463]: NOQUEUE: reject: RCPT from mx01.aepnet.de[212.204.48.213]: 550 5.7.1 robberer@aepnet.de: Recipient address rejected: User temporary disabled; from=robberer@xxxxxxx.de to=robberer@aepnet.de proto=ESMTP helo=<mx01.aepnet.de>
#### /var/log/mail.log #### #### email an robert.nachname@aepnet.de (alias für robberer@aepnet.de) #### Jul 30 11:44:30 mail1 postfix/lmtp[22480]: 1C31B6000C6: to=robberer@aepnet.de, orig_to=robert.nachname@aepnet.de, relay=mail2.aepnet.de[/var/run/cyrus/socket/lmtp], delay=0.35, delays=0.17/0/0.04/0.13, dsn=2.1.5, status=sent (250 2.1.5 Ok)
MfG Robert _______________________________________________ postfix-users mailing list postfix-users@de.postfix.org http://de.postfix.org/cgi-bin/mailman/listinfo/postfix-users
Habe es gerade mit
"local_recipient_maps= ldap:ldapmailenab"
probiert. Ohne Erfolg. Bin mir aber auch nicht sicher ob das so funktionieren kann. (Rejecting Unknown Local Recipients with Postfix).
Gruß Robert
Patrick Ben Koetter schrieb:
- Robert postfix-users@de.postfix.org:
postfix-ldap 2.3.8-2+b1 - cyrus 2.2.13-10
Hallo,
folgende Situation:
Auf einem von mir eingerichteten Mailserver werden die Mailaccounts gegen ein LDAP Verzeichniss authentifiziert. Jeder LDAP Account enthält ein Attribut "mailEnabled" welches von Postfix per
"smtpd_recipient_restrictions = check_recipient_access ldap:ldapmailenab"
ausgewertet wird. Ist das Attribut auf "OK" gesetzt werden Mails an den Account zugestellt. Bei "550 User temporary disabled" wird die Mail von Postfix abgewiesen.
Falscher ort für Prüfung. ..._recipient_maps dafür nutzen.
p@rick
Hallo,
also nach erneuter Durchsicht der Konfiguration habe ich eine Lösung gefunden.
Das Problem war folgendes:
LDAP LDIF des Users:
mail: robberer@aepnet.de alias: robert.nachname
LDAP Filter in Postfix:
ldapmailenab_query_filter= (|(mail=%s)(alias=%s))
-------------------------------------------------
%s ist natürlich die vollständige Email Adresse weshalb der Filter beim Alias nicht gegriffen hat.
Ein Blick in http://www.postfix.org/ldap_table.5.html brachte die Lösung.
*%u* When the input key is an address of the form user@domain, *%u* is replaced by the (RFC http://tools.ietf.org/html/rfc22532253 http://tools.ietf.org/html/rfc2253) quoted local part of the address.
-------------------------------------------------
Also einfach den Filter in
ldapmailenab_query_filter= (|(mail=%s)(alias=%u)) geändert und alles läuft wie geplant.
Gruß Robert
participants (2)
-
Patrick Ben Koetter
-
Robert