Piilevää skitsofreniaako?

Kaikki varmasti kärsivät roskapostista, kuka enemmän, kuka vähemmän. Itseäni se ei juurikaan haittaa, ehkä pikemminkin tarjoaa huvitusta. Tämä on korostunut viime aikoina, kun olen yhä useammin huomannut lähettäväni roskapostia itse itselleni. Tiedän, tämä saattaa olla piilevän skitsofrenian ensimmäinen ilmenemismuoto, mutta yhtäkaikki on huvittavaa havaita vastaanottavansa mainosta jos jonkinlaisesta pilleristä - mainosta, jonka olen itse lähettänyt itselleni.

Vakavasti puhuen, tämähän ei sinällään oli mikään uusi juttu - lähettäjätietoja on väärennetty sähköpostiviesteissä ennenkin. Mielenkiintoinen kysymys minusta on se, miten tällaiselta voi suojautua. Roskapostien suodattamiseen voidaan käyttää nykyisin hyvin monia eri keinoja yhteystason suodattamisesta aina sisältöpohjaiseen suodattamiseen. Ja työkaluvalikoimasta löytyy myös pari keinoa, jotka erityisesti purevat edellä mainittuun ongelmaan.

Ensimmäinen keino on käyttää lähettäjäosoitteeseen perustuvaa suodatusta. Tällöin vastaanottavaan SMTP-palvelimeen määritetään, että viestin vastaanotto estetään, jos sen lähettäjä tai ehkä yleisemmin lähettäjän domain on estolistalla. Microsoftin Exchange-palvelimessa määrityksen voi tehdä sekä yksittäisen sähköpostiosoitteen (esim. etunimi.sukunimi@yritys.fi) tasolla tai yksittäisen domainin tasolla (esim. @yritys.fi). Edellistä harvoin käytetään, mutta jälkimmäisen määrityksen avulla on helppo välttää edellä esitetty ongelma, jossa käyttäjä lähettää roskapostia itselleen. Palvelimeen määritetään yksinkertaisesti esto perustuen organisaation omaan domainnimeen niin, että sellaisten viestien, joissa lähettäjän osoitteen domain on sama kuin organisaation domainnimi, vastaanotto estetään.

On toki huomattava, että joissain tilanteissa edellä kuvatun määrityksen käyttö ei ole mahdollista:

  • Organisaation omat käyttäjät vastaanottavat sähköpostia käyttämällä POP3- tai IMAP4-yhteyttä, he yleensä lähettävät viestinsä organisaation oman palvelimen kautta käyttämällä SMTP-yhteyttä. Ja tällöin luonnollisesti oman domainin estäminen estäisi myös näiden viestien vastaanottamisen ja lähettämisen edelleen (joissain sähköpostijärjestelmissä tämä ongelma voidaan kiertää niin, että sallitaan oman domainin estosta huolimatta viestien välitys edelleen silloin, jos lähettävä yhteys on autentikoitu).
  • Toinen esimerkki on tapaukset, joissa jokin organisaaton ulkopuolinen taho, esimerkiksi mainostoimisto, lähettää viestejä organisaation nimissä, ja näitä viestejä pitää vastaanottaa myös oman organisaation palvelimilla. 

Nämä ovat kuitenkin yleensä erikoistapauksia, joiden hanskaamiseen on vähän sähköpostijärjestelmästä riippuen olemassa erilaisia keinoja.

Toinen keino lähettäjätiedon käyttämiseen roskapostin suodattamisessa onkin sitten vähän tuntemattomampi. Kyseessä on SenderID- tai SPF-nimellä (Sender Policy Framework) kulkeva menetelmä. Miten se toimii? Kaikkihan tietävät, mihin MX-tietueita käytetään: kun lähetät sähköpostia esimerkiksi osoitteella kimmo@microsoft.com, viestin lähettävä sähköpostipalvelin pyytää DNS-palvelimeltaan microsoft.com-domainin MX-tietueet. Näiden tietueiden perusteella palvelin tietää, mihin sen pitää ottaa yhteyttä välittääkseen @microsoft.com-osoitteella olevan sähköpostin. SenderID toimii suurinpiirtein samalla tavalla: 1) domainnimen DNS-määrityksiin lisätään tietue, joka kertoo, mistä palvelimista tai osoitteista ko. domainin osoitteella tulevia sähköposteja voidaan lähettää, ja 2) vastaanotettaessa viestiä esimerkiksi @microsoft.com-osoitteella vastaanottava sähköpostipalvelin selvittää DNS:ltä, onko microsoft.com-domainille määritetty SPF-tietuetta, ja jos on, varmistaa, että sähköpostia lähettävä palvelin on määrityksen mukainen. Jos näin ei ole, viesti leimataan roskapostiksi.

