[postfix-users] Dunno in restriction_classes

Thomas Schwenski mailing-lists at thomasschwenski.de
Do Jun 26 12:51:01 CEST 2008


Hallo Stefan,

>>>> Ich finde da aber kein Wort dazu, was eine Access-Map liefern muss,
>>>> damit nur die restriction_class beendet wird aber die nächste
>>>> smtpd_recipient_restriction abgearbeitet wird.
> 
> Diese Funktionalität existiert nicht.

Das ist mal eine eindeutige Aussage.

> Die korrekte Antwort lautet: Schreibe Dir einen Policy-Service. Du
> bist auf einem guten Weg, Dir in den Fuß zu schießen, wenn Du das so
> umsetzen willst.

Das war mein Option für den Fall, dass es eben nicht so funktioniert, 
wie ich das mit restriction_classes vorgehabt hatte.

>> Ich will eine restriction_class für Greylisting haben, eine für DynIP,
>> eine für unknown_host, ...
> 
> smtpd_restriction_classes = greylisting,dynip
> greylisting = check_policy_service foo:bar
> dynip = reject_rbl_client mumble
> 
>> Allerdings soll das ganze _deselektiv_ stattfinden, also es sollen
>> _alle_ E-Mails den jeweiligen Prüfungen unterzogen werden, _außer_ der
>> Absender/Client (im Sinne von einlieferndem Mailserver) steht auf einer
>> Whitelist für diese Restriction.
> 
> smtpd_recipiten_restrcitions =
>     check_recipient_access pcre:/blubber/greylisitng.map
>     check_recipient_access pcre:/blubber/dynip.map
>     ...
> 
> greylisting.map:
> /aus at nahme.1/   dunno
> /aus at nahme.2/   dunno
> /./             greylisting

Das funktioniert, aber ich würde mich für die Ausahmen auf PCRE festlegen.
Eine PCRE-MAP aus einer Hash oder MySQL-Tabelle zu erzeugen ist dabei 
kein Problem, aber PCRE würde ab einer gewissen Länge zur 
Performance-Verschwendung.

> Ich sag's nochmal: Du bist auf dem allerbesten Weg, Dir einen
> wartungs- und verwaltungstechnischen Albtraum an die Backe zu binden.

Finde ich nicht:
Eine MySQL-Datenbanktabelle als Backend in der der jeweilige Eintrag mit 
Flags für die einzelnen Restriktionen, die übersprungen werden sollen, 
versehen ist.
Die dann entweder per Script in Hash oder PCRE (wobei Letzteres aus 
Performance-Gründen vermieden werden könnte) transformieren oder per 
proxy:mysql: auslesen lassen.
Einmal konfiguriert ist das Ganze eigentlich unproblematisch meiner 
Meinung nach.

Und die Konfiguration ist ein einmaliger Mehraufwand.

> Wenn Du das alles wirklich umsetzen musst, solltest Du dringend
> darüber nachdenken, einen Policy-Service zu schreiben.

Was ich, aufgrund der (mittlerweile durch Dich bestätigten) 
Einschränkungen von restriction_classes auch schon überlegt habe und 
letztendlich auch tun werde.

Thomas


More information about the postfix-users mailing list