Gestire un server di posta a volte puo’ richiedere di andare a snidare i problemi anche di altri, ad esempio di clienti che usano il tuo come relay host, per cui loro problemi di open relay o backscatter diventano anche i tuoi.
Uno dei server che gestisco e’ nella lista di Backscatterer da un po’ di tempo e sto cercando di venirne fuori, ma la cosa non e’ facile con migliaia di domini e chissa’ quanti server che usano quello da me gestito come relay host. Il primo passo e’ stato togliere i backup MX, soprattutto su indicazione di altre persone, delegando la questione ad altri 😉 nell’ottica di ‘non rimandare a domani quello che puo’ fare oggi qualcun altro’.
Ecco un esempio di quello che ho appena snidato:
kevin@kevin:~$ telnet xx.xx.xx.xx 25
Trying xx.xx.xx.xx…
Connected to xx.xx.xx.xx.
Escape character is ‘^]’.
220 srv.dominio.com Microsoft ESMTP MAIL Service, Version: 5.0.2195.6713 ready at Fri, 8 Feb 2008 09:08:39 +0100
ehlo bestkevin.com
250-srv.dominio.com Hello [xx.xx.xx.xx]
mail from: <kevin@bestkevin.com>
250 2.1.0 kevin@bestkevin.com….Sender OK
rcpt to: <nonesiste@dominio.com>
250 2.1.5 nonesiste@dominio.com
data
354 Start mail input; end with <CRLF>.<CRLF>
pippo
.
250 2.6.0 <SRVednHM3SOlb000000d4@srv.dominio.com> Queued mail for delivery
quit
221 2.0.0 srv.dominio.com Service closing transmission channel
Connection closed by foreign host.
Dov’e’ il problema ? Semplicemente che l’utente cavia (io in questo caso) riceve un report che dice che l’utente non esiste, con anche la mail originale allegata, e se questo fosse spam l’utilizzo del backscatter sarebbe un modo per inviarlo.
Come si evita ? Bisogna fare in modo che il server neghi la transazione SMTP non appena scopre che l’utente non esiste:
kevin@kevin:~$ telnet srv.miodominio.com 25
Trying yy.yy.yy.yy…
Connected to srv.miodominio.com.
Escape character is ‘^]’.
220 srv.miodominio.com ESMTP Postfix (Debian/GNU)
ehlo bestkevin.com
250-srv.miodominio.com
mail from: <kevin@bestkevin.com>
250 Ok
rcpt to: <nonesiste@miodominio.com>
550 <nonesiste@miodominio.com>: Recipient address rejected: User unknown in virtual mailbox table
quit
221 Bye
Connection closed by foreign host.
In questo secondo caso non si e’ dato tempo e modo al server di origine di spedirci la mail, accodarla e dopo verificare che non esiste il destinatario.