Quantcast

Header Check funktioniert nicht

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
19 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Header Check funktioniert nicht

Christian Schoepplein
Hi zusammen,

folgendes hab ich in /etc/postfix/header_checks stehen:

-----
if /^Return-Path:.*yandex.com/

/^X-Mailer-LID:.*/ REJECT rule 25
/^X-Mailer-RecptId:.*/ REJECT rule26
/^X-Mailer-SID:.*/ REJECT rule27

Endif
-----

Und in main.cf:

header_checks = pcre:/etc/postfix/header_checks

Postfix kann mit pcre umgehen:

# ldd /usr/libexec/postfix/smtpd
        linux-vdso.so.1 (0x00007ffd5a99c000)
        libpostfix-master.so => /usr/lib64/postfix/3.1.0/libpostfix-master.so (0
        libpostfix-tls.so => /usr/lib64/postfix/3.1.0/libpostfix-tls.so (0x00007
        libpostfix-dns.so => /usr/lib64/postfix/3.1.0/libpostfix-dns.so (0x00007
        libpostfix-global.so => /usr/lib64/postfix/3.1.0/libpostfix-global.so (0
        libpostfix-util.so => /usr/lib64/postfix/3.1.0/libpostfix-util.so (0x000
        libsasl2.so.3 => /usr/lib64/libsasl2.so.3 (0x00007f47daa45000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f47da69a000)
        libssl.so.1.0.0 => /usr/lib64/libssl.so.1.0.0 (0x00007f47da429000)
        libcrypto.so.1.0.0 => /usr/lib64/libcrypto.so.1.0.0 (0x00007f47da003000)
        libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f47d9dea000)
        libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f47d9ba4000)
        libdb-4.8.so => /usr/lib64/libdb-4.8.so (0x00007f47d9814000)
        libicuuc.so.58 => /usr/lib64/libicuuc.so.58 (0x00007f47d9441000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007f47d923d000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f47db725000)
        libz.so.1 => /lib64/libz.so.1 (0x00007f47d9025000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f47d8e07000)
        libicudata.so.58 => /usr/lib64/libicudata.so.58 (0x00007f47d7306000)
        libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/libstdc++.so.6
        libm.so.6 => /lib64/libm.so.6 (0x00007f47d6c90000)
        libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/libgcc_s.so.1 (0

Trotzdem schlägt der Header Check für eine Mail mit folgenden Headern
nicht zu (Header nur auszugsweise):

...
Subject: Rollwagen 150 oder 300 KG Traglast
Message-ID: <[hidden email]>
Date: Thu, 08 Dec 2016 07:08:52 +0100
From: "Manfred Lechtaler" <[hidden email]>
Reply-To: [hidden email]
MIME-Version: 1.0
X-Mailer-LID: 38
X-Mailer-RecptId: 23838763
X-Mailer-SID: 3072
X-Mailer-Sent-By: 1
...

Hat jemand eine Idee weshalb die Checks nicht greifen?

Ciao und danke,

  Schöpp

--
Christian Schoepplein - <chris (at) schoeppi.net> - http://schoeppi.net
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Header Check funktioniert nicht

Kai Fürstenberg
Hallo Christian,

Am 08.12.2016 um 16:51 schrieb Christian Schoepplein:

> folgendes hab ich in /etc/postfix/header_checks stehen:
>
> -----
> if /^Return-Path:.*yandex.com/
>
> /^X-Mailer-LID:.*/ REJECT rule 25
> /^X-Mailer-RecptId:.*/ REJECT rule26
> /^X-Mailer-SID:.*/ REJECT rule27
>
> Endif
> -----

"Note:  message  headers are examined one logical header at a time, even
when a message header spans multiple lines. Body lines are always
examined one line at a time."

Postfix kann immer nur einen Header bearbeiten. Du kannst also nicht
nach dem Return-Path suchen und dabei gleichzeitig nach X-*-Headern filtern.

--
Kai Fürstenberg

PM an: kai at fuerstenberg punkt ws

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Header Check funktioniert nicht

Jens Adam-2

> Am 08.12.2016 um 17:05 schrieb Kai Fürstenberg <[hidden email]>:
>
> Hallo Christian,
>
> Am 08.12.2016 um 16:51 schrieb Christian Schoepplein:
>> folgendes hab ich in /etc/postfix/header_checks stehen:
>>
>> -----
>> if /^Return-Path:.*yandex.com/
>>
>> /^X-Mailer-LID:.*/ REJECT rule 25
>> /^X-Mailer-RecptId:.*/ REJECT rule26
>> /^X-Mailer-SID:.*/ REJECT rule27
>>
>> Endif
>> -----
>
> "Note:  message  headers are examined one logical header at a time, even
> when a message header spans multiple lines. Body lines are always
> examined one line at a time."
>
> Postfix kann immer nur einen Header bearbeiten. Du kannst also nicht
> nach dem Return-Path suchen und dabei gleichzeitig nach X-*-Headern filtern.
>
> --
> Kai Fürstenberg
>
> PM an: kai at fuerstenberg punkt ws


FWIW, ich blocke den schon eine ganze Weile, unabhängig woher das kommt:

 # Spam "Interspire Email Marketer"
 /^X-Mailer-RecptId: [0-9]+$/  REJECT SPAM

Bisher hat sich noch niemand über fehlende Newsletter o.ä. beschwert.

--byte


Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Header Check funktioniert nicht

Christian Schoepplein
In reply to this post by Kai Fürstenberg
Hallo Kai,

On Do, Dez 08, 2016 at 05:05:43 +0100, Kai Fürstenberg wrote:
>"Note:  message  headers are examined one logical header at a time, even
>when a message header spans multiple lines. Body lines are always
>examined one line at a time."
>
>Postfix kann immer nur einen Header bearbeiten. Du kannst also nicht
>nach dem Return-Path suchen und dabei gleichzeitig nach X-*-Headern filtern.

OK, mal wieder was dazu gelernt :-). Dann geht also nur sowas:

if /^Subject/i

/^Subject:.*bla/ REJECT
/^Subject:.*blub/ REJECT

Endif

Wieso sollte ich dann aber überhaupt "if" verwenden? Dasgleiche geht ja
auch ohne...

Oder anders gefragt..., wofür gibts dann das "if" bei den Header Checks?

Ciao und danke,

  Schöpp

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Header Check funktioniert nicht

Christian Schoepplein
In reply to this post by Jens Adam-2
Hi Jens,

On Do, Dez 08, 2016 at 05:22:47 +0100, Jens Adam wrote:
>FWIW, ich blocke den schon eine ganze Weile, unabhängig woher das kommt:
>
> # Spam "Interspire Email Marketer"
> /^X-Mailer-RecptId: [0-9]+$/  REJECT SPAM
>
>Bisher hat sich noch niemand über fehlende Newsletter o.ä. beschwert.

merci, hab ich jetzt auch erstmal so gemacht. Trotzdem würde ich das mit
dem "if" gerne verstehen, vor allem weil ich mich einigermaßen
sicher erinnere, dass ich schon mal verschiedene Headerzeilen mit Hilfe
von "if" ausgewertet hab.

Ciao,

  Schöpp

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Header Check funktioniert nicht

Beat Jucker
In reply to this post by Christian Schoepplein


Am 08.12.2016 um 17:58 schrieb Christian Schoepplein:

> OK, mal wieder was dazu gelernt :-). Dann geht also nur sowas:
> if /^Subject/i
>
> /^Subject:.*bla/ REJECT
> /^Subject:.*blub/ REJECT
>
> Endif
>
> Wieso sollte ich dann aber überhaupt "if" verwenden? Dasgleiche geht ja
> auch ohne...
>
> Oder anders gefragt..., wofür gibts dann das "if" bei den Header Checks?

Optimierungsgrund: ohne if /PATTERN/ ... endif werden die dazwischen
liegenden regulären Ausdrücke auf *JEDE* Zeile angewendet. Mit "if
/PATTERN/" aber nur auf die Zeilen, die PATTERN enthalten, d.h. zuerst
Grobselektion, dann Feinselektion.

Gruss
-- Beat
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

AW: Header Check funktioniert nicht

Daniel-4
In reply to this post by Jens Adam-2
Wieso brauchst überhaupt noch weitere Regeln?

Bei mir scheitert der yandex Sapm schon an ersten Prüfungen.

NOQUEUE: reject: RCPT from unknown[23.95.110.158]: 450 4.7.25 Client host rejected: cannot find your hostname, [23.95.110.158]; from=<[hidden email]> to=<X> proto=ESMTP helo=<shoyy188w.com>

Sollte die IP doch mal nen PTR haben und nen Hostnamen geben, scheitert es am HELO der nicht existiert.

Und sonst würde ich einfach im sender_access nen
@yandex.com REJECT
Schreiben und gut ist.

Gruß Daniel

-----Ursprüngliche Nachricht-----
Von: Postfixbuch-users [mailto:[hidden email]] Im Auftrag von Jens Adam
Gesendet: Donnerstag, 8. Dezember 2016 17:23
An: Diskussionen und Support rund um Postfix
Betreff: Re: Header Check funktioniert nicht


> Am 08.12.2016 um 17:05 schrieb Kai Fürstenberg <[hidden email]>:
>
> Hallo Christian,
>
> Am 08.12.2016 um 16:51 schrieb Christian Schoepplein:
>> folgendes hab ich in /etc/postfix/header_checks stehen:
>>
>> -----
>> if /^Return-Path:.*yandex.com/
>>
>> /^X-Mailer-LID:.*/ REJECT rule 25
>> /^X-Mailer-RecptId:.*/ REJECT rule26
>> /^X-Mailer-SID:.*/ REJECT rule27
>>
>> Endif
>> -----
>
> "Note:  message  headers are examined one logical header at a time, even
> when a message header spans multiple lines. Body lines are always
> examined one line at a time."
>
> Postfix kann immer nur einen Header bearbeiten. Du kannst also nicht
> nach dem Return-Path suchen und dabei gleichzeitig nach X-*-Headern filtern.
>
> --
> Kai Fürstenberg
>
> PM an: kai at fuerstenberg punkt ws

FWIW, ich blocke den schon eine ganze Weile, unabhängig woher das kommt:

 # Spam "Interspire Email Marketer"
 /^X-Mailer-RecptId: [0-9]+$/  REJECT SPAM

Bisher hat sich noch niemand über fehlende Newsletter o.ä. beschwert.

--byte



smime.p7s (6K) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Header Check funktioniert nicht

Kai Fürstenberg
In reply to this post by Christian Schoepplein
Am 08.12.2016 um 17:58 schrieb Christian Schoepplein:

> if /^Subject/i
>
> /^Subject:.*bla/ REJECT
> /^Subject:.*blub/ REJECT
>
> Endif
>
> Wieso sollte ich dann aber überhaupt "if" verwenden? Dasgleiche geht ja
> auch ohne...
>
> Oder anders gefragt..., wofür gibts dann das "if" bei den Header Checks?

Mach's so:

if /^Subject/i
/bla/ REJECT
/blub/ REJECT
Endif

spart Tipparbeit...

Außerdem werden die ganzen Checks gespart bei Zeilen die eben nicht
Subject sind. Wenn du 1000 Checks auf Subject hast, warum willst du die
alle auch auf X-Mailer anwenden? Und auf Date? Und auf Received? Und auf...?

--
Kai Fürstenberg

PM an: kai at fuerstenberg punkt ws

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Header Check funktioniert nicht

Paul-2
In reply to this post by Christian Schoepplein
Am 08.12.2016 um 16:51 schrieb Christian Schoepplein:
> Hi zusammen,
>
> folgendes hab ich in /etc/postfix/header_checks stehen:
> /^X-Mailer-LID:.*/ REJECT rule 25
> /^X-Mailer-RecptId:.*/ REJECT rule26
> /^X-Mailer-SID:.*/ REJECT rule27

Ich habe die Testweise mal mit HOLD statt REJECT übernommen und
festgestellt, dass die "erschreckend" effektiv sind.
Hauptsächlich unseriöse Angebote.

Bevor ich diese Regeln aktiv einsetze, möchte ich mehr darüber wissen.
Kann mir jemand sagen, wer bzw welche Software diese Header setzt?
Wie schätzt Ihr in diesem Fall die Gefahr von False Positiv ein?

Gruß,
Paul
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Header Check funktioniert nicht

Winfried Neessen
Hi Paul,

Am 2016-12-09 10:41, schrieb Paul:

> Bevor ich diese Regeln aktiv einsetze, möchte ich mehr darüber wissen.
> Kann mir jemand sagen, wer bzw welche Software diese Header setzt?
>

Die kommen meines Wissens von so 'ner Email-Markting Bude:
http://www.interspire.com/emailmarketer/

> Wie schätzt Ihr in diesem Fall die Gefahr von False Positiv ein?
>
Naja, ich sags mal so... sich auf Mail-Header als einzigen Indikator zu
verlassen,
ist halt nicht so cool. Brauch nur mal ein valider Sender auf die Idee
kommen und
(warum auch immer) den gleichen Header setzen und schon blockst Du evtl.
einen
komplett validen Absender.


Winni
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Header Check funktioniert nicht

Paul-2
In reply to this post by Paul-2
Am 09.12.2016 um 10:41 schrieb Paul:

> Am 08.12.2016 um 16:51 schrieb Christian Schoepplein:
>> Hi zusammen,
>>
>> folgendes hab ich in /etc/postfix/header_checks stehen:
>> /^X-Mailer-LID:.*/ REJECT rule 25
>> /^X-Mailer-RecptId:.*/ REJECT rule26
>> /^X-Mailer-SID:.*/ REJECT rule27
>
> Ich habe die Testweise mal mit HOLD statt REJECT übernommen und
> festgestellt, dass die "erschreckend" effektiv sind.
> Hauptsächlich unseriöse Angebote.
>
> Bevor ich diese Regeln aktiv einsetze, möchte ich mehr darüber wissen.
> Kann mir jemand sagen, wer bzw welche Software diese Header setzt?
> Wie schätzt Ihr in diesem Fall die Gefahr von False Positiv ein?

Man kann ja auch selbst recherchieren...

http://www.interspire.com/

Was haltet ihr davon?

Gruß,
Paul

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Header Check funktioniert nicht

Martin Steigerwald
In reply to this post by Daniel-4
Hallo Daniel, hallo allerseits,

Am Donnerstag, 8. Dezember 2016, 23:57:54 CET schrieb Daniel:
> Wieso brauchst überhaupt noch weitere Regeln?
>
> Bei mir scheitert der yandex Sapm schon an ersten Prüfungen.
>
> NOQUEUE: reject: RCPT from unknown[23.95.110.158]: 450 4.7.25 Client host
> rejected: cannot find your hostname, [23.95.110.158];
> from=<[hidden email]> to=<X> proto=ESMTP helo=<shoyy188w.com>

Du lässt also Mails von Mailservern, für die der Reverse Lookup nicht
funktioniert, ablehnen. Im Postfix-Buch von Peer lese ich dazu, dass dies eine
hohe Gefahr von falschen Positiven hat, da es eben doch viele Leute gibt, die
ihr DNS nicht gescheit konfigurieren.

Peer empfiehlt, wenn überhaupt dann eher den entsprechenden Check dazu in
policyd-weight zu verwenden, der zumindest gewisse weitere Prüfungen habe, um
gegen falsche Positive abzusichern.

Allerdings habe ich das wohl auch vor Jahren schon abgeschaltet:

# Siehe Mail von Florian und RFC 5321
#
# Re: [ltp] broken mail server setup for linux-thinkpad mailing list
# Florian Reitmeir […]
#
# http://tools.ietf.org/html/rfc5321

   @client_ip_eq_helo_score         = (0, 0 );
   @helo_from_mx_eq_ip_score   = (0, 0 );
   @helo_numeric_score               = (0, 0 );

Bei mir kommt also zumindest ein Teil von dem Yandex-Spam eben durch, da weder
policyd-weight noch SpamAssassin, auch mit sa_zmi_at,  sought_rules_yerp_org
und Heinlein-Regeln, das Teil einkassiert.

> Sollte die IP doch mal nen PTR haben und nen Hostnamen geben, scheitert es
> am HELO der nicht existiert.
>
> Und sonst würde ich einfach im sender_access nen
> @yandex.com REJECT
> Schreiben und gut ist.

Und auch das hat die Gefahr von falschen Positiven. So wie ich sehe ist Yandex
so ein Suchmaschinen- und Mail-Provider, so ne Art Yahoo oder Google. Aber die
Spam-Mails, die bei mir mit From *@yandex.com durchkommen werden von
irgendwelchen Hosts verschickt, ganz ähnlich wie der Spam von OVH-VMs von vor
einiger Zeit:

From: Irgendein Name <irgend ein toller name @ yandex.com>
[…]
Received: from 88859282.com (unknown [5.1.88.151])
        by mail.lichtvoll.de (Postfix) with ESMTP id A542E3E5
        for <[…]>; Fri,  9 Dec 2016 06:52:08 +0100 (CET)

Natürlich kann ich die jetzt wieder IP-Adresse für IP-Adresse blocken, aber
das ist auch wieder wenig effektiv, es sei denn der Müll kommt immer von der
gleichen IP-Adresse, was ich noch nicht geprüft habe.

Ich frage mich inwiefern ich zumindest für bestimmte Domains Postfix dazu
bringen kann, die Mail abzulehnen, wenn wie oben offensichtlich Absender-
Adresse und der sendende Mail-Server nicht zusammenpassen, also Mails von
yandex.com nur zu akzeptieren, wenn die laut Received-Header am Anfang ein
Host von yandex.com/ru eingeliefert hat, also im Grunde eine Art selektive
Kontrolle, inwiefern From- und Received-Header zusammen passen für Domains,
die oft im From:-Header von Spam Mails auftauchen, und wo der Provider, hier
yandex.com/yandex.ru in der Tat weiß, wie es geht, DNS zu konfigurieren.

Eine reine Kontrolle in Bezug auf den Sender greift natürlich wieder zu kurz,
da ja auch ein Mailinglisten-Server für eine Open-Source-Mailingliste eine
legitime Mail mit einem Absender mit yandex.com verschickt haben könnte.
Natürlich ist das bis zu einem gewissen Grad theoretisch, weil ich das bislang
noch nicht gesehen habe, dass jemand von yandex.com aus auf OSS-Mailinglisten
postet.

Ich hab zwar im OVH-Spam-Fall und in diesem Hartz-Spam-Fall tatsächlich
mehrere Domains mit neuen TLDs komplett geblockt, für komplett für yandex.com/
ru erscheint mir aber etwas zu gewagt.

mondschein:/etc/postfix> cat sender_checks
/klicken.*\.xyz/ REJECT S2016-06: Repeated source of spam. Blocked.
/klicken.*\.accountant/ REJECT S2016-06: Repeated source of spam. Blocked.

/mailing.*\.xyz/ REJECT S2016-06: Repeated source of spam. Blocked.
/mailing.*\.site/ REJECT S2016-06: Repeated source of spam. Blocked.

/server.*\.xyz/ REJECT S2016-06: Repeated source of spam. Blocked.

/weiter.*\.top/ REJECT S2016-06: Repeated source of spam. Blocked.

/aufmachen.*\.party/ REJECT S2016-06: Repeated source of spam. Blocked.

/versand.*\.faith/ REJECT S2016-07: Repeated source of spam. Blocked.

/webklick.*\.top/ REJECT S2016-07: Repeated source of spam. Blocked.

/rimunrearon\.com/ REJECT S2016.11: Repeated source of spam. Blocked.

/hartz4koenig\.com/ REJECT S2016.11: Repeated source of spam. Blocked.

Danke,
Martin

>
> Gruß Daniel
>
> -----Ursprüngliche Nachricht-----
> Von: Postfixbuch-users [mailto:[hidden email]]
> Im Auftrag von Jens Adam Gesendet: Donnerstag, 8. Dezember 2016 17:23
> An: Diskussionen und Support rund um Postfix
> Betreff: Re: Header Check funktioniert nicht
>
> > Am 08.12.2016 um 17:05 schrieb Kai Fürstenberg
> > <[hidden email]>:
> >
> > Hallo Christian,
> >
> > Am 08.12.2016 um 16:51 schrieb Christian Schoepplein:
> >> folgendes hab ich in /etc/postfix/header_checks stehen:
> >>
> >> -----
> >> if /^Return-Path:.*yandex.com/
> >>
> >> /^X-Mailer-LID:.*/ REJECT rule 25
> >> /^X-Mailer-RecptId:.*/ REJECT rule26
> >> /^X-Mailer-SID:.*/ REJECT rule27
> >>
> >> Endif
> >> -----
> >
> > "Note:  message  headers are examined one logical header at a time, even
> > when a message header spans multiple lines. Body lines are always
> > examined one line at a time."
> >
> > Postfix kann immer nur einen Header bearbeiten. Du kannst also nicht
> > nach dem Return-Path suchen und dabei gleichzeitig nach X-*-Headern
> > filtern.
> FWIW, ich blocke den schon eine ganze Weile, unabhängig woher das kommt:
>
>  # Spam "Interspire Email Marketer"
>  /^X-Mailer-RecptId: [0-9]+$/  REJECT SPAM
>
> Bisher hat sich noch niemand über fehlende Newsletter o.ä. beschwert.
>
> --byte


--
Martin
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Header Check funktioniert nicht

Martin Steigerwald
In reply to this post by Christian Schoepplein
Am Donnerstag, 8. Dezember 2016, 18:03:37 CET schrieb Christian Schoepplein:

> Hi Jens,
>
> On Do, Dez 08, 2016 at 05:22:47 +0100, Jens Adam wrote:
> >FWIW, ich blocke den schon eine ganze Weile, unabhängig woher das kommt:
> > # Spam "Interspire Email Marketer"
> > /^X-Mailer-RecptId: [0-9]+$/  REJECT SPAM
> >
> >Bisher hat sich noch niemand über fehlende Newsletter o.ä. beschwert.
>
> merci, hab ich jetzt auch erstmal so gemacht. Trotzdem würde ich das mit
> dem "if" gerne verstehen, vor allem weil ich mich einigermaßen
> sicher erinnere, dass ich schon mal verschiedene Headerzeilen mit Hilfe
> von "if" ausgewertet hab.

Hab ich jetzt auch so gemacht. Allerdings wäre mir schon lieber, das nur für
bestimmte Domains zu aktivieren.

--
Martin
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Header Check funktioniert nicht

Kai Fürstenberg
Am 09.12.2016 um 12:13 schrieb Martin Steigerwald:

> Am Donnerstag, 8. Dezember 2016, 18:03:37 CET schrieb Christian Schoepplein:
>> Hi Jens,
>>
>> On Do, Dez 08, 2016 at 05:22:47 +0100, Jens Adam wrote:
>>> FWIW, ich blocke den schon eine ganze Weile, unabhängig woher das kommt:
>>> # Spam "Interspire Email Marketer"
>>> /^X-Mailer-RecptId: [0-9]+$/  REJECT SPAM
>>>
>>> Bisher hat sich noch niemand über fehlende Newsletter o.ä. beschwert.
>>
>> merci, hab ich jetzt auch erstmal so gemacht. Trotzdem würde ich das mit
>> dem "if" gerne verstehen, vor allem weil ich mich einigermaßen
>> sicher erinnere, dass ich schon mal verschiedene Headerzeilen mit Hilfe
>> von "if" ausgewertet hab.
>
> Hab ich jetzt auch so gemacht. Allerdings wäre mir schon lieber, das nur für
> bestimmte Domains zu aktivieren.

Du könntest das über Amavis/Spamassassin lösen, indem du dort eine
entsprechende Regel hinterlegst, die einen ausreichen hohen Spam-Score
vergibt.

Vorteil: es funktioniert
Nachteil: die Mail muss durch Amavis/Spamassassin durch.

--
Kai Fürstenberg

PM an: kai at fuerstenberg punkt ws

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Header Check funktioniert nicht

Martin Steigerwald
Am Freitag, 9. Dezember 2016, 13:02:12 CET schrieb Kai Fürstenberg:
> Am 09.12.2016 um 12:13 schrieb Martin Steigerwald:
> > Am Donnerstag, 8. Dezember 2016, 18:03:37 CET schrieb Christian
Schoepplein:

> >> On Do, Dez 08, 2016 at 05:22:47 +0100, Jens Adam wrote:
> >>> FWIW, ich blocke den schon eine ganze Weile, unabhängig woher das kommt:
> >>> # Spam "Interspire Email Marketer"
> >>> /^X-Mailer-RecptId: [0-9]+$/  REJECT SPAM
> >>>
> >>> Bisher hat sich noch niemand über fehlende Newsletter o.ä. beschwert.
> >>
> >> merci, hab ich jetzt auch erstmal so gemacht. Trotzdem würde ich das mit
> >> dem "if" gerne verstehen, vor allem weil ich mich einigermaßen
> >> sicher erinnere, dass ich schon mal verschiedene Headerzeilen mit Hilfe
> >> von "if" ausgewertet hab.
> >
> > Hab ich jetzt auch so gemacht. Allerdings wäre mir schon lieber, das nur
> > für bestimmte Domains zu aktivieren.
>
> Du könntest das über Amavis/Spamassassin lösen, indem du dort eine
> entsprechende Regel hinterlegst, die einen ausreichen hohen Spam-Score
> vergibt.
>
> Vorteil: es funktioniert
> Nachteil: die Mail muss durch Amavis/Spamassassin durch.

Mir an sich egal, da ich von Spamassassin als Spam erkannte Mail auch auf
SMTP-Ebene ablehnen lasse, und da bislang kein Resource-Problem bemerke,
obwohl ich wohl nicht mal die optimale Einbindung über spampd implementiert
habe.

Allerdings müsste ich mich dann erstmal einarbeiten, wie diese Regel
funktionieren und wie ich eigene einbinde. Aber gut, ich behalte das mal im
Hinterkopf.

--
Martin
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Header Check funktioniert nicht

Rainer Wiesenfarth
In reply to this post by Martin Steigerwald

Am 9. Dezember 2016 um 11:44 schrieb Martin Steigerwald <[hidden email]>:
Du lässt also Mails von Mailservern, für die der Reverse Lookup nicht
funktioniert, ablehnen. Im Postfix-Buch von Peer lese ich dazu, dass dies eine
hohe Gefahr von falschen Positiven hat, da es eben doch viele Leute gibt, die
ihr DNS nicht gescheit konfigurieren.

​Hmm, kommt natürlich darauf an, für wen ich den Server aufsetze, aber wer E-Mail senden will, sollte sich eben an die Regeln halten.​

In den Flieger komme ich auch nicht ohne Ausweis, da führt das nicht zu Diskussionen, ob ich jemand ohne Ausweis jetzt nur temporär ablehnen oder ihn nach der Nase beurteilen soll.

Ok, ok, ich weiß, dass sich das nicht in allen Fällen durchsetzen lässt, aber ich mache ungern Ausnahmen zur Regel...

--
Software Engineer | Trimble Imaging Division
Rotebühlstraße 81 | 70178 Stuttgart | Germany
Office +49 711 22881 0 | Fax +49 711 22881 11
http://www.trimble.com/imaging/ | http://www.inpho.de/

Trimble Germany GmbH, Am Prime Parc 11, 65479 Raunheim
Eingetragen beim Amtsgericht Darmstadt unter HRB 83893,
Geschäftsführer: Dr. Frank Heimberg, Jürgen Kesper
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

AW: Header Check funktioniert nicht

Daniel-4
In reply to this post by Martin Steigerwald
Hi Martin,

bisher hatte ich keine Probleme mit unknown hostname, wenn eher mit EHLO/HELO Hostnamen, was ich auch nicht immer prüfe.

Kandidaten waren da ja z.B. EA und Blizzard, scheinen sich nach Jahren wohl mal gebessert zuhaben zumindest EA existieren die HELO inzwischen auch mal.

Einzelne IP blocken bringt wirklich nix, wechseln ständig, und wenn man alles mit yandex.com löscht, wäre mir notfalls auch egal.

Da bekomme ich selbst weniger Spam via Yahoo obwohl die auch wohl teils Anfällig sind oder gehackt wurden ect.

Gruß Daniel

-----Ursprüngliche Nachricht-----
Von: Postfixbuch-users [mailto:[hidden email]] Im Auftrag von Martin Steigerwald
Gesendet: Freitag, 9. Dezember 2016 11:44
An: [hidden email]
Betreff: Re: Header Check funktioniert nicht

Hallo Daniel, hallo allerseits,

Am Donnerstag, 8. Dezember 2016, 23:57:54 CET schrieb Daniel:
> Wieso brauchst überhaupt noch weitere Regeln?
>
> Bei mir scheitert der yandex Sapm schon an ersten Prüfungen.
>
> NOQUEUE: reject: RCPT from unknown[23.95.110.158]: 450 4.7.25 Client host
> rejected: cannot find your hostname, [23.95.110.158];
> from=<[hidden email]> to=<X> proto=ESMTP helo=<shoyy188w.com>

Du lässt also Mails von Mailservern, für die der Reverse Lookup nicht
funktioniert, ablehnen. Im Postfix-Buch von Peer lese ich dazu, dass dies eine
hohe Gefahr von falschen Positiven hat, da es eben doch viele Leute gibt, die
ihr DNS nicht gescheit konfigurieren.

Peer empfiehlt, wenn überhaupt dann eher den entsprechenden Check dazu in
policyd-weight zu verwenden, der zumindest gewisse weitere Prüfungen habe, um
gegen falsche Positive abzusichern.

Allerdings habe ich das wohl auch vor Jahren schon abgeschaltet:

# Siehe Mail von Florian und RFC 5321
#
# Re: [ltp] broken mail server setup for linux-thinkpad mailing list
# Florian Reitmeir […]
#
# http://tools.ietf.org/html/rfc5321

   @client_ip_eq_helo_score         = (0, 0 );
   @helo_from_mx_eq_ip_score   = (0, 0 );
   @helo_numeric_score               = (0, 0 );

Bei mir kommt also zumindest ein Teil von dem Yandex-Spam eben durch, da weder
policyd-weight noch SpamAssassin, auch mit sa_zmi_at,  sought_rules_yerp_org
und Heinlein-Regeln, das Teil einkassiert.

> Sollte die IP doch mal nen PTR haben und nen Hostnamen geben, scheitert es
> am HELO der nicht existiert.
>
> Und sonst würde ich einfach im sender_access nen
> @yandex.com REJECT
> Schreiben und gut ist.

Und auch das hat die Gefahr von falschen Positiven. So wie ich sehe ist Yandex
so ein Suchmaschinen- und Mail-Provider, so ne Art Yahoo oder Google. Aber die
Spam-Mails, die bei mir mit From *@yandex.com durchkommen werden von
irgendwelchen Hosts verschickt, ganz ähnlich wie der Spam von OVH-VMs von vor
einiger Zeit:

...

smime.p7s (6K) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Header Check funktioniert nicht

Paul-2
In reply to this post by Martin Steigerwald
Am 09.12.2016 um 11:44 schrieb Martin Steigerwald:

> Hallo Daniel, hallo allerseits,
>
> Am Donnerstag, 8. Dezember 2016, 23:57:54 CET schrieb Daniel:
>> Wieso brauchst überhaupt noch weitere Regeln?
>>
>> Bei mir scheitert der yandex Sapm schon an ersten Prüfungen.
>>
>> NOQUEUE: reject: RCPT from unknown[23.95.110.158]: 450 4.7.25 Client host
>> rejected: cannot find your hostname, [23.95.110.158];
>> from=<[hidden email]> to=<X> proto=ESMTP helo=<shoyy188w.com>
>
> Du lässt also Mails von Mailservern, für die der Reverse Lookup nicht
> funktioniert, ablehnen. Im Postfix-Buch von Peer lese ich dazu, dass dies eine
> hohe Gefahr von falschen Positiven hat, da es eben doch viele Leute gibt, die
> ihr DNS nicht gescheit konfigurieren.
>
> Peer empfiehlt, wenn überhaupt dann eher den entsprechenden Check dazu in
> policyd-weight zu verwenden, der zumindest gewisse weitere Prüfungen habe, um
> gegen falsche Positive abzusichern.
>

Mit pauschalem Einsatz von reject_unknown_client_hostname habe ich auch
schlechte Erfahrung gemacht, wohingegen viele Spezaillösungen die Konfig
unübersichtlich und fehleranfällig machen, aber manchmal macht man ja
Ausnahmen.

Mails von yandex die direkt von yandex Diensten verschickt wurden, haben
einen vor-und rückwärtsauflösenden Hostnamen.

Die, die es nicht haben, sind Weiterleitungen oder Spam.
Ich habe die Erfahrung gemacht, dass Weiterleitungen bei solchen
Providern eher selten auftreten und solche Mails (bei mir bisher) immer
Spam waren.

Wenn man möchte, dass Hosts von yandex-Absendern einen PTR haben, dann
kann man das wiefolgt machen.

main.cf:
smtpd_recipient_restrictions = ..., check_sender_access
pcre:/etc/postfix/absender_pruef, ...

/etc/postfix/absender_pruef:
/\@yandex\.(com|net|ru)$/ reject_unknown_client_hostname, ..., weitere
Prüfungen

Natürlich hilft das nur, wenn der Absender im Envelope steht und es ist
ein bißchen SPF-für-Arme, aber zur Not kann man das so machen.

Gruß,
Paul

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Header Check funktioniert nicht

Christian Schoepplein
In reply to this post by Kai Fürstenberg
On Fr, Dez 09, 2016 at 10:17:44 +0100, Kai Fürstenberg wrote:

>Am 08.12.2016 um 17:58 schrieb Christian Schoepplein:
>> if /^Subject/i
>>
>> /^Subject:.*bla/ REJECT
>> /^Subject:.*blub/ REJECT
>>
>> Endif
>>
>> Wieso sollte ich dann aber überhaupt "if" verwenden? Dasgleiche geht ja
>> auch ohne...
>>
>> Oder anders gefragt..., wofür gibts dann das "if" bei den Header Checks?
>
>Mach's so:
>
>if /^Subject/i
>/bla/ REJECT
>/blub/ REJECT
>Endif
>
>spart Tipparbeit...
>
>Außerdem werden die ganzen Checks gespart bei Zeilen die eben nicht
>Subject sind. Wenn du 1000 Checks auf Subject hast, warum willst du die
>alle auch auf X-Mailer anwenden? Und auf Date? Und auf Received? Und auf...?

Merci, jetzt hab ichs verstanden und verstehe, warum "if" sinnvoll ist.
Manchmal steht man echt auf dem schlauch :-).

Ciao,

  Schöpp

Loading...