DKIM, SPF ja DMARC: Varmista sähköpostin kulku WordPressista DNS-tietueilla

Ei enää spämmiä

Monet sähköpostipalveluntarjoajat ovat ilmoittaneet uusista vaatimuksista viestien perillemenon varmistamiseksi. Onkin hyvä hetki tarkistaa, että domainisi DNS-tietueet ovat kunnossa! Tästä kirjoituksesta selviää, mitä DNS-tietueet ovat ja miten niitä muokataan. Samalla tulet varmistaneeksi, etteivät esimerkiksi WordPress-sivustosi lähettämä sähköposti päädy vastaanottajan roskapostikansioon.

Mikä on DNS?

DNS eli Domain Name System on maailmanlaajuisesti toimiva järjestelmä, joka yhdistää verkkotunnukset eli domainit ja palvelimien IP-osoitteet. Yksinkertaistettuna järjestelmä kertoo, mihin tai mille palvelimelle domainin verkkoliikenne kuuluu ohjata.

Kun kirjoitat selaimesi osoiteriville domainin – esimerkiksi seravo.com – tekee laitteesi DNS-kyselyn ja ottaa sitten yhteyttä kyseiseen verkkopalveluun tai sivustoon. Domaineja käytetään, koska palvelimet toimivat numeerisilla IP-osoitteilla, joiden muistaminen olisi ihmisille epäkäytännöllistä. DNS-kyselyn avulla yhteys ohjautuu oikeaan paikkaan.

Mitä DNS-tietueet ovat?

Maailmanlaajuisessa DNS-järjestelmässä sijaitsevat tiedot siitä, mihin ja miten kunkin domainin verkkoliikenne kuuluu ohjata. Nämä ohjaukset ovat tietueita. DNS-tietue koostuu vähintään kolmesta asiasta: nimestä (domain tai alidomain), TTL-arvosta (time-to-live, ”elinaika”), tietueen tyypistä ja tietueen arvosta.

Tietueen nimi

Tietueen ensimmäinen osa (host) kertoo, koskeeko tietue itse domainia (apex) vai jotakin tiettyä alidomainia. Esimerkiksi DMARC-tietue asetetaan toimimaan aina alidomainissa. Tietueet voidaan myös asettaa koskemaan koko domainia.

seravo.com. 3600 IN TXT “esimerkki”

alidomain.seravo.com. 3600 IN TXT “toinenesimerkki”

Yllä esimerkkejä kuvitteellisista TXT-tietueista, joiden sisältönä ovat merkkijonot ”esimerkki” ja ”toinenesimerkki”. Ensimmäinen tietue koskee koko domainia (seravo.com), siinä missä alempi tietue on määritelty pelkästään alidomainille. Domainin ja nimipalveluiden hallinnasta riippuen voidaan käyttää myös @-merkkiä, kun tarkoitetaan koko domainia (nk. apex, josta käytetään usein myös termiä ”juuridomain”):

@ 3600 IN TXT “esimerkki”

TTL

Kun DNS-tietueita muokataan, muutokset eivät näy kaikkialla verkossa heti, vaan nimipalvelimet toimivat omien määritystensä puitteissa. Yksi toimintaa määrittelevä tekijä on tietueen TTL (time to live, ”elinaika”), joka voi olla määritelty muutamasta minuutista useaan tuntiin. TTL-arvo ei kuitenkaan kerro, kuinka kauan DNS:llä kestää päivittyä: se kertoo vain, minkä ajan tietuetta kuuluu säilyttää nimipalvelimen muistissa. TTL ilmoitetaan sekunteina. Aiemmassa esimerkkitietueessa oleva numero 3600 tarkoittaa yhtä tuntia.

Tämän jälkeen tietue lähtee päivittymään (propagate) DNS:ssä. Jos olet juuri hiljattain päivittänyt domainisi DNS-tietueita, voit seurata niiden maailmanlaajuista päivittymistä tähän tarkoitetulla työkalulla. DNS-tietueen päivittymiseen kuluu yleensä joitakin tunteja, mutta toisinaan päivittyminen voi olla nopeampaakin. Jos tietueen päivittymisestä on jo kulunut hetki, eivätkä muutokset näy, kannattaa tarkistaa tietueen käyttämä TTL. Myös esimerkiksi paikallisessa lähiverkossa olevan laitteen oma DNS-välimuisti voi olla syynä siihen etteivät muutokset näy, vaikka ne näyttäisivät jo maailmalla DNS:ään päivittyneen.

