[MEGOLDVA] postfix header_checks nem megy?
Adott egy gép amin postfix + dovecot auth + MailScanner + spamassassin fut. Az SMTP-re kétféle módon lehet bemenni: 25-ös porton bárki, sok megszorítással és 465 porton kizárólag authentikációval. Az utóbbi porton van egy nagy problémám. Sok kliensprogram mindenféle mobilhálózatról meg dinamikus IP-ről csatlakozik, és az oda kiosztott IP-k egy része RBL listán van. Amikor pl. küldök egy levelet a saját UPC előfizetésemről, akkor a MailScanner kitalálja hogy a kliens IP RBL-en van, és spam-nek veszi.
Ez lesz belőle:
Received: from [192.168.1.160] (catv-86-101-30-40.catv.broadband.hu [86.101.30.40])
(Authenticated sender: my_user_name)
by shopzeus.com (Postfix) with ESMTPSA id 0A7CB889B805
for ; Thu, 17 Sep 2015 01:44:17 -0400 (EDT)
És utána ez:
X-shopzeus-MailScanner-SpamCheck: spam, SORBS-DNSBL, SORBS-DUL
X-shopzeus-MailScanner-From: my_username@shopzeus.com
X-Spam-Status: Yes
Az is lehetőség lenne, hogy a MailScanner és spamassassin RBL check-et kikapcsolom ezekre a levelekre. De azt nem tudom hogy kell. (Nem találtam olyan opciót, hogy feltételhez kössem az RBL check-et. Csak két állású kapcsoló: van vagy nincs.) Az az ötletem támadt, hogy egy header_checks segítségével az authenticated smtp Received: sorát átírom. Ha a levél továbbmegy akkor más smtp szerverek se veszik spam-nek az IP miatt. Ráadásul így lefut rá az összes több MailScanner ellenőrzés; csak a kliens IP marad ki belőle.
Valahogy így indultam neki:
cat >> /usr/local/etc/auth_header_checks.pcre
/^\s*(Received: from)[^\n]*(.*\(Authenticated sender:[^\n]*by shopzeus.com.*)/ REPLACE $1 [127.0.0.1] (localhost [127.0.0.1])$2
/^\s*User-Agent/ IGNORE
/^\s*X-Enigmail/ IGNORE
/^\s*X-Mailer/ IGNORE
/^\s*X-Originating-IP/ IGNORE
/^Received:/ HOLD
Utána a main.cf-be:
header_checks = pcre:/usr/local/etc/postfix/auth_header_checks.pcre
Tesztelés:
# postmap -q "Received: from [192.168.0.2] (catv-89-132-209-163.catv.broadband.hu [89.132.209.163]) (Authenticated sender: my_user_name) by shopzeus.com (Postfix) with ESMTPSA id 74318889B800 for ; Wed, 16 Sep 2015 13:56:52 -0400 (EDT)" pcre:auth_header_checks.pcre
REPLACE Received: from [127.0.0.1] (localhost [127.0.0.1])(Authenticated sender: my_user_name) by shopzeus.com (Postfix) with ESMTPSA id 74318889B800 for ; Wed, 16 Sep 2015 13:56:52 -0400 (EDT)
Ez tök jónak tűnik. Azonban, amikor ezzel a beállítással újraindítottam a postfix-et és küldtem magamnak levelet akkor ennyit láttam:
Sep 17 02:09:08 shopzeus postfix/smtps/smtpd[15387]: connect from catv-86-101-30-40.catv.broadband.hu[86.101.30.40]
Sep 17 02:09:08 shopzeus postfix/smtps/smtpd[15387]: BE10E889B800: client=catv-86-101-30-40.catv.broadband.hu[86.101.30.40], sasl_method=PLAIN, sasl_username=my_user_name
Sep 17 02:09:08 shopzeus postfix/cleanup[15400]: BE10E889B800: hold: header Received: from [192.168.1.160] (catv-86-101-30-40.catv.broadband.hu [86.101.30.40])??(Authenticated sender: my_user_name)??by shopzeus.com (Postfix) with ESMTPSA id BE10E889B800??for from catv-86-101-30-40.catv.broadband.hu[86.101.30.40]; from= to= proto=ESMTP helo=<[192.168.1.160]>
Szóval egyből HOLD-ra tette, ahelyett hogy átírta volna a header-t.
Feltételezem ez azért lehet, mert a header_checks még azelőtt fut le, hogy a postfix beletenné az elejébe az új Received: header-t? Hogyan tudnám átírni a header-eket még az ELŐTT hogy a DKIM generálás lefutna, de az UTÁN hogy a postfix beleírta a saját received header-jét?
- Tovább ([MEGOLDVA] postfix header_checks nem megy?)
- 1795 megtekintés