Ghid de securitate · Moldova

Cum securizez serverul de e-mail cu SPF, DKIM și DMARC?

Un domeniu .md fără SPF, DKIM și DMARC poate fi folosit de oricine ca expeditor, iar facturile false „de la contabilitate” ajung la clienții tăi cu numele tău. Serverul de e-mail al firmei cere trei înregistrări DNS și câteva setări.

Actualizat la

Răspuns scurt

  1. 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.
  2. Adresa IP a serverului are PTR care indică numele lui, iar numele are o înregistrare A către aceeași adresă.
  3. Serverul acceptă mesaje de la clienți doar autentificat, pe 587 sau 465 cu TLS, și nu retransmite pentru domenii străine.
  4. Trimiterile tranzacționale pleacă printr-un relay separat, cu selector DKIM propriu, ca o problemă de reputație să nu blocheze corespondența oamenilor.
  5. 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
ÎnregistrareUndeValoare recomandatăCe previne
SPFTXT pe exemplu.mdv=spf1 mx include:relay.exemplu.md ~all, cu DMARC p=rejecttrimiteri de pe servere neautorizate
DKIMTXT pe 2026a._domainkey.exemplu.mdv=DKIM1; k=rsa; p=<cheie 2048>modificarea mesajului, falsificarea sursei
DMARCTXT pe _dmarc.exemplu.mdv=DMARC1; p=reject; rua=mailto:[email protected]; adkim=s; aspf=smesaje cu From falsificat acceptate
PTRreverse DNS la furnizor203.0.113.25 → mail.exemplu.mdclasificarea ca spam la primire
MTA-STS și TLS-RPTTXT pe _mta-sts și _smtp._tlsv=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 exterior
dig +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.

Cere o verificare de securitate

Acest ghid adună într-un singur loc măsurile care contează pentru un server de producție al unei firme din Moldova: de la cheia SSH până la copia de backup pe care nimeni nu o poate șterge. Fiecare capitol trimite la o pagină de întrebare cu pași, comenzi și exemple. Este scris pentru echipe care livrează clienților din UE, raportează la instituții locale sau vând online și nu își permit o zi de indisponibilitate.