Discussion:
[Postfixbuch-users] Header Check oder smtpd_sender_restrictions um Absender zu blocken
Thomas Lagner
2006-03-26 19:58:30 UTC
Permalink
Hallo,

was ist eigentlich der bessere Weg um bestimmte Domains als Absender zu
rejecten?

Über "smtpd_sender_restrictions = regexp:/etc/postfix/access" oder über einen
HeaderCheck "/etc/postfix/header_checks"?


Viele Grüße

Thomas
Ralf Hildebrandt
2006-03-26 20:15:55 UTC
Permalink
Post by Thomas Lagner
was ist eigentlich der bessere Weg um bestimmte Domains als Absender zu
rejecten?
Über "smtpd_sender_restrictions = regexp:/etc/postfix/access"
Das ist ganz schlecher Stil; korrekte, lesbare Form ist:
smtpd_sender_restrictions = check_sender_access regexp:/etc/postfix/sender_access

Warum eigentlich regexp?
Post by Thomas Lagner
oder über einen HeaderCheck "/etc/postfix/header_checks"?
[] Du hast den Unterschied zwischen Envelope und Header nicht verstanden!

Das erste blockt den envelope sender, das zweite den Header.
--
Ralf Hildebrandt (Ralf.Hildebrandt at charite.de) spamtrap at charite.de
Postfix - Einrichtung, Betrieb und Wartung Tel. +49 (0)30-450 570-155
http://www.postfix-buch.com
"We all enter this world in the same way: naked; screaming; soaked in
blood. But if you live your life right, that kind of thing doesn't
have to stop there."' -- Dana Gould
Thomas Lagner
2006-03-26 20:45:52 UTC
Permalink
Hallo,
Post by Ralf Hildebrandt
smtpd_sender_restrictions = check_sender_access
regexp:/etc/postfix/sender_access
Stimmt, ich hatte das example aus der man page genommen und da stand:
smtpd_sender_restrictions = hash:/etc/postfix/access..
hash hatte ich dann gegen regexp ausgestauscht.
Weiter unten steht es aber richtig: check_sender_access maptype:mapname
Post by Ralf Hildebrandt
Warum eigentlich regexp?
war für mich erst mal einfacher..
Post by Ralf Hildebrandt
Post by Thomas Lagner
oder über einen HeaderCheck "/etc/postfix/header_checks"?
[] Du hast den Unterschied zwischen Envelope und Header nicht verstanden!
Das erste blockt den envelope sender, das zweite den Header.
OK, der erste kontrolliert die Eingabe MAIL FROM bei der SMTP-Verbindung und
im Header suche ich nach dem übermittelten FROM: nach dem DATA Befehl.

Ich glaube ich sollte mir erst mal die entsprechenden RFC Abschnitte
durchlesen..

danke

Gruß

Thomas
Ralf Hildebrandt
2006-03-26 20:48:18 UTC
Permalink
Post by Thomas Lagner
Post by Ralf Hildebrandt
Warum eigentlich regexp?
war für mich erst mal einfacher..
Findest Du? Die meisen Leute haben eher Probleme mit regecp/pcre...

Ich finde
tlagner at googlemail.com REJECT
einfacher als:
/^tlagner at googlemail\.com$/ REJECT
Post by Thomas Lagner
OK, der erste kontrolliert die Eingabe MAIL FROM bei der SMTP-Verbindung und
im Header suche ich nach dem übermittelten FROM: nach dem DATA Befehl.
Ja, genau. Und jenachdem WAS Du blocken willst nimmst Du das eine oder
andere.
MUAs zeigen normalerweise nur den From: Header an.
--
Ralf Hildebrandt (Ralf.Hildebrandt at charite.de) spamtrap at charite.de
Postfix - Einrichtung, Betrieb und Wartung Tel. +49 (0)30-450 570-155
http://www.postfix-buch.com
Any technology sufficiently advanced is indistinguishable from magic.
Thomas Lagner
2006-03-27 11:46:03 UTC
Permalink
Hallo,
Post by Ralf Hildebrandt
Post by Thomas Lagner
war für mich erst mal einfacher..
Findest Du? Die meisen Leute haben eher Probleme mit regecp/pcre...
Ich finde
tlagner at googlemail.com REJECT
/^tlagner at googlemail\.com$/ REJECT
Ich hatte was gelesen über Suche nach domain.tld muß nicht unbedingt
sub.domain.tld beinhalten, deswegen solle man zwei Regeln machen:
"domain.tld" und ".domain.tld", bzw. Parameter anders einstellen.
Da ist /^user at .*domain\.tld$/ dann praktischer.

Das mit der Performance hatte ich auch gelesen, aber bei angeschlossen Amavis
mit Diensten spielt dieser Unterschied für meine Anwendung wohl keine Rolle.

Gruß

