Portál AbcLinuxu, 7. května 2025 17:19
Už nějakou tu chvilku hledám, zda někdo neřešil podobný problém, ale asi ne. Možná na to jdu špatně, pokud ano, tak mne zaražte. Provozuji smtp server postavený na Postfixu, jedu na Debianu. Přičemž bych rád kontroloval emaily spamassassinem ještě před jejich přijmutím (umístěním do fronty), abych je mohl v případě kvalifikování jako spamu rovnou odmítnout.
Přibližně tuším, jak by to šlo realizovat pomocí externího filtru přidaného do master.cf, ale doufal jsem že najdu hotové řešení (ve skriptech v Perlu či bashi si příliš nelahodím).
A proč to vlastně dělám? Dal jsem prostor na webserveru více lidem a tak nějak jsem žil v domnění, že je vše v pořádku. Dnes jsem ze zvědavosti prohlížel obsah těchto webů a zděsil jsem se, když jsem narazil na formulář, který umožňuje kamkoliv rozesílat emaily = ráj spammerů.
Takže idea by byla taková - kontrolovat ještě při smtp komunikaci odesílané emaily spamassassinem a pokud dosáhnou např. 4 bodů, tak je rovnou odmítnout. A ještě nejlépe s podmínkou, aby se kontrolovaly pouze emaily daných odesílatelů (např. v SQL tabulce nebo obecně uživatelů, jejichž schránky Postfix spravuje).
Vím, že správné by bylo takovéto formuláře likvidovat/zakazovat domluvou, ale je jen otázkou času, kdy se objeví další a kontrolovat cizí kódy opravdu není moje každodenní vyžití. Zajímalo by mne jak tento problém řeší hostingy. Budu vděčný za každé popostrčení v tomto problému.
Řešení dotazu:
Koukám, že zatím nikdo neodpověděl, tak si částečně odpovím sám: Nainstalovat spampd, což je proxy démon pro spamassassin a v konfiguráku postfixu master.cf změnit první řádek takto:
smtp inet n - - - - smtpd
-o smtpd_client_connection_count_limit=3 # pouze pro vyzkoušení, nevím ještě zda spampd umí prefork
-o smtpd_proxy_filter=127.0.0.1:10025
potom v main.cf přidat řádek:
header_checks = regexp:/etc/postfix/header_checks
a nakonec vytvořit samotný soubor header_checks:
/^X-Spam-Status: Yes/ reject 5.7.1 Your email looks like SPAM
Zvažuji, zda má smysl ještě nějak vytvořit podmínku, aby se toto týkalo pouze lokálních odesílatelů. A všechnu příchozí poštu z ostatních serverů neodmítat, ale už jen filtrovat do složky Spam/Junk.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.