PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Postfix vor ungültigen Zeichen in der From Zeile blockieren.



Juvi
17.09.04, 09:53
Hallo,

also ich hab das Problem das unser Suse SLOX 4.1 Server öfter mal für Relays missbraucht wird. Deshalb wurde er in einigen Spam-Listen als blacklist eingetragen.

Das Problem ist wohl das ihm wohl ungültige Zeichen wie %, !, doppeltes @ im Emailheader durcheinander bringen.

SuSe empfielt mir da die header_checks zu benutzen um diese Emails rauszufilterm.

Also hab ich diese eingerichtet.

Zuerst anhand eines Beispiels in der Doku mit:

/[%!@].*[%!@]/ REJECT 550 Sender-specifed routing

Jedoch hat er damit wohl die ganzen Email Inhalt nach diesen Zeichen abgesucht. Denn es wurden auch Emails abgewiesen die die Zeichen im Body hatten.

Also hab ich das ganze abgeändert in:

/^From: [%!@].*[%!@]/ REJECT 550 Sender-specifed routing

Doch scheint er das so komplett zu ignorieren. Eingehende Emails mit eins der Zeichen im From feld werden trotzdem durchgelassen.

Was mache ich da falsch? Gibts vielleicht eine bessere Lösung diese Emails zu blocken die in der From Zeile ungültige Zeichen haben? :confused:



Hier die komplette Header_checks Datei:



# Sample regexp message header filter lookup "table". See regexp_table(5)
# for a description of the syntax.
#
# Message headers are filtered one at a time. This filter understands
# multi-line mail headers. However, the message header filter has no
# knowledge of MIME headers that are embedded in the message body.
#
# The general format of a table entry is PATTERN RESULT.
#
# The pattern format is /regexp/flags or /regexp/flags!/regexp/flags
# where regexp is a regular expression as found in regexp(5), and flags are
# i: toggle ignore case (REG_ICASE - default is to ignore case)
# x: toggle extended expression (REG_EXTENDED - default is extended)
# m: toggle multiline mode (REG_NEWLINE - default is non-multiline mode)
#
# In order for a line to match, the first regexp must match, and the
# second (if present) must not match. The first matching line wins,
# terminating processing of the ruleset.
#
# The result is one of the following:
# REJECT the entire message is rejected.
# REJECT text.... The text is sent to the originator.
# IGNORE the header line is silently discarded.
# WARN the header is logged (not rejected) with a warning.
# WARN text... As above, and the text is logged, too.
# /^Subject: Make Money Fast/ REJECT
# /^To: friend@public.com/ REJECT
/^From: [%!@].*[%!@]/ REJECT 550 Sender-specifed routing rejected

Terran Marine
17.09.04, 10:11
Das Problem ist wohl das ihm wohl ungültige Zeichen wie %, !, doppeltes @ im Emailheader durcheinander bringen.


Wg, dem doppelten @ :

http://www.postfix.org/postconf.5.html#allow_untrusted_routing

Und was ungültige Zeichen angeht :

http://www.postfix.org/uce.html#strict_rfc821_envelopes

Geht in bisschen an deiner Frage vorbei, ist aber eventuell leichter als über die Checks.

Gruß
Terran

Juvi
17.09.04, 10:29
Danke dir. Werd das mal ausprobieren.
Werden abgewiesene Emails mit ungültigen Zeichen dann auch in den Logs eingetragen? So das man sehen kann was er filtert?

Terran Marine
17.09.04, 10:31
Danke dir. Werd das mal ausprobieren.
Werden abgewiesene Emails mit ungültigen Zeichen dann auch in den Logs eingetragen? So das man sehen kann was er filtert?

Ja.

Für genauere Logs, dem smtpd noch den Parameter -v mitgeben.

Juvi
17.09.04, 10:52
Ja es klappt. Danke für die schnelle Hilfe. Ist mal wieder ein fall von RTFM. :rolleyes:

grüsse Mirco