Skip to main content

GALVENĀ ROKASGRĀMATA: Servera iestatīšana uzticamai e-pasta piegādei. 2. DAĻA: Kā neļaut izejošajiem e-pastiem nonākt spamā

· 6 min read
Customer Care Engineer

dns-records-configuration-spf-dkim-dmarc-ptr-mx-prevent-email-spam-guide

info

DNS ieraksti ir domēna tehnisko parametru kopums, kas nosaka, kur novirzīt dažādus trafika veidus: tīmekļa, pasta, FTP u.c.

Tie savieno domēna nosaukumu ar IP adresēm un citiem serveriem, lai pārlūkprogrammas un pasta sistēmas zinātu, ar ko savienoties, strādājot ar jūsu vietni vai e-pastu.

Šīs rokasgrāmatas 1. daļā, mēs konfigurējām ugunsmūri un atvērām nepieciešamos portus e-pasta piegādei. Tagad, kad esam pārliecinājušies, ka ziņojumi tiek sūtīti no jūsu servera, mums ir jāpārbauda, vai DNS ieraksti ir pareizi konfigurēti. Gmail, Outlook un citi galvenie pasta pakalpojumi stingri pārbauda MX, SPF, DKIM, DMARC un PTR pirms ziņojumu piegādes uz primāro iesūtni. Pareizi ieraksti ievērojami palielina iespēju, ka ziņojumi nonāks mapē Inbox, nevis Junk (vai tiks pilnībā noraidīti).

Nākamajos soļos mēs aprakstīsim, kā pārbaudīt pašreizējos katra veida DNS ierakstus un sniegsim ieteikumus to pareizai konfigurēšanai.

warning

Šajā raksta daļā visām pārbaudēm kā piemēri izmantojam domēnu example.com, IPv4 adresi 1.2.3.4 un IPv6 adresi 2001:db8:1:11::1. Lūdzu, aizstājiet tos ar savas vietnes reālo nosaukumu un savām faktiskajām IP adresēm.

Priekšnoteikumi

1. solis. DNS pakalpojumu sniedzēja pārbaude

Šī raksta kontekstā mums būs vairākas reizes jārediģē DNS ieraksti. Tas jādara jūsu domēna pašreizējā DNS pakalpojumu sniedzēja vadības panelī. Lai to izdarītu pareizi, jums precīzi jāzina, kas pašlaik nodrošina šos pakalpojumus. Pretējā gadījumā veiktās izmaiņas nebūs efektīvas.

Visbiežāk DNS pakalpojumu sniedzēja lomu veic:

  • jūsu hostēšanas nodrošinātājs,

  • jūsu domēna reģistrators vai

  • jūsu DDoS aizsardzības nodrošinātājs.

Bet tas ne vienmēr ir gadījums.

Jūs varat precīzi uzzināt, kas pašlaik ir jūsu domēna DNS pakalpojumu sniedzējs, izmantojot komandu whois. Piemēram, pārbaudīsim domēnu kodu.cloud:

whois kodu.cloud | grep -i "Name Server" | awk '{print $3}'

Izvade parādīs NS serverus:

art.ns.cloudflare.com
isla.ns.cloudflare.com

Tas nozīmē, ka šajā gadījumā DNS ieraksti ir jārediģē Cloudflare vadības panelī.

Daudzos gadījumos DNS pakalpojumu sniedzēju var noteikt pēc domēna nosaukuma. Tomēr ne vienmēr tas tā ir. Piemēram, mūsu bezmaksas DNS pakalpojumam, kas pieejams visiem mūsu klientiem, nosaukumi izskatās šādi:

birman.nameserver.red.
rex.nameserver.red.
korat.nameserver.blue.
toybob.nameserver.blue.

 Šajā gadījumā, lūdzu, sazinieties ar savu hostēšanas nodrošinātāja tehnisko atbalstu, lai saņemtu papildu skaidrojumu.

Pēc tam, kad esat galīgi identificējis savu DNS pakalpojumu sniedzēju, piesakieties tā vadības panelī un pārejiet uz sadaļu DNS ierakstu rediģēšanai savam domēnam. Lielākā daļa tālāk aprakstīto izmaiņu tiks veiktas tur. Tā kā visi interfeisi atšķiras, nav iespējams sniegt universālu soli pa solim rokasgrāmatu.

Ja šajā posmā rodas grūtības, konsultējieties ar tehnisko atbalstu.

warning

