Răspuns scurt
- Securizezi serverul de e-mail publicând SPF care listează exact serverele autorizate, semnând fiecare mesaj cu DKIM pe cheie de 2048 de biți și urcând DMARC treptat de la p=none la p=reject.
- Adresa IP a serverului are PTR care indică numele lui, iar numele are o înregistrare A către aceeași adresă.
- Serverul acceptă mesaje de la clienți doar autentificat, pe 587 sau 465 cu TLS, și nu retransmite pentru domenii străine.
- Trimiterile tranzacționale pleacă printr-un relay separat, cu selector DKIM propriu, ca o problemă de reputație să nu blocheze corespondența oamenilor.
- Citești rapoartele DMARC agregate cel puțin o lună înainte de reject și rotești anual cheia DKIM.
- SPF corect
- v=spf1 mx include:relay.exemplu.md ~all, cu DMARC p=reject; maximum 10 căutări DNS
- DKIM
- cheie RSA 2048, selector rotit anual
- DMARC țintă
- v=DMARC1; p=reject; rua=… după o lună pe none
- Porturi pentru clienți
- 587 STARTTLS sau 465 TLS implicit, doar autentificat
Ce face fiecare dintre cele trei înregistrări
SPF spune ce servere au voie să trimită pentru domeniul tău: -all cere respingerea, ~all doar marcarea, iar decizia o ia DMARC. DKIM adaugă fiecărui mesaj o semnătură verificabilă prin cheia publică din DNS, deci destinatarul știe că nu a fost modificat. DMARC leagă cele două de domeniul vizibil în From, spune ce să facă la eșec și îți trimite rapoarte. Fără DMARC, SPF și DKIM sunt informații; cu DMARC devin politică.
Drumul de la none la reject fără să pierzi mesaje
Începi cu p=none și adresa rua pentru rapoarte agregate. O lună vezi de unde pleacă de fapt mesaje cu domeniul tău: serverul principal, aplicația de facturare, programările, un CRM conectat de contabilitate. Adaugi fiecare sursă legitimă în SPF sau o pui să semneze DKIM. Când rapoartele arată doar surse cunoscute, treci pe p=quarantine, apoi pe p=reject. Sari direct la reject și facturile pleacă în neant.
- p=none cu rua= timp de 30 de zile
- fiecare sursă legitimă: SPF sau DKIM aliniat cu From
- p=quarantine, apoi p=reject
- pct=100 abia după ce rapoartele sunt curate
Serverul propriu: PTR, TLS și fără relay deschis
Un server care trimite fără PTR corect ajunge în spam, indiferent de SPF. Cere furnizorului să seteze PTR-ul adresei la numele serverului de mail. Postfix sau Mailu acceptă mesaje de la utilizatori doar după autentificare SASL, pe 587 sau 465 cu certificat valid; pe 25 primește doar corespondența pentru domeniile tale. Un relay deschis e găsit în ore și duce adresa pe liste negre.
Tranzacțional separat de corespondența oamenilor
Aplicația de facturare trimite mii de mesaje cu atașamente; un client care le marchează ca spam scade reputația domeniului, deci suferă și corespondența angajaților. Soluția e un relay separat pentru tranzacțional, cu subdomeniu sau selector DKIM propriu. Pentru clienții din UE, notificările plecate dintr-un datacenter din UE răspund la o întrebare din chestionarele de securitate.
Înregistrările DNS ale unui domeniu care trimite e-mail corect| Înregistrare | Unde | Valoare recomandată | Ce previne |
|---|
| SPF | TXT pe exemplu.md | v=spf1 mx include:relay.exemplu.md ~all, cu DMARC p=reject | trimiteri de pe servere neautorizate |
|---|
| DKIM | TXT pe 2026a._domainkey.exemplu.md | v=DKIM1; k=rsa; p=<cheie 2048> | modificarea mesajului, falsificarea sursei |
|---|
| DMARC | TXT pe _dmarc.exemplu.md | v=DMARC1; p=reject; rua=mailto:[email protected]; adkim=s; aspf=s | mesaje cu From falsificat acceptate |
|---|
| PTR | reverse DNS la furnizor | 203.0.113.25 → mail.exemplu.md | clasificarea ca spam la primire |
|---|
| MTA-STS și TLS-RPT | TXT pe _mta-sts și _smtp._tls | v=STSv1; id=2026090901, plus fișierul de politică pe https://mta-sts.exemplu.md/.well-known/mta-sts.txt / v=TLSRPTv1; rua=… | degradarea TLS la livrare către tine |
|---|
Comenzi și configurări
Generarea cheii DKIM și înregistrarea DNS (OpenDKIM)opendkim-genkey -b 2048 -d exemplu.md -s 2026a -D /etc/opendkim/keys/exemplu.md
cat /etc/opendkim/keys/exemplu.md/2026a.txt # conținutul TXT pentru 2026a._domainkey
chown opendkim:opendkim /etc/opendkim/keys/exemplu.md/2026a.private
Postfix: fără relay deschis, TLS și autentificare pe 587# /etc/postfix/main.cf (fragment)
mynetworks = 127.0.0.0/8 [::1]/128
smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_tls_security_level = may
smtp_tls_security_level = may
smtpd_tls_cert_file = /etc/letsencrypt/live/mail.exemplu.md/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/mail.exemplu.md/privkey.pem
# /etc/postfix/master.cf: submission pe 587 doar cu TLS și SASL
submission inet n - y - - smtpd
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
Verificare din exteriordig +short TXT exemplu.md | grep spf1
dig +short TXT 2026a._domainkey.exemplu.md
dig +short TXT _dmarc.exemplu.md
dig +short -x 203.0.113.25
# test de relay: trebuie să răspundă 554 Relay access denied
swaks --to test@alt-domeniu.md --from x@exemplu.md --server mail.exemplu.md
Exemple din practică
Contabilitate din Chișinău, facturi false în numele firmei
Clienții primeau „facturi” cu alt IBAN, de la o adresă cu domeniul firmei, care nu avea nici SPF, nici DMARC. După SPF, DKIM și DMARC pe reject în șase săptămâni, rapoartele au arătat că peste 90 % din mesajele cu acel domeniu veneau din surse străine.
Magazin online din Bălți, confirmări de comandă în spam
Confirmările plecau de pe același server ca e-mailurile angajaților, fără DKIM și fără PTR. Mutarea lor pe un relay separat, cu selector propriu și PTR corect, a dus livrarea în inbox de la jumătate la aproape 100 %.
Outsourcing din Cahul, Mailu pe VPS propriu
Clientul german a cerut ca proiectul să nu treacă printr-un furnizor american. Echipa a instalat Mailu pe un VPS în Frankfurt, cu DMARC pe reject și TLS impus, iar chestionarul de securitate a primit răspunsuri verificabile.
Greșeli frecvente
- Publici SPF cu +all, care autorizează orice server din lume, sau te oprești la SPF fără DMARC; ~all e acceptabil doar pentru că DMARC pe reject face respingerea.
- Setezi DMARC direct pe p=reject, fără o lună de rapoarte, și blochezi propriul sistem de facturare.
- Ai două înregistrări TXT SPF pe același domeniu, ceea ce le invalidează pe amândouă.
- Nu ceri PTR de la furnizor și te miri că mesajele ajung în spam, deși SPF și DKIM trec.
- Lași ani de zile aceeași cheie DKIM de 1024 de biți, din configurarea inițială.
Cum te ajută 4hosting
- Mailu & SMTP Relay instalează Mailu cu SPF, DKIM și DMARC configurate, plus relay separat pentru tranzacțional; ghidul e la /documentatie/mailu-smtp-relay.
- Migrarea de la cPanel sau Google Workspace intră în același serviciu, pe VPS-uri din datacentrele UE de la Frankfurt.
- Orele de DevOps incluse (1–8 lunar la VPS, 10 la dedicate și GPU) acoperă trecerea DMARC de la none la reject și rotația anuală a cheii DKIM; se consumă în luna calendaristică, fără reportare.
- Hardening & Compliance verifică SPF, DKIM și DMARC la auditul de configurare; factură în euro, suport în engleză și română.
Întrebări conexe
Am nevoie de DMARC dacă folosesc Google Workspace sau Microsoft 365?
Da. Furnizorul semnează DKIM și îți dă valorile SPF, dar politica DMARC o publici tu, iar fără ea oricine poate falsifica From-ul. Marii destinatari cer deja DMARC, deci lipsa ei afectează livrarea, nu doar securitatea.
Cât de des rotesc cheia DKIM și cum fac fără întreruperi?
Cel puțin anual sau imediat după un incident. Publici cheia nouă pe un selector nou, treci semnarea pe el, aștepți câteva zile pentru mesajele în tranzit, apoi ștergi selectorul vechi.