Postfix header_check nem működik

Fórumok

Sziasztok!

Van egy Ubuntu VPS szerverem, amin fut egy levelező szolgáltatás.
Hosszas hegesztgetés után, igen aktívan szűri a SPAM-eket és dobálja a webmail Junk mappájába.

Az volt az ötletem, hogy a 15-ös, vagy annál nagyobb pontszámmal rendelkező SPAM-ek be se essenek a Junk-ba, az tuti szemét, így kitúrtam a header_check-hez egy script-et:

/^X-Spam-Level: \*\*\*\*\*\*\*.*/ REJECT custom spam rule

/^Received:.*with ESMTPSA/      IGNORE
/^X-Originating-IP:/            IGNORE
/^X-Mailer:/                    IGNORE
/^Mime-Version:/                IGNORE

A main.cf-be pedig az alábbi sor szerepel:

header_checks = regexp:/etc/postfix/header_checks

Na már most. Az első sorral láthatóan nem foglalkozik a postfix, mert továbbra is jönnek 15+ pontos levelek a Junk-ba.
Érdekes, hogy a többi sort feldolgozza, legalábbis nekem úgy tűnik, mert a levelek fejléceiből törlődnek a fent említett sorok.

Kérlek segítsetek, mert napi szinten 20-30 ilyen magas pontszámú SPAM jön be a fiókomba (érdekes, a többibe nem).

Hozzászólások

Ne REJECT, hanem inkabb DISCARD legyen, masreszt mutass mar egy atengedett uzenetet, hogy is nez ki benne az ominozus sor, merthogy ennek mukodnie kellene. Kicsit olvashatobb lenne \*{7,} hasznalata.

Godolom a fejléc elég lesz...


Received: from localhost by pgweb.peregrin.hu
with SpamAssassin (version 3.4.1);
Tue, 10 Oct 2017 09:41:12 +0200
From: =?UTF-8?Q?Nemes_Antal?=
To:

Subject: *****SPAM***** =?UTF-8?Q?Te_m=C3=A9g_horkolsz=3F_Orvosi_alv=C3=B3p=C3=A1nttal_k=C3=B6nnyed=C3=A9n_elmulaszthatod_a_l=C3=A1rm=C3=A1t?=
Date: Tue, 10 Oct 2017 09:40:54 +0200
Message-Id:
X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on peregrin.hu
X-Spam-Flag: YES
X-Spam-Level: ********************
X-Spam-Status: Yes, score=20.6 required=4.0 tests=FROM_DOMAIN_CHECK,
HTML_IMAGE_ONLY_20,HTML_MESSAGE,HTML_SHORT_LINK_IMG_3,MIME_HTML_ONLY,
RAZOR2_CF_RANGE_51_100,RAZOR2_CF_RANGE_E8_51_100,RAZOR2_CHECK,RDNS_NONE,
T_DKIM_INVALID,T_REMOTE_IMAGE,T_SPF_HELO_TEMPERROR autolearn=no
autolearn_force=no version=3.4.1
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----------=_59DC7998.609A5278"

Orwell az 1984-et regénynek írta és nem használati utasításnak!


# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (100)
# ==========================================================================
smtp inet n - y - - smtpd

Orwell az 1984-et regénynek írta és nem használati utasításnak!

A spamassassin - postfix smtpd kapcsolatot dedikalt porton szokas megoldani, annak a konfiguraciojara voltam kivancsi. Amugy a Mime-Version IGNORE a MIME-Version header torlesere lenne hivatott (felteve, hogy case-insensitive a regexp) ? Ez a header legitim, sot, a MIME szabvany szerint kotelezo.

Nagyon messzirol latatlanban azt tudom tippelni, hogy ugyanazzal a Postfix-el szurod a SPAM-et (es teszed bele ezeket a header-oket), amelyiken akarsz leveleket eldobni. Igy valoszinuleg sorerndisegi problemad van. Valoszinuleg a header_checks elobb fut le, mint a SPAM szuresre hasznalt lepes a lancban. Tehat akkor amikor ez a szuro fut meg nincs benne a header, tehat nem match-el ra, kesobb mar mar nem fut ujra.

Ki teszi bele ezt a sort a levelbe?
Mert, ha jo a sejtesem, akkor bejon smtp-n, akkor meg nincs benne.
postfix keresztulhajtja egy spamassasin-on lokalisan, az belerakja.
postifx amikorra visszajon a spamassasin-tol, akkor meg mar nem ellenorzi a header-t, mert "trusted" source-bol (localhost:spamassasin) tol jon.
Amugy meg spamass nem egy smtp szerver, ha visszapattintja a spamass-nak, a spamass vissza kene adja a postfixnek, ahonnan o vette at a visszapattanot, es...

Amit esetleg csinalhatsz: milter-en keresztul hajtod meg a spamass-t, es a spamass-milter-nek mondod, hogy r>15 -> reject.
Igy a postfix mielott visszaadna egy 200-at a kuldo oldalnak, elobb megvizsgalja a spamass-milter-rel, es ha a a milter azt a verdiktet hozta, hogy ne vedd at, akkor 5xx hibakoddal el lesz hajtva a kuldo, es protokoll szerint nem is probalkozik annak a levelnek az ujboli kezbesitesevel.

Köszönöm mindenkinek, az építő hozzászólásokat, meg van a megoldás.
Elővettem a kedvenc folyamatábrámat, https://goo.gl/k4dFeq és értelmeztem.
Kicsit elvesztem a rendszerben, de most már működik...
A SPAM és virus szűrést/jelölést a postfix végzi, a header_checks-ben csak azok a sorok vannak, amik kintről befelé törlésre kerülnek

/etc/postfix/header_checks

/^Received:.*with ESMTPSA/ IGNORE
/^X-Originating-IP:/ IGNORE
/^X-Mailer:/ IGNORE
/^Mime-Version:/ IGNORE

A Dovecot-ba tettem bele anno, hogy ha SPAM a jelölés, akkor azt a Junk mappába tegye. Ez elé kapott egy olyan kódot, ami, ha a pontszám>10, akkor eldobja a levelet.

/etc/dovecot/sieve/default.sieve

require "fileinto";

if header :contains "X-Spam-Level" "**********" {
discard;
stop;
}

if header :contains "X-Spam-Status" "YES" {
fileinto "Junk";
}

Forrás: https://wiki2.dovecot.org/Pigeonhole/Sieve/Examples

... régen oda tudtam a posztomhoz írni, hogy megoldva... most ez miért nm megy???

Orwell az 1984-et regénynek írta és nem használati utasításnak!