Pēc DNS ierakstu maiņas tās izplatīšanās kešatmiņā var ilgt no 20 minūtēm līdz 24 stundām. Ņemot vērā laiku, kas nepieciešams, lai lielākās pasta pakalpojumu sniedzēji atjauninātu jūsu reputāciju, stabilai e-pasta piegādei ieteicams gaidīt apmēram 48 stundas, lai gan biežāk situācija normalizējas pēc 2-3 stundām.

2. solis. IPv6 pārbaude

Lai pareizi konfigurētu, mums precīzi jāzina, vai serverim ir IPv6 adrese. Lai to uzzinātu, izpildiet komandu:

ip a | grep inet6

Ja izvade ir aptuveni šāda:

inet6 ::1/128 scope host noprefixroute
inet6 2001:db8:1:11::1/120 scope global
inet6 fe80::1/64 scope link

tad jūsu serverim ir IPv6 adrese. Tā būs redzama rindā, kas beidzas ar scope global līdz / zīmei.

Pierakstiet savu servera IPv6 adresi, lai to varētu izmantot vēlāk.

Ja izvade ir tukša vai satur tikai vienu rindu formā:

inet6 fe80::1c2:3dff:fe4a:5b6c/64 scope link

tad jūsu serverim nav IPv6. Visos turpmākajos soļos, lūdzu, neizmantojiet IPv6.

DNS ierakstu konfigurācija

3. solis. MX ieraksta pārbaude

MX ieraksts norāda, kur jāpiegādā ienākošais pasts domēnam. To var pārbaudīt ar komandu:

dig MX example.com +short

Pareizas izvades piemērs:

10 mail.example.com.

Ja izvade rāda nepareizu vērtību, rediģējiet DNS ierakstu sava DNS pakalpojumu sniedzēja vadības panelī:

  • Tips: MX
  • Nosaukums: @
  • Adrese: mail.example.com
  • Prioritāte: 10

Ja ieraksts trūkst, jūs saņemsiet tukšu izvadi:

~ dig MX badexample.com +short
~

Šajā gadījumā izveidojiet DNS ierakstu, sekojot iepriekš minētajam piemēram.

Ņemiet vērā arī to, ka var būt vairāki MX ieraksti. Šajā gadījumā pasts vispirms tiks nosūtīts uz serveri ar mazāku skaitlisko prioritātes vērtību (piemēram, 10 ir augstāka prioritāte nekā 20).

Ja primārais serveris ir nepieejams, piegāde tiks veikta uz nākamo serveri prioritātes secībā.

4. solis. A un AAAA ierakstu pārbaude

Pārliecinieties, ka mail.example.com un example.com tiešām norāda uz serveri, no kura tiek sūtīti ziņojumi:

dig A example.com +short
dig A mail.example.com +short
dig AAAA example.com +short
dig AAAA mail.example.com +short

Šo komandu izvades IP adresēm ir jāatbilst jūsu servera faktiskajām IPv4 un IPv6 adresēm. Ja tās atšķiras vai ja šādi ieraksti trūkst, rediģējiet vai izveidojiet tos sava DNS pakalpojumu sniedzēja vadības panelī:

  1. example.com (A):
  • Tips: A
  • Nosaukums: @
  • Adrese: 1.2.3.4
  1. example.com (AAAA):
  • Tips: AAAA
  • Nosaukums: @
  • Adrese: 2001:db8:1:11::1
  1. mail.example.com (A):
  • Tips: A
  • Nosaukums: mail
  • Adrese: 1.2.3.4
  1. mail.example.com (AAAA):
  • Tips: AAAA
  • Nosaukums: mail
  • Adrese: 2001:db8:1:11::1

5. solis. SPF ieraksta pārbaude

SPF nosaka, kuri serveri ir atļauti sūtīt pastu domēna vārdā.

Ieraksta pārbaude:

dig TXT example.com +short

Pareiza SPF ieraksta piemērs:

example.com. TXT "v=spf1 ip4:1.2.3.4 ip6:2001:db8:1:11::1 a mx ~all"

Ir ārkārtīgi svarīgi, lai domēnam būtu tikai viens SPF ieraksts. Vairāki ieraksti var izraisīt validācijas kļūdu.

Ja IP adrese atšķiras no jūsu pašreizējās servera adreses vai ja šāds ieraksts trūkst, rediģējiet vai izveidojiet to sava DNS pakalpojumu sniedzēja vadības panelī:

