exim.ro

Testarea unui server SMTP: banner, STARTTLS, certificat

Ce verifică testul unui server SMTP: salutul, capabilitățile EHLO, STARTTLS, versiunea TLS, certificatul și DNS-ul invers, și de ce contează fiecare.

Actualizat la 3 minute de citit5 secțiuni

Deschide Verificare server SMTP

Când un alt server livrează mail către domeniul dumneavoastră, caută înregistrările MX, se conectează la portul 25 și poartă o scurtă conversație înainte să trimită ceva. Verificarea serverului SMTP reia prima parte a acestei conversații, se oprește înainte de trimiterea oricărui mesaj și raportează ce a văzut.

Conversația

S: 220 mx.exemplu.ro ESMTP ready
C: EHLO probe.exim.ro
S: 250-mx.exemplu.ro Hello probe.exim.ro [91.239.230.137]
S: 250-SIZE 52428800
S: 250-STARTTLS
S: 250 8BITMIME
C: STARTTLS
S: 220 Ready to start TLS
   (handshake TLS)
C: EHLO probe.exim.ro
S: 250-mx.exemplu.ro ...
C: QUIT
  • Bannerul (220). Salutul serverului. Un 554 aici înseamnă că refuză conexiunea din start. Unele servere așteaptă intenționat câteva secunde înainte de salut, pentru că programele de spam scrise prost renunță sau vorbesc prea devreme; unealta acordă 5 secunde fiecărui pas și raportează un salut lent ca indisponibil, nu ca defecțiune.
  • EHLO. Clientul se prezintă, iar serverul răspunde cu capabilitățile lui, câte una pe rând: mărimea maximă a mesajului, STARTTLS, 8BITMIME, SMTPUTF8 și altele.
  • STARTTLS. Trece aceeași conexiune pe TLS (RFC 3207). După handshake, clientul trebuie să uite ce a aflat înainte și să trimită din nou EHLO (RFC 3207, secțiunea 4.2), pentru că orice s-a spus în clar putea fi modificat.
  • QUIT. Unealta nu trimite niciodată MAIL FROM, RCPT TO sau DATA: nu livrează nimic și nu testează dacă serverul face relay pentru alții.

TLS și certificatul

Între serverele de mail, TLS este de obicei oportunist: expeditorul îl folosește când i se oferă și nu insistă pe un certificat valid. Așa că un certificat expirat sau cu alt nume trece adesea neobservat, până când domeniul destinatar publică o politică MTA-STS (RFC 8461) sau înregistrări DANE (RFC 7672). Expeditorii care le respectă verifică atunci certificatul cum trebuie și refuză livrarea dacă nu este corect.

De aceea unealta termină handshake-ul chiar și cu un certificat greșit și îl verifică separat:

  • Lanț de încredere. Duce certificatul la o autoritate rădăcină publică?
  • Numele se potrivește. Este valid pentru numele din înregistrarea MX? Un certificat emis pentru numele serverului firmei de hosting, dar accesat prin mail.domeniulvostru, pică aici.
  • Valabilitate. Datele, și un avertisment cu două săptămâni înainte de expirare.
  • Versiunea TLS. TLS 1.2 și 1.3 sunt actuale; 1.0 și 1.1 sunt depășite.

DNS invers și FCrDNS

Unealta caută înregistrarea PTR a adresei IP a serverului și rezolvă numele găsit înapoi la o adresă. Când rezultatul este aceeași adresă, DNS-ul invers este confirmat (FCrDNS). Pentru primirea de mail contează puțin, dar majoritatea serverelor și trimit, iar multe servere care primesc penalizează sau resping mailul de la adrese fără PTR sau al căror PTR nu se rezolvă înapoi. Un nume PTR diferit de cel din banner este obișnuit (furnizorii mari folosesc nume generice) și doar se notează.

De unde vine testul

Unealta se conectează de la o adresă dedicată, 91.239.230.137, al cărei DNS invers este probe.exim.ro, și se prezintă cu acest nume. Le vedeți pe amândouă în răspunsul EHLO al serverului. Fiecare rețea poate rula 6 verificări pe minut, se contactează cel mult 5 servere de mail pe verificare, iar adresele private, loopback și rezervate nu sunt contactate niciodată.

Surse