Käytännössä SenderID:n käyttöönotto tarkoittaa siis kahta vaihetta:

  • Määritetään domainnimelle SPF-tietue. Tietue on yleisimmin TXT-muotoinen DNS-tietue (vaikkakin SPF-tietueelle on nykyään myös oma tietuetyyppinsä, sitä ei yleensä käytetä), joka lisätään domainin DNS-määrityksiin. Jos käytetään esimerkkinä domainia domain.fi, voi SPF-tietue olla esimerkiksi muotoa:

v=spf1 mx mx:mail1.domain.fi mx:mail2.domain.fi -all
(tämä kertoo vastaanottavalle sähköpostipalvelimelle, että kaikki @domain.fi-osoitteilla vastaanotettavat sähköpostiviestit lähetetään domainin MX- tietueiden määrittämistä palvelimista mail1.domain.fi ja mail2.domain.fi)

v=spf1 ip4:196.34.66.128 -all
(tämä kertoo vastaanottavalle sähköpostipalvelimelle, että kaikki @domain.fi-osoitteilla vastaanotettavat sähköpostiviestit lähetetään palvelimesta, jonka IP-osoite on 196.34.66.128)

v=spf1 -all
(tämä kertoo vastaanottavalle sähköpostipalvelimelle, että @domain.fi-osoitteella ei lähetetä sähköpostiviestejä)

  • Määritetään vastaanottavassa sähköpostipalvelimessa, että se tekee SenderID-tarkistuksen sähköposteja vastaanotettaessa, ja lisäksi vielä se, miten viestiä käsitellään, jos tarkistus antaa ymmärtää, että viestiä lähettävä sähköpostipalvelin ei ole määritetty ko. domainin SPF-tietueessa. Esimerkiksi Exchange-palvelimessa määritetään, tehdäänkö SenderID-tarkistus, ja sen jälkeen määritetään poistetaanko viesti suoraan, jos lähettävä palvelin ei vastaa SPF-tietuetta, vai leimataanko tieto ainoastaan viestiin ja sen jälkeen käytetään sitä yhdessä muiden roskapostiin viittavien tietojen kanssa.

Näitä kahta vaihetta voidaan käyttää täysin toisistaan riippumatta - voit siis käyttää SenderID-suodatusta viestien vastaanotossa, vaikka domainnimellesi ei olekaan määritetty SPF-tietuetta. Ja on myös tilanteita, jotka tekevät SPF-tietueen määrittämisestä vähintäänkin hankalaa - esimerkiksi, jos sähköpostiviestejä domainnimelläsi lähetetään paitsi organisaation omista sähköpostipalvelimista, myös ulkoisten kumppanien, esimerkiksi mainostoimiston toimesta. Näissä tilanteissakin useimmiten on olemassa keinoja, joilla ongelmat voidaan kiertää ja tietueet määrittää.

Lisätietoja SenderID-määrityksistä löytyy mm. seuraavista osoitteista:

Jos palataan alkuperäiseen ongelmaan - vastaanotan roskapostin, jossa olen itse lähettäjänä: kumpikin edellä kuvatuista menetelmistä auttaa suodattamaan tällaisia roskaposteja. Ja SenderID-määrityksiin perustuva suodatus auttaa myös suodattamaan paljon muuta väärennetyillä lähettäjäosoitteilla lähetettyä roskapostia, joten miksi sitä ei kannattaisi käyttää. Kuten MAAWG-organisaatio (Messaging Anti-Abuse Working Group) toteaa dokumentissaan Sender Best Communications Practices:

"At the very least, senders should incorporate SPF records for their mailing domains."

Miksiköhän muuten SPF-tietueita ei ole suositeltu käytettäviksi Viestintäviraston fi-tunnuksia myöntävässä verkkosivustossa tai Viestintäviraston määräyksessä 37 E / 2006 M, joka koskee fi-verkkotunnuksen teknisiä määrittelyjä ja sallittuja merkkejä?