DNS-tietueiden tyypit

Aiemmat esimerkit olivat TXT-tyyppisiä tietueita, jotka sisältävät vain tekstiä tai merkkijonon. DNS-tietuetyyppejä on monia – tässä on lueteltu verkkosivustojen kannalta oleellisimmat.

A- ja AAAA-tietueet

Domainin verkkoliikenteen ohjaaminen oikeaan IP-osoitteeseen tapahtuu A ja AAAA -tietueilla. A-tietueet sisältävät IPv4-osoitteen, AAAA-tietueessa puolestaan kerrotaan uudemmantyyppinen IPv6-osoite, jotka ovat erityisesti nykyaikaisten mobiiliverkkojen suosimia.

A- ja AAAA-tietueita voi olla määriteltynä samalle domainille useampikin. Seravon DNS-tietueista löytyy useita IPv4- ja IPv6-osoitteita, mikä parantaa sivustojen saatavuutta: jos syystä tai toisesta yksi IP-osoite ei toimi, käytetään silloin toista.

@ 3600 IN A 0.0.0.0

Yllä oleva esimerkki ohjaa koko domainin liikenteen kuvitteelliseen IP-osoitteeseen 0.0.0.0.

CNAME

Alidomainin (alidomain.esimerkki.fi) ohjaamiseen voi halutessaan käyttää A- ja AAAA-tietueita. Tyypillisempää on kuitenkin tehdä ohjaus CNAME-tietueella. Tällöin voidaan määrittää, että esimerkiksi www-alidomain kuuluu ohjata “kaanoniseen” domainiin (canonical domain). Seraavassa esimerkissä kerrotaan, että www-alidomainin verkkoliikenne kuuluu ohjata yhdelle Seravon palvelimista:

www 3600 IN CNAME fi-haarla.seravo.com.

TXT

Tekstityypin tietue, joka voi sisältää minkälaisen merkkijonon tahansa. Esimerkiksi DMARC-menetelmän tietue on tyypiltään TXT-tietue.

TXT-tietuetyypin rajoite on sen arvon pituus, joka on 255 merkkiä. Esimerkiksi DKIM-tietueet ovat usein tätä pidempiä merkkijonoja. Voit kuitenkin jakaa yli 255 merkkiä pitkän merkkijononkin useammaksi lainausmerkkien avulla, kuten esimerkiksi:

@ 3600 IN TXT "esimerkki""toinenesimerkki""kolmasesimerkki"

DNS näkee nämä eri merkkijonot muodossa "esimerkkitoinenesimerkkikolmasesimerkki".

Wildcard-tietue tutuksi

Seravon WP-palvelussa on oletuksena käytössä nk. wildcard-tietue, joka ohjaa kaikki erikseen määrittelemättömät alidomainit Seravon palvelimelle. Tämä on hyödyllistä silloin, jos alidomainin näppäilemisessä käy kirjoitusvirhe: esimerkiksi jos sivusto on asetettu toimimaan www-alidomainissa, mutta osoiteriville kirjoitetaan vahingossa “ww.esimerkki.fi”, ohjautuu verkkoliikenne tällöinkin haluttuun paikkaan.

Wildcard-tietueen käyttö ei kuitenkaan ole pakollista, vaan sen voi huoletta jättää pois DNS-ohjauksista Seravolla, jos sitä ei haluta käyttää. Lue lisää Seravon WP-palvelussa tarvituista tietueista.

Sähköpostiliikenteen DNS-tietueet

Domainin sähköpostiliikennettä ohjataan MX-tietueilla (mail exchange). Nämä tietueet kertovat, mihin palveluun saapuvat sähköpostiviestit kuuluu ohjata (kuten esimerkiksi Google Workspace tai Microsoft Outlook).

Myös WordPress-sivustot lähettävät sähköpostiviestejä, kuten viestejä liittyen yhteydenottolomakkeisiin, verkkokaupan tilauksiin tai WordPress-käyttäjätunnusten hallintaan, esimerkiksi salasanojen palauttamisen viestit.

Vähennä roskapostin määrää tarkistamalla DNS-tietueet

