Portál AbcLinuxu, 7. května 2025 17:19

Dotaz: Detekce spamu ještě před vložením do fronty SMTP serveru

Zdeněk Zámečník avatar 27.12.2008 19:10 Zdeněk Zámečník | skóre: 26
Detekce spamu ještě před vložením do fronty SMTP serveru
Přečteno: 309×
Odpovědět | Admin

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:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Zdeněk Zámečník avatar 27.12.2008 22:03 Zdeněk Zámečník | skóre: 26
Rozbalit Rozbalit vše Re: Detekce spamu ještě před vložením do fronty SMTP serveru
Odpovědět | | Sbalit | Link | Blokovat | Admin

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.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.