I relay SMTP aperti sono cattivi. I principali provider di posta elettronica come Gmail e Yahoo eseguono alcuni controlli di integrità come il seguente a livello SMTP per impedire che lo spam arrivi alle cassette postali degli utenti:
$ telnet alt2.gmail-smtp-in.l.google.com 25 Trying 173.194.65.27... Connected to alt2.gmail-smtp-in.l.google.com. Escape character is '^]'. 220 mx.google.com ESMTP a42si10962520eem.344 - gsmtp helo google.com 250 mx.google.com at your service mail from: 250 2.1.0 OK a42si10962520eem.344 - gsmtp rcpt to: 550-5.1.1 The email account that you tried to reach does not exist. Please try 550-5.1.1 double-checking the recipient's email address for typos or 550-5.1.1 unnecessary spaces. Learn more at 550 5.1.1 http://support.google.com/mail/bin/answer.py?answer=6596 a42si10962520eem.344 - gsmtp QUIT 221 2.0.0 closing connection a42si10962520eem.344 - gsmtp Connection closed by foreign host.
Per tentativi ed errori, ho scoperto che Gmail applica il fatto che i messaggi devono essere in un determinato formato. Per non dire che è completamente infallibile, ma farlo può estirpare gli ingenui spammer. Non è nemmeno banale spararmi. :)
Sfortunatamente, molti server SMTP non controllano i messaggi più severi di Gmail. Proibire indirizzi email non validi nel dominio non è abbastanza buono. Cosa succede se uno spammer conosce i nomi utente del dominio? Ho inviato uno spam a me stesso:
[La parte potenzialmente identificabile è stata sostituita da (...). ]
$ telnet (my SMTP) 25 Trying (my SMTP's IP)... Connected to (my SMTP).com. Escape character is '^]'. 220 (my SMTP) ESMTP (some string) helo 250 (my SMTP) Hello (my IP), pleased to meet you mail from:(my username)@(my domain).com 250 2.1.0 Sender ok rcpt to:(my username)@(my domain).com 250 2.1.5 Recipient ok data 354 Enter mail, end with "." on a line by itself This is my own test email. Let's see how easy it is for spammers to send email to employees. Best Regards, me . 250 2.0.0 (some string) Message accepted for delivery 421 4.4.2 Connection timed out Connection closed by foreign host.
È facile fare a pezzi altri utenti del dominio sostituendo i campi "mail da" e "rcpt a" di conseguenza. L'esempio sopra mostra che è facile falsificare le email senza conoscere le password del "mittente".
L'amministratore dovrebbe essere responsabile di rendere SMTP più sicuro? Inoltre, quali sono le cose che SMTP può fare per ridurre spammer ingenui come me? La porta di blocco 25 è fuori questione: alcuni super utenti preferiscono eseguire il proprio server di posta elettronica.