Ja ir pieejams IPv6:

  • Tips: TXT
  • Nosaukums: @
  • Vērtība: v=spf1 ip4:1.2.3.4 ip6:2001:db8:1:11::1 a mx ~all

Ja IPv6 nav pieejams:

  • Tips: TXT
  • Nosaukums: @
  • Vērtība: v=spf1 ip4:1.2.3.4 a mx ~all

SPF ierakstam ir daudz papildu opciju, taču šis kopums ir pietiekams pareizai ziņojumu nosūtīšanai.

6. solis. DKIM ieraksta pārbaude

DKIM ir ziņojuma digitālais paraksts, kas apliecina, ka tas tika nosūtīts no norādītā domēna un nav safabricēts. Paraksta pārbaudei tiek izmantots TXT DNS ieraksts ar publisko atslēgu: vispirms paraksts tiek izveidots serverī, un pēc tam atslēga tiek publicēta DNS.

Pastāv dažādi veidi, kā iegūt DKIM parakstu jūsu pasta domēnam, taču šī raksta ietvaros mēs apskatīsim vienkāršāko variantu - izmantojot FASTPANEL. FASTPANEL automātiski izveido DKIM parakstu pasta domēniem.

tip

FASTPANEL ir ļoti ērts darbam ar pasta serveri: jums nav manuāli jākonfigurē vai jāinstalē nekas. No kastītes jūs saņemat konfigurētu pasta serveri pilnvērtīgam darbam ar ienākošo un izejošo pastu, kā arī ērtu webmail klientu.

Tādēļ viss, kas jums jādara, ir jākopē publiskās atslēgas vērtība un jāpievieno tās attiecīgajam DNS ierakstam. Lai to izdarītu, panelī dodieties uz “Pārvaldība” → “Pasts” un uzspiediet pogu “DKIM” rindas beigās ar jūsu pasta domēna nosaukumu:

dns-records-configuration-spf-dkim-dmarc-ptr-mx-prevent-email-spam-guide

Pēc tam kopējiet publisko atslēgu:

dns-records-configuration-spf-dkim-dmarc-ptr-mx-prevent-email-spam-guide

Sava DNS pakalpojumu sniedzēja pusē izveidojiet sekojošu DNS ierakstu:

  • Tips: TXT
  • Nosaukums: dkim._domainkey
  • Vērtība: agrāk kopētā atslēga

Ja šāds ieraksts jau pastāv, labāk ir nomainīt atslēgas vērtību, lai pārliecinātos, ka tā ir jaunākā.

Var būt vairāki DKIM ieraksti, taču tad tiem ir jābūt dažādiem nosaukumiem. Piemēram, ja vienlaikus ir ieraksti ar nosaukumiem dkim._domainkey un mail._domainkey, tas neradīs problēmas.

Pēc konfigurācijas un DNS kešatmiņas atjaunināšanas jūs varat pārbaudīt DKIM ieraksta esamību, izmantojot komandu:

dig TXT dkim._domainkey.example.com +short

7. solis. DMARC ieraksta pārbaude

DMARC nosaka noteikumus ziņojumu apstrādei, kas neiziet SPF vai DKIM pārbaudi.

Ieraksta pārbaude:

dig TXT _dmarc.example.com +short

Izvades piemērs:

"v=DMARC1;p=reject;sp=reject;adkim=s;aspf=s"

DMARC ierakstam ir daudz papildu opciju, taču kopīgajos scenārijos pietiek pievienot šādas formas ierakstu:

  • Tips: TXT
  • Nosaukums: _dmarc
  • Vērtība: v=DMARC1; p=reject

8. solis. sendmail_path mainīgā konfigurācija (nav obligāti)

Šis solis būs ļoti noderīgs, ja sūtāt ziņojumus tieši no savas vietnes (piemēram, izmantojot kontaktformām vai veicot pasūtījumus). Lai nodrošinātu, ka visi nepieciešamie DNS ieraksti tiek ņemti vērā šādiem ziņojumiem, iestatiet sekojošo vērtību sendmail_path maiņmainīgajam jūsu vietnes PHP iestatījumos:

/usr/sbin/sendmail -t -i -f "[email protected]"

Piemēram, FASTPANEL to var izdarīt vietnes kartītē sadaļā “PHP iestatījumi”.

Saimniekdatora nosaukuma un PTR konfigurācija

PTR (vai rDNS) ir apgriezts DNS ieraksts, kas savieno IP adresi ar domēna nosaukumu.

Servera saimniekdatora nosaukums ir vienkārši nosaukums, ar kuru serveri var identificēt tīklā.