Thomas
Ralf Hildebrandt
2006-03-27 11:56:38 UTC
Permalink
Post by Thomas Lagner
Post by Ralf Hildebrandt
Findest Du? Die meisen Leute haben eher Probleme mit regecp/pcre...
Ich finde
tlagner at googlemail.com REJECT
/^tlagner at googlemail\.com$/ REJECT
Ich hatte was gelesen über Suche nach domain.tld muß nicht unbedingt
"domain.tld" und ".domain.tld", bzw. Parameter anders einstellen.
Da ist /^user at .*domain\.tld$/ dann praktischer.
Nur leider auch falsch :)
--
Ralf Hildebrandt (Ralf.Hildebrandt at charite.de) spamtrap at charite.de
Postfix - Einrichtung, Betrieb und Wartung Tel. +49 (0)30-450 570-155
http://www.postfix-buch.com
Why you can't find your system administrators:
they have found the exit.
Thomas Lagner
2006-03-27 13:02:54 UTC
Permalink
Hallo,
Post by Ralf Hildebrandt
Post by Thomas Lagner
Post by Ralf Hildebrandt
Findest Du? Die meisen Leute haben eher Probleme mit regecp/pcre...
Ich finde
tlagner at googlemail.com REJECT
/^tlagner at googlemail\.com$/ REJECT
Ich hatte was gelesen über Suche nach domain.tld muß nicht unbedingt
"domain.tld" und ".domain.tld", bzw. Parameter anders einstellen.
Da ist /^user at .*domain\.tld$/ dann praktischer.
Nur leider auch falsch :)
Du hast Recht, die Regel war etwas zu großzügig:)

/^user@(.+\.)*domain\.tld$/

".domain.tld" würde nicht erkannt werden, das wäre wohl auch die falsche
Stelle um das zu prüfen?
/^user@(.*\.)*domain\.tld$/
würde das auch noch erkennen.

Ich denke ich muß mir noch mal die Reihenfolge der Prüfungen anschauen. Wenn
die Domain vorher geprüft wird, braucht man hier nicht nach kaputten Zeichen
oder falscher Syntax filtern.

Gruß

Thomas
Robert Schetterer
2006-03-27 14:05:42 UTC
Permalink
nun mit smtpd_sender_restrictions erwischt du ihn vorher, da kannst du
aber nur dinge einpflegen die sich auf das MAIL FROM beziehen,
header_checks kommen ganz am schluss und beziehen sich auf den betreff
einer mail
Post by Thomas Lagner
Hallo,
was ist eigentlich der bessere Weg um bestimmte Domains als Absender zu
rejecten?
Über "smtpd_sender_restrictions = regexp:/etc/postfix/access" oder über einen
HeaderCheck "/etc/postfix/header_checks"?
Viele Grüße
Thomas
Ralf Hildebrandt
2006-03-27 14:08:13 UTC
Permalink
Post by Robert Schetterer
nun mit smtpd_sender_restrictions erwischt du ihn vorher, da kannst du
aber nur dinge einpflegen die sich auf das MAIL FROM beziehen,
Neenenene. Bissel komplexer ist das schon (so mit delay_reject = yes)
Post by Robert Schetterer
header_checks kommen ganz am schluss und beziehen sich auf den betreff
einer mail
Bzw. allgemein auf die Header. Es gibt auch andere Header :)
--
Ralf Hildebrandt (Ralf.Hildebrandt at charite.de) spamtrap at charite.de
Postfix - Einrichtung, Betrieb und Wartung Tel. +49 (0)30-450 570-155
http://www.postfix-buch.com
Why you can't find your system administrators:
On the roof of the building, contemplating. -- Johan van Zanten johan at habanero.evtech.com
Robert Schetterer
2006-03-27 15:02:47 UTC
Permalink
Post by Ralf Hildebrandt
Post by Robert Schetterer
nun mit smtpd_sender_restrictions erwischt du ihn vorher, da kannst du
aber nur dinge einpflegen die sich auf das MAIL FROM beziehen,
Neenenene. Bissel komplexer ist das schon (so mit delay_reject = yes)
soweit wollt ich nicht gehen , dafür gibts ja faqs *g
Post by Ralf Hildebrandt
Post by Robert Schetterer
header_checks kommen ganz am schluss und beziehen sich auf den betreff
einer mail
Bzw. allgemein auf die Header. Es gibt auch andere Header :)
stimmt g
Thomas Lagner
2006-03-27 18:24:25 UTC
Permalink
Hallo,
Post by Ralf Hildebrandt
Post by Robert Schetterer
nun mit smtpd_sender_restrictions erwischt du ihn vorher, da kannst du
aber nur dinge einpflegen die sich auf das MAIL FROM beziehen,
Neenenene. Bissel komplexer ist das schon (so mit delay_reject = yes)
Post by Robert Schetterer
header_checks kommen ganz am schluss und beziehen sich auf den betreff
einer mail
Bzw. allgemein auf die Header. Es gibt auch andere Header :)
Ja, und die Prüfung kann auch erst erfolgen nachdem die email schon
vollständig angenommen wurde.

Ich muß also im Prinzip einmal in in der smtpd_sender_restrictions versuchen
die MAIL FROM: badDomain.tld abzuwehren und dann noch mal im HEADER Check auf
FROM: badDomain.tld prüfen.

Gruß Thomas

Loading...