Graylist Slackware Postfix

24/09/2006 by - Linux

Aggiornando un sistema di posta postfix antispam/virus ho ricevuto il benestare per integrare un nuovo sistema anti ube.

A differenza dei soliti sistemi come il parsing del messaggio o l’appoggio alle blacklist ho introdotto graylist, tool che obbliga mx di destinazione a rispondere con un errore 450. A grandi linee una risp 2xx significa OK, un errore 4xx indica un erroe temporaneo (riprova più tardi) ed infine un errore 5xx indica che è definitivo.

Un [email protected] manda una mail a [email protected], mx di texilee.it equipaggiato di greylist risponde

reject: RCPT from nf-out-0910.google.com[64.233.182.186]: 450 4.7.1 : Recipient address rejected: Greylisted, see http://isg.ee.ethz.ch/tools/postgrey/help/texilee.it.html

Il server di google riceverà il 450 e rimetterà in coda la email. Sul nostro server utilizzando 3 valori identificativi del messaggio graylist aggiornerà il suo db. I 3 valori sono [IP/HOST]/[Sender]/[Recipient]

[IP/HOST]= l’indirizzo IP o la rete assumendo una classe C

Per visualizzarlo

cd /var/spool/postfix/postgrey && strings  postgrey.db

86.108.72.0/[email protected]/[email protected] 1159096270,1159096270,4 86.108.72.0/[email protected]/[email protected] 1159096185,1159096185,4 86.108.72.0/[email protected]/[email protected] 1159096126,1159096126,4 86.108.72.0/[email protected]/[email protected] 1159096055,1159096055,4 86.108.72.0/[email protected]/[email protected] 1159095971,1159095971,4 86.108.72.0/[email protected]/[email protected] 1159095919,1159095919,4 86.108.72.0/[email protected]/[email protected] 1159095851,1159095851,4 86.108.72.0/[email protected]/[email protected] 1159095798,1159095798,4 86.108.72.0/[email protected]/[email protected] 1159093983,1159094397>

Una macchina con indirizzo ip 86.108.72.[1|254] sta tranquillamente cercando di spammare la casella [email protected]. Deduzione semplice giudicando i senders…

Spamassassin spero sia pronto a ricevere questa immondizia, cbl.abuseat.org dsbl.org e le altre rbl non mi hanno aiutato in questo caso.

Graylist si intromette nella conversazione smptd e risponde “riprova più tardi” al presunto server mittente. Normalmente un server come già accennato prima riaccoda semplicemente la mail, segue i meccanismi di gestione della coda implementati nel mta e riproverà per n giorni a consegnarla. I motori smtp degli spammer sono scritti per essere rapidi, se una consegna non va a buon fine non è assolutamente un problema e passano al successivo della lista( magari leggendosi la rubrica di outlook )

In pratica non sono istruiti alla gestione delle code (per quanto tempo ancora!!??!!) e difficilmente attenderanno il lasso di tempo che specificheremo nella cfg. per riconsegnarla. In conclusione stiamo aggiungendo un altro filtro (frutto di una diversa tecnica) che relativamente creerà ritardi nella ricezione.

Per installare e configurare greylist assicuriamoci di avere un postfix recente, altrimenti scaricate l’ultimo versione dal sito di postfix e scompattate, fate un backup della vostra configurazione e procedete con

$make
#make upgrade

Scaricate graylist e leggete la documentazione Necessita di

* Perl (version ≥ 5.6.0)
* Net::Server
* IO::Multiplex
* BerkeleyDB (Perl module)
* Berkeley DB (Library, version ≥ 4.1)

Sul suddetto server mancava il modulo IO::Multiplex, via cpan l’ho scaricato e installato

$perl Makefile.PL
#make && make install

Modifiche sul main.cf

#smtpd_recipient_restrictions = check_policy_service [unix|inet]:127.0.0.1:port
smtpd_recipient_restrictions = check_policy_service inet:127.0.0.1:61000

In questo esempio ipotizziamo di lanciare graylist sulla stessa macchina sulla porta 61000 e di lanciare manualmente postgrey con le opzioni “base” (è possibile delegare il controllo a postfix via master.cf )

#/home/texilee/postgrey-1.27/postgrey
--inet=127.0.0.1:61000
--user=nobody
--delay=300
--daemonize

Possiamo vedere all’opera graylist

Sep 24 14:00:29 to-inter postfix/smtpd[22312]: connect from unknown[81.213.141.37] Sep 24 14:00:34 to-inter postfix/smtpd[22312]: NOQUEUE: reject: RCPT from unknown[81.213.141.37]: 450 4.7.1 : Recipient address rejected: Greylisted, see http://isg.ee.ethz.ch/tools/postgrey/help/texilee.it.html;

La mail di [email protected] non è stata accettata, se il presunto mail server riproverà il delivery dopo 5 minuti verrà accettata



Lascia un commento

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.