Ja PTR neatbilst servera saimniekdatora nosaukumam, ziņojumi gandrīz noteikti nonāks mēstuļu mapē.

Labākā prakse ir iestatīt mail.example.com kā abas vērtības (atcerieties, ka šī vērtība vienmēr jāaizstāj ar jūsu domēna reālo nosaukumu).

9. solis. Saimniekdatora nosaukums

Lai uzzinātu sava servera pašreizējo saimniekdatora nosaukumu, izpildiet komandu:

hostname

Lai to mainītu, izpildiet:

sudo hostnamectl set-hostname mail.example.com

Pēc tam izpildiet komandu hostname vēlreiz, lai pārliecinātos, ka viss ir pareizi.

10. solis. PTR

Situācija ar PTR ierakstu ir nedaudz atšķirīga: to var mainīt tikai IP adreses īpašnieks, tas ir, jūsu hostēšanas nodrošinātājs. Jūs varat uzzināt vairāk par iemesliem tam šajā rakstā.

Daži hostēšanas nodrošinātāji ļauj rediģēt PTR ierakstu jūsu personīgajā kontā. Jūs varat pamēģināt to izdarīt tur pats. Ja tas nedarbojas, sazinieties ar tehnisko atbalstu un lūdziet viņiem iestatīt sekojošo vērtību kā PTR ierakstu:

mail.example.com

Atcerieties, ka šī vērtība vienmēr jāaizstāj ar jūsu domēna reālo nosaukumu.

Izmaiņas parasti tiek piemērotas nekavējoties; šajā gadījumā nav nepieciešams gaidīt DNS kešatmiņas atjauninājumus. Jūs varat pārbaudīt pašreizējo PTR ierakstu, izmantojot komandu:

dig -x 1.2.3.4 +short

Galīgā pārbaude

Ja esat nonācis līdz šai sadaļai, apsveicu - jūs esat finiša taisnē. Tagad viss, kas jums atliek, ir pārbaudīt, vai viss ir pareizi konfigurēts un vai ziņojumi no jūsu servera gandrīz garantēti nonāks pie jebkura saņēmēja iesūtnes. Pirms to darāt, noteikti pagaidiet DNS kešatmiņas atjauninājumus. Vislabāk ir pagaidīt vismaz 1-2 stundas pēc pēdējām izmaiņām DNS ierakstos.

Ir daudz trešo pušu pakalpojumu šādām pārbaudēm. Jūs varat izmantot jebkuru no tiem. Šajā rakstā mēs izmantosim mail-tester.com pakalpojumu.

Lai veiktu pārbaudi, dodieties uz šo vietni un kopējiet testa pasta adreses nosaukumu:

dns-records-configuration-spf-dkim-dmarc-ptr-mx-prevent-email-spam-guide

Nosūtiet ziņojumu uz šo adresi no jebkura pasta jūsu domēnā un uzspiediet pogu “Tad pārbaudiet savu rezultātu”. Neaizmirstiet norādīt tēmu un kaut ko uzrakstīt ziņojuma pamattekstā.

Pēc tam pakalpojums parādīs DKIM, SPF, DMARC pārbaudes rezultātus, PTR ieraksta esamību un kopējo ziņojuma “reputācijas” rādītāju, kā arī to, vai jūsu serveris ir iekļauts SPAM melnajos sarakstos.

Ja esat rūpīgi un konsekventi izpildījis visus šī raksta soļus, rezultāts būs 10/10. Ja tas ir zemāks, lūdzu, izpētiet mail-tester ieteikumus. Tie detalizēti izskaidros, kāda ir problēma un kā to novērst.

Papildus varat pārbaudīt, vai jūsu serveris ir iekļauts SPAM melnajos sarakstos, izmantojot citu lielisku pakalpojumu:

 https://mxtoolbox.com/blacklists.aspx

Ja kāda no pārbaudēm parāda, ka jūsu servera IP adrese ir nokļuvusi kādā no sarakstiem, sazinieties ar savu hostēšanas nodrošinātāju, lai viņi palīdzētu atrisināt problēmu.

Tādējādi konfigurācija ir pabeigta. Ja nevēlaties tērēt laiku saviem pētījumiem vai saskāraties ar kādām problēmām, jūs vienmēr varat sazināties ar kodu.cloud tehnisko atbalstu. Mēs saviem klientiem jebkurā laikā bez maksas veicam visus šeit aprakstītos soļus pēc iespējas ātrāk.