Newsgroup: it.comp.os.linux.sys
Titolo: Postfix, Exchange, VRFY

Salve a tutti.
Ho un smtp pubblico con postfix, che per un certo dominio XYZ.com gira
i messaggi ad un server exchange interno. Il problema dello spam è
arginato da spamassassin, ma i messaggi tipo
utente_in...@XYZ.com vengono lo stesso girati all'exchange. Ho
pensato che sarebbe cosa buona e giusta eseguire la verifica del
destinatario da postfix, ma non saprei come fare: qualcuno mi sa dare
qualche dritta?
Intanto ho provato a fare manualmente:
root@server_postfix # telnet 
server_exchange.XYZ.com
 25
Trying x.y.z.v...
Connected to x.y.z.v.
Escape character is '^]'.
220 
server_exchange.XYZ.com
 Microsoft ESMTP MAIL Service, Version: ...
vrfy utente_e...@XYZ.com
252 2.1.5 Cannot VRFY user, but will take message for
<utente_e...@XYZ.com>
vrfy utente_in...@XYZ.com
252 2.1.5 Cannot VRFY user, but will take message for
<utente_in...@XYZ.com>
Che significa?
Grazie per l'attenzione, ciao!
GePs

 qualche dritta?
Si, lascia perdere VRFY[1], e dai una spulciata a
http://www.postfix.org/ADDRESS_VERIFICATION_README.html
Se quell'Exchange rigetta gli user-unknown durante la sessione SMTP, sei
a posto. Sennò devi metterti in grado di interrogare la base-dati degli
utenti da postfix (o via ldap, oppure via mappa locale generata a
partire dai dati dell'exchange in maniera schedulata..)
[1] E' sempre piuttosto curioso vedere come anche qui ci siano i corsi e
i ricorsi storici: VRFY è stato eliminato perchè permetteva
l'enumerazione degli utenti. Adesso c'è il problema dei backscatter per
l'elevato numero di mail dirette a utenti inesistenti, e ci si reinventa
qualcosa che permetta di rifare quello che faceva VRFY... :-\
-- 
Skull & Bones (ER6n Silver)
Neo:  I know Sendmail!
Morpheus:  Show me.

 qualche dritta?
Ci sono varie tecniche possibili; io preferisco questa:
http://www.postfix-book.com/download/extract_e3k_recipients.tar.gz
Quel tar.gz contiene una serie di script per fare un dump periodico degli
utenti di posta di un AD,  mettere tali utenti in un formato leggibile da
postfi, escluderne alcuni (quelli "di sistema"), trasferirli via scp con
autenticazione basata su chiave, e creare una mappa di recipient validi.
Un'altra alternativa è quella di usare query ldap, tecnica che però implica
l'apertura di ulteriori porte dalla DMZ verso la lan.
-- 
Words are very unnecessary
They can only do harm

 Cio' che ho detto prima: che non si puo'.
Oltre alle due tecniche descritte poc'anzi, ce ne sono anche altre.
http://www.postfix.org/ADDRESS_VERIFICATION_README.html


 Cio' che ho detto prima: che non si puo'.
Mi piacerebbe sapere perché...

 Si, lascia perdere VRFY[1], e dai una spulciata ahttp://
www.postfix.org/ADDRESS_VERIFICATION_README.html
Ok, grazie a tutti, adesso mi metto a studiare :)

 qualche dritta?
mettere un check sul recipient ldap:/..... nel 
main.cf
 ?

 Non si puo'.
Non proprio.
Se è Exchange, ci sarà AD.
Se c'è AD, è interrogabile come un LDAP.
Se si può fare un lookup come su LDAP,
 
http://www.postfix.org/LDAP_README.html
P.S.: si, l'ho già fatto dove lavoravo prima.
-- 
Luca Villani        NOC, OpenSailing.org
                     Remove "+settanta" in address for e-mail replies
http://www.opensailing.org
 , il primo Portolano collaborativo online

> Ok, grazie a tutti, adesso mi metto a studiare :)
Prediligi un sistema che ti consenta di "pushare" i dati degli utenti 
dalla lan alla dmz invece di andarteli a prendere dalla dmz alla lan.
Se non ci sono controindicazioni d'altro tipo, penso che la soluzione
migliore sia del tipo <<dump periodico degli utenti di posta>>, cosi'
limiti il traffico ed eviti di riempirti i log del server exchange di
roba inutile (le sessioni SMTP per l'address verification).
Fabio

 mettere un check sul recipient ldap:/..... nel 
main.cf
 ?
Esatto e funziona perfettamente, sia con Exchange che con Lotus Notes.
Ti consiglio perň di generarti una mappa statica locale schedulando a
crontab uno script che interroghi LDAP e che crei la mappa ogni giorno.
Poi metti la mappa statica prima di quella LDAP; questo ti risparmia un
sacco di interrogazioni a LDAP e l'unico effetto collaterale č quello
che un eventuale utente cancellato per al piů un giorno viene fatto
passare e rifiutato dal backend.
-- 
Flavio Visentin
Membro del CICAP
Comitato Italiano per il Controllo delle Affermazioni di P4