DKIM, SPF ja DMARC ovat lyhenteitä tekniikoista, joiden tarkoitus on vähentää sinunkin sähköpostiosoitteeseesi saapuvan roskapostin määrää. Nämä teknologiat ja niiden määritykset täydentävät toisiaan, ja pienellä perehtymisellä voit parantaa oman domainisi sähköpostiliikenteen kulkua.

Jos tarvitset apua DNS-tietueiden muokkaamisen tai lisäämisen kanssa, voit kääntyä Seravon WP-palvelun asiakkaana puoleemme nimipalveluihin tai tietueisiin liittyvissä ongelmissa. Vaikka domain ei olisikaan ylläpidossamme, neuvomme mielellämme, kuinka pääset eteenpäin!

DKIM

DKIM eli DomainKeys Identified Mail on digitaalinen allekirjoitus, joka lisätään jokaisen lähtevän sähköpostiviestin otsaketietoihin (engl. header). Kun viesti saapuu vastaanottajalle, tarkistetaan viestin aitous DNS-tietueisiin lisätyllä julkisella avaimella. Käytetty kryptografinen menetelmä on sama kuin PGP-avaimissa ja TLS-sertifikaateissa.

DKIM-tietue on tyypiltään TXT, mutta käytetystä palvelusta riippuen DKIM-avain voi majailla myös CNAME-tietueen ”takana”. Toisinaan tietueilla on palveluntarjoajan ennalta määrittelemä nimi, joka tunnetaan myös englanninkielisellä nimellä selector.

Kuinka DKIM otetaan käyttöön?

DKIM:n käyttöönotto riippuu käyttämästäsi palvelusta – käänny siis sen palveluntarjoajan puoleen, jonka palvelusta viestejä on tarkoitus lähettää. Saat palveluntarjoajalta DKIM-tiedot, jotka lisätään domainisi DNS-tietueiden joukkoon.

SPF

SPF eli Sender Policy Framework kertoo, millä kaikilla palvelimilla tai palveluilla on lupa lähettää sähköpostia. Tällaisia palveluita ovat esimerkiksi kolmannen osapuolen palvelut ja integraatiot, kuten vaikkapa markkinointiviestintään käytettävä työkalu tai palvelu (MailChimp, HubSpot, ActiveCampaign, jne).

SPF estää spoofingia, eli lähettäjän domainin väärentämistä. Sen perusteella siis tarkistetaan, kuka viestin on lähettänyt, ja onko lähettäjällä “lupa” viestin lähettämiseen. Vastaanottava sähköpostipalvelin tutkii DNS:stä löytyvää SPF-tietuetta. Jos saapuva viesti ei läpäise SPF-testiä (SPF check), viesti päätyy todennäköisesti sähköpostijärjestelmien roskapostisuodattimen haaviin matkan varrella, eikä välttämättä edes päädy vastaanottajan roskapostihakemistoon asti.

@ 10800 IN TXT "v=spf1 a mx include:esimerkki.fi ~all"

Yllä olevassa esimerkkitietueessa on määritelty, että domainilla on lupa lähettää sähköposteja IP-osoitteista, jotka löytyvät kyseisen domainin A- ja MX-tietueista. Lisäksi sähköpostien lähetyslupa annetaan kuvittelliselle esimerkki.fi-verkkopalvelulle. v=spf1 tietueen alussa kertoo, että kyseessä on SPF-tietue. Tietueen lopusta löytyvä asetus puolestaan kertoo sähköpostijärjestelmille, miten kohdella viestejä, jotka on lähettänyt taho joita ei ole tietueessa mainittu:

  • ~all, ”softfail”: kaikkien muiden lähettäjien viestit eivät todennäköisesti ole sallittuja, ja viestit kuuluu merkitä roskapostiksi.
  • -all, ”hardfail”: kaikkien muiden lähettäjien viestit eivät ole sallittuja, ja viestit kuuluu hylätä.

Kuinka SPF otetaan käyttöön?

SPF-tietueita voi olla vain yksi kappale per domain tai alidomain, ja on muutenkin hyvä pitää mielessä, että sen sisältöön liittyy tiettyjä rajoituksia. SPF-tietue voi esimerkiksi sisältää enintään 10 kappaletta include:-osoitteita.

