[Postfixbuch-users] address_verify und relay_recipient_maps

Sascha Peters postfix-list at novuage.de
Do Jul 9 17:31:26 CEST 2009


Jan P. Kessler schrieb:
> Sascha Peters schrieb:
>> In der "relay_recipient_map" hab ich es bisher nur mit
>> "@verify.novuage.de" (wie bei einem Sammelpostfach) probiert. Aber ich
>> kann gerne noch mal ohne das @ probieren.
>>
>> Hab ich soeben gemacht, nun wird ebenfalls abgelehnt mit selbigen
>> Fehler. Wenn ich das mit @ Eintrage, dann nimmt der übrigens alles an,
>> ohne "adresse_verify".
> 
> Achtung, unsauberer Lösungsansatz: Nutze nicht relay_recipient_maps
> sondern eine normale access_map (check_recipient_access) und mach' das
> alles in einem File:

Darf ich aber noch fragen aus welchem Grund das Unsauber ist? Oder wie 
ich zu erfahren sehe ist das zu unflexibel :-)


> bob at test.novuage.de     OK
> alice at test.novuage.de   OK
> test.novuage.de         REJECT unknown user
> verify.novuage.de       reject_unverified_recipient

Mit anderen Worten meine bisher unter relay_recipient_maps genutzte 
Datei als check_recipient_access einbinden. Das wäre dann am wenigsten 
Änderung.

Die Gefahr wäre dann aber, wenn man das REJECT der Domain wie Du es oben 
hast nicht vorhanden ist, dass die E-Mail angenommen wird. Oder? Also 
bei "test.novuage.de".


Sauber wäre doch dann was ich gemacht habe und in dem Fall den ich 
abbilden will müsste ich es wie von Dir vorgeschlagen Lösen. Richtig?


> Mit einer pcre map geht es dann noch ausführlicher
> 
> /^(alice|bob)@test\.novuage\.de$/  OK
> /^(.*)@test\.novuage\.de$/         REJECT unknown user "$1"
> /@verify\.novuage\.de$/            reject_unverified_recipient

Mh, ich mach alles per Skript, da ist PCRE doof. Wenn ich mir das 
überlege, dann wäre doch am einfachsten zu Skripten die relay_domains zu 
ändern, und den 2. Part auf REJECT und nicht auf OK zu setzen (wird ja 
nicht ausgewertet) und dann zusätzlich noch mal am Ender der 
Restrictions einzubinden, so das jede Domain die in relay_domains steht, 
auch im Zweifel unten abgewiesen wird. Ist eine Adresse aber in 
relay_recipient enthalten und ein OK bekommt, wird die E-Mail angenommen.

/etc/postfix-mail01/relay_domains
test.novuage.de	REJECT
verify.novuage.de	REJECT

/etc/postfix-mail01/relay_recipients
bob at test.novuage.de	OK
alice at test.novuage.de	OK

/etc/postfix-mail01/verify_recipient
verify.novuage.de	reject_unverified_recipient

smtpd_recipient_restrictions =
  reject_non_fqdn_sender
  reject_non_fqdn_recipient
  reject_unknown_sender_domain
  reject_unknown_recipient_domain
  permit_mynetworks
  permit_sasl_authenticated
  permit_tls_clientcerts
  reject_invalid_helo_hostname
  reject_non_fqdn_helo_hostname
  check_helo_access pcre:/etc/postfix-mail01/black/helo_hostname
  reject_unauth_destination
  reject_unauth_pipelining
  check_recipient_access btree:/etc/postfix-mail01/recipient_restriction
  check_recipient_access btree:/etc/postfix-mail01/relay_recipients
  check_recipient_access btree:/etc/postfix-mail01/verify_recipient
  check_sender_access btree:/etc/postfix-mail01/verify_sender
  check_recipient_access btree:/etc/postfix-mail01/relay_domains


Das ist gerade ein Schnellschuss, aber so könnte es doch gehen. So hätte 
ich nicht viel zu ändern. Nur das "verify_sender" dann nicht mehr zum 
Einsatz kommt für Domains die über "relay_recipients" laufen. Da vorher 
schon ein OK kommt. Daher müsste das dann über die "relay_recipients".

smtpd_recipient_restrictions =
  reject_non_fqdn_sender
  reject_non_fqdn_recipient
  reject_unknown_sender_domain
  reject_unknown_recipient_domain
  permit_mynetworks
  permit_sasl_authenticated
  permit_tls_clientcerts
  reject_invalid_helo_hostname
  reject_non_fqdn_helo_hostname
  check_helo_access pcre:/etc/postfix-mail01/black/helo_hostname
  reject_unauth_destination
  reject_unauth_pipelining
  check_recipient_access btree:/etc/postfix-mail01/recipient_restriction
  check_sender_access btree:/etc/postfix-mail01/verify_sender
  check_recipient_access btree:/etc/postfix-mail01/relay_recipients
  check_recipient_access btree:/etc/postfix-mail01/verify_recipient
  check_recipient_access btree:/etc/postfix-mail01/relay_domains


-- 

Gruß
Sascha



Mehr Informationen über die Mailingliste Postfixbuch-users