Reihenfolge check_policy_service

Achim Lammerts mlpbu at admin.syntaxys.net
Di Dez 10 18:16:26 CET 2019


Hallo Liste,

aktuell experimentiere ich auch mit dem cbpolicyd und hier tritt der 
Fehler seltener und dann zeitversetzt auf. Der Sender hat nach dem 451 
schon disconnected, als ca. 9 Sekunden später noch der policyd-weight 
getriggert wurde:

Dec 10 17:23:19 xaver postfix/smtpd[8349]: connect from 
mail.domain.tld[1.2.3.4]
Dec 10 17:23:19 host cbpolicyd[21309]: module=Greylisting, action=defer, 
host= …
Dec 10 17:23:19 host postfix/smtpd[8349]: NOQUEUE: reject: RCPT from 
mail.domain.tld[1.2.3.4]: 451 4.7.1 <user at hier.tld>: Recipient address 
rejected: Greylisting in effect, …
Dec 10 17:23:20 host postfix/smtpd[8349]: disconnect from 
mail.domain.tld[1.2.3.4] ehlo=2 starttls=1 mail=1 rcpt=0/1 data=0/1 
rset=1 quit=1 commands=6/8
Dec 10 17:23:29 host postfix/policyd-weight[10025]: weighted check: 
CL_IP_EQ_HELO_IP=-2.5 (check from: .domain. - helo: .mail.domain. - 
helo-domain: .domain.) FROM/MX_MATCHES_HELO(DOMAIN)=-2.5
Dec 10 17:23:29 host postfix/policyd-weight[10025]: decided 
action=PREPEND X-policyd-weight: CL_IP_EQ_HELO_IP=-2.5 (check from: 
.domain. - helo: .mail.domain. - helo-domain: .domain.) FROM/MX_

Wie passiert das? Wird gegen die Policies aus Gründen des Timings 
parallel geprüft? Kann man das steuern, daß bestimmte Policies 
sequentiell abgearbeitet werden? Ansonsten klappt das beim Greylisting 
mit cbpolicyd in der Regel, daß beim ersten Request ein „defer“ mit 
disconnect erfolgt, beim folgenden dann ein „pass“ und dann erst prüft 
der policyd-weight.

Schöne Grüße
Achim


Am 09.12.19 um 08:16 schrieb Achim Lammerts:
> Guten Morgen Liste,
> 
> mir ist in den Logfiles aufgefallen, daß das Greylisting nicht so 
> funktioniert, wie erwartet. Normalerweise müsste doch bei einem neuen 
> Zugriff erst mal die E-Mail durch den postgreyd mit einem 450er 
> abgelehnt werden und erst bei einer wiederholten Anfrage die anderen 
> policy services anspringen.
> 
> Statt dessen passiert alles bei der ersten Anfrage:
> Dec  9 07:45:36 host postgrey[31783]: action=greylist, reason=new, …
> Dec  9 07:45:36 host policyd-spf[29125]: None; identity=helo; …
> Dec  9 07:45:36 host policyd-spf[29125]: Pass; identity=mailfrom; …
> Dec  9 07:45:38 host postfix/policyd-weight[19170]: weighted check: 
> IN_SBL_XBL_SPAMHAUS=3.95 IN_UCE1=3.25 BAD_MX=15.12 CL_IP_EQ_HELO_IP= …
> Dec  9 07:45:38 xaver postfix/policyd-weight[19170]: decided action=550 
> Mail appeared to be SPAM or forged. Ask your Mail/DNS-Administrator to 
> correct HELO and DNS MX settings or to get removed from DN …
> 
> Der postgreyd ist eingerichtet, um die ganzen Fire&Forget-Anfragen 
> abzufangen und somit unnötige Checks gegen die RBLs zu vermeiden:
> 
> smtpd_recipient_restrictions =
>      permit_mynetworks,
>      permit_sasl_authenticated,
>      reject_non_fqdn_recipient,
>      reject_unauth_destination,
>      reject_unlisted_recipient,
>      check_recipient_access mysql:/etc/postfix/conf/whitelist_users.cf,
>      # postgreyd
>      check_policy_service inet:192.168.164.1:10023,
>      check_policy_service unix:private/policyd-spf,
>      # policyd-weight
>      check_policy_service inet:192.168.164.1:12525,
>      pcre:/etc/postfix/conf/postfix_prepend-clientIP.pcre,
>      permit
> 
> Wie kann ich das einrichten, damit es so wie gewünscht funktioniert?
> 
> Vielen Dank für Eure Hilfe!
> Achim
> 



Mehr Informationen über die Mailingliste Postfixbuch-users