Parhaimmat tiedot SPF-tietueen sisällöstä ja sen päivittämisestä saat oman organisaatiosi IT-asiantuntijoilta, mutta voit kääntyä aina Seravon asiakaspalvelun puoleen, jos haluat muokata SPF-tietuetta tai tietueen sisällöstä ilmenee muuta kysyttävää.

DMARC

DMARC eli Domain-based Message Authentication, Reporting, and Conformance täydentää DKIM- ja SPF-tekniikoiden toimintaa: DMARC sisältää tiedot ja ohjeet siitä, mitä kuuluu tehdä viesteille, jotka eivät läpäise SPF- tai DKIM-testejä.

DMARC kannattaakin lisätä jokaiselle domainille, jolla sähköpostia vastaanotetaan. Sähköpostipalveluntarjoajat (kuten helmikuussa 2024 Google ja Yahoo) edellyttävät kasvavissa määrin, että viestin lähettäneen domainin DNS-tietueista löytyy edes jonkinlainen DMARC-määritys – eli että DMARC-tietue on ylipäätänsä olemassa.

DMARC siis kertoo, mitä roskapostiksi tulkittaville viesteille halutaan tehtävän, ja sen sisältö on domainin omistajan vapaasti määriteltävissä. Seravon WP-palvelussa domainillesi on voitu lisätä DMARC-tietue, joka kertoo, ettei raportteja roskapostiksi tulkituista viesteistä kuulu ohjata mihinkään. Tietueen sisältö kannattaa tarkistaa, jos raportit halutaan vastaanottaa johonkin tiettyyn sähköpostiosoitteeseen. Koska DMARC-raportteja voi saapua paljon, on suositeltavaa perustaa erillinen osoite raporttien vastaanottamiseksi ja käsittelemiseksi.

DMARC on tietue, jonka käyttämiseen kannattaa erityisesti nyt nähtävien muutosten myötä kiinnittää erityistä huomioita. DMARC-tietue kannattaa ehdottomasti olla lisättynä domainin DNS-tietueisiin, vaikka sen sisällössä ei erikoisempia sääntöjä olisikaan määriteltynä.

Esimerkki DMARC-tietueesta

DMARC-tietue on määritelty aina alidomainille _dmarc, ja sen sisältö on merkkijono (TXT). DMARC-tietue näyttää kaikkein yksinkertaisimmillaan seuraavanlaiselta:

_dmarc 10800 IN TXT "v=DMARC1; p=none;"

Yllä olevassa tietueessa on määritelty kaikki pakollinen, mutta DMARC-tietueelle voit määritellä myös paljon tarkempia sääntöjä ja ohjeita epäilyttäviä viestejä varten.

Pakolliset DMARC-määritykset ja tagit

Näiden tagien kuuluu löytyä DMARC-tietueesta:

  • v = DMARC-protokollan versiotieto, jolla kerrotaan, ettei kyseessä ole mikä tahansa TXT-tyyppinen tietue, vaan todellakin DMARC. Sisältö on ”DMARC1” ja tämän osan on löydyttävä tietueesta, tai vastaanottajan sähköpostipalvelin koko tietueen huomioimatta.
  • p = DMARC-autentikaation läpäisemättömien viestien käsittelyn käytäntö (p=none, p=quarantine tai p=reject)
    • p=none – kertoo, ettei käytäntöä ole
    • p=quarantine – vastaanottajan sähköpostipalvelin tulee käsitellö epäilyttävinä viestit, jotka eivät läpäise autentikaatiota (viestin vastaanottajan käyttämän palvelun asetuksista riippuu, miten viestiä tarkalleen ottaen kohdellaan).
    • p=reject – viestit kuuluu hylätä

Valinnaiset DMARC-määritykset ja tagit

Alla luetellut tagit ovat DMARC-tietueessa vapaaehtoisia:

  • sp = Oma käytäntö alidomaineille, sama syntaksi kuin aiemmin kuvatussa pakollisessa ”p”-tagissa.
  • pct = Viestimäärä prosentteina, joihin DMARCia halutaan soveltaa. Mahdollistaa DMARC:n käytön kasvattamisen vaiheittain, jolloin autentikaation vaikutusta saadaan testattua ja seurattua.
  • rua = Sähköpostiosoite, johon DMARC-raporttien koonnit (aggregate reports) lähetetään.
  • ruf = Sähköpostiosoite, johon lähetetään yksityiskohtaisia tietoja niistä viesteistä, jotka eivät läpäise autentikaatiota.
  • fo = Tarkentaa ja täydentää ruf-tagin sisältöä, eli sisältää ohjeen siitä, missä virheissä RUF-raportteja viesteistä tulee koostaa.
  • rf = Miten RUF-raportit kuuluu formatoida.
  • ri = Kuinka usein DMARC-raportteja tulee muodostaa.
  • adkim = Käytetäänkö tiukkaa (”s”, strict) vai rentoa (”r”, relaxed) DKIM-autentikaatiota: tuleeko sähköpostiviestin d-tagista löytyvän domainin vastata ”From”-tietoa. Vaikuttaa esimerkiksi siihen, voiko alidomain läpäistä autentikaatiota. Jos ei erikseen määritelty, oletusarvoisesti ”r”.
  • aspf = Käytetäänkö tiukkaa vai rentoa SPF:ää. Kuten edellä, vaikuttaa mahdollisten alidomainien kautta kulkevien viestien autentikaatioon. Jos ei erikseen määritelty, oletusarvoisesti ”r”.

Lähde: IETF, RFC 7489: https://www.rfc-editor.org/rfc/rfc7489

Kuinka DMARC otetaan käyttöön?

Kun olet päättänyt, minkälaiset DMARC-säännöt haluat käyttöön domainillasi, tulee tietue lisätä nimipalveluun (DNS), kuten mikä tahansa muu tietue. Tietueen lisäämiseen saat apuja Seravon asiakaspalvelusta, mutta ohjeet tietueiden lisäämiseen ja muokkaamiseen omatoimisesti löydät jatkamalla lukemista!

Miten DNS-tietueita muokataan?

Jos domainisi eli verkkotunnuksesi on siirretty Seravon hallintaan, voit muokata DNS-tietueiden sisältöä yksinkertaisesti kirjautumalla WordPress-hallintapaneeliin (wp-admin). Erillistä cPanel-tyyppistä hallintaa ei WP-palvelussa tarvita, sillä käytössä on Seravo plugin. Siirry valikkoon Työkalut > Verkkotunnukset, niin pääset muokkaamaan DNS-tietueita.

Jos olet sivustosi tekninen yhteyshenkilö, voit myös lähettää DNS-tietueiden muutospyynnön vapaamuotoisesti sähköpostiimme (help@seravo.com), niin teemme tarvittavat muutokset puolestasi – osana asiakaspalvelua, ilman eri maksua.

Muu DNS-palveluntarjoaja

Jos domainisi sijaitsee jossakin muussa kuin Seravon WP-palvelun ylläpidossa, noudata kyseisen palveluntarjoajan ohjeita DNS-muutosten tekemiseksi.

Missä domainini on?

Domainin hallinnan sijainti selviää käyttämällä esimerkiksi Traficomin ylläpitämää, selaimessa toimivaa työkalua. Kyselyllä näet tulosteen WHOIS-palvelusta, joka listaa tietoja domainia hallinnoivasta tahosta ja mahdollisista yhteystiedoista.

Yhden domainin ylläpito kuuluu aina Seravolla palvelupakettiin. Jos domain ei ole vielä Seravon hallinnassa, voit siirtää sen toimittamalla meille domainin siirtoon tarvittavat tiedot. Lisäohjeita siirtämiseen voit lukea Seravon tietopankista, tai voit ottaa yhteyttä asiakaspalveluumme.

Lopuksi

Toivottavasti DNS ja tietueet ovat nyt tutumpia! Kun tietueet ovat kunnossa, tulet samalla varmistaneeksi, ettei WordPressin lähettämiä viestejä tulkita roskapostiksi. Tietueiden sisällöt ja niiden muutokset vaativat hieman aikaa, vaivaa ja perehtymistä. Lisäksi niiden muokkaamisessa vaaditaan tarkkuutta: yksikin puuttuva merkki voi tarkoittaa, ettei tietue toimi. Voit kuitenkin aina kääntyä asiakkaana puoleemme, jos sinulla on kysyttävää domaineista, DNS:stä, tai tietueista! Parhaiten saat yhteyden sähköpostitse (help@seravo.com).