sikkerhet
Skal gjenta suksessen med Let's Encrypt for å sikre epost
Norsk forkjemper mener initiativet er bra, men likevel bare er et midlertidig steg på veien mot bedre løsninger.
Rettighetsorganisasjonen Electronic Frontier Foundation (EFF) lanserte denne uken et nytt initiativ som man håper skal kunne bidra til at enda mer epost sikres mot avlytting og overvåkning.
Som kjent står EFF også bak det svært vellykkede Let's Encrypt-initiativet, som har bidratt til at store deler av weben nå leveres kryptert via HTTPS, i stedet for ukryptert via HTTP.
Derfor er det ingen overraskelse at det nye initiativet, StartTLS Everywhere, har en hel del felles med Let's Encrypt.
Har du fått med deg dette? Let's Encrypt åpner for «wildcard»-sertifikater
StartTLS
StartTLS er egentlig en kommando som epostservere sender når de ønsker å kryptere epost under transport, det vil si mens den sendes mellom de ulike hoppene på veien fra avsenderen til mottakeren. Dette hindrer at noen kan lese eposten ved å avlytte internettforbindelsen på veien. Men den hindrer ikke at de som har tilgangen til epostserverne (egentlig MTA – Message Transfer Agent) som eposten er innom, kan lese den.
For virkelig å hindre dette, må avsenderen bruke ende-til-ende-kryptering.
Les mer: Dette gir mindre avlytting av e-post. Og Norge er først i verden
Svært positiv utvikling
Nå skal det sies at støtten for StartTLS har økt kraftig de siste fem årene og på ingen måte er på det lave nivået som HTTPS var på før Let's Encrypt og andre initiativer fikk fart på sakene.
Ifølge Google er 89 prosent av all epost som sendes til og fra selskapets systemer, inkludert Gmail, kryptert mellom Google og neste hopp på veien. For at krypteringen skal fungere, avhenger dette av at MTA-ene hos begge parter som kommuniserer med hverandre, støtter dette.
Det at 89 prosent av epost sendes over en kryptert forbindelse, betyr likevel ikke at 89 prosent av MTA-ene støtter StartTLS. En veldig stor andel av eposten sendes mellom de største eposttjenestene. Og disse støtter StartTLS.
Blant de mindre brukte eposttjenestene, for eksempel i mindre bedrifter som drifter sin egen tjeneste, er trolig andelen av MTA-ene som støtter StartTLS, betydelig mindre.
Dette er likevel ikke et stort problem lenger.
Manglende validering
Det som derimot er et betydelig problem, ifølge EFF, er at de fleste epostservere ikke validerer sertifikatene som brukes sammen med StartTLS.
Siden hensikten med sertifikatet er å gi en server mulighet til å bevise at den er det den gir seg ut for å være, gjør denne manglende valideringen det mulig en angriper å avlytte forbindelsen gjennom et man-in-the-middle-angrep (MitM), ja til og med å manipulere epostene som sendes.
Selvsignert
Ifølge EFF er noe av årsaken til at validering av sertifikatene er så lite utbredt, at veldig mange bruker selvsignerte sertifikater. Mens slike sertifikater fører til at det vises en feilmelding dersom de brukes på websider, vil de føre til at epost ikke blir sendt, dersom de ikke godtas av MTA-ene.
En test EFF har gjort, viser at rundt halvparten av alle MTA-er som støtter StartTLS, bruker selvsignerte sertifikater. Hadde det vært slik at disse ikke godtas, ville ikke eposten til og fra disse blitt sendt.
EFF omtaler dette som en høna-og-egget-situasjon. Den enkleste veien ut, er nok at mange flere tar i bruk gyldige sertifikater. Mange har klart det på webserverne, så det burde ikke være umulig å få til på epostserverne også. I alle fall når det samme verktøyet, Certbot, kan brukes.
På forsiden av nettstedet til StartTLS Everywhere er det en enkel test hvor man kan se om StartTLS støttes av et gitt epostdomene, om gamle og utdaterte teknologier (SSL) fortsatt støttes av epostserveren, samt om sertifikatet som benyttes, er gyldig.
Det er fullt mulig å lage gyldige sertifikater med Certbot i dag, som kan brukes sammen med StartTLS. Men for å gjøre det noe enklere, utvikles det nå Certbot-pluginer til flere mye brukte epostserverprogrammer, nærmere bestemt Sendmail, Dovecot og Postfix. Pluginen for den sistnevnte er allerede tilgjengelig i en betautgave.
Nedgraderingsangrep
I tillegg er det alltid en fare for såkalte nedgraderingsangrep, hvor en angriper kan forårsake at to MTA-er fortsetter å kommunisere ukryptert med hverandre, selv om begge støtter StartTLS. Årsaken er at kommunikasjonen mellom serverne er ukryptert fra starten av.
Det er egentlig her StartTLS Everywhere for alvor kommer inn. Initiativet tilbyr en policyliste med epostservere hvor administratoren lover at støtter StartTLS og har gyldig sertifikat. Dette kan bidra til å forhindre de omtalte nedgraderingsangrepene, dersom motparten har støtte for å sjekke listen.
Et skjema for å et epostdomene til policylisten finnes her.
En oppdatert utgave av denne listen må jevnlig lastes ned til epostserveren, minst hvert 48. time. StartTLS Everywhere tilbyr en Python-basert pakke for å hente og gå gjennom listen.
Det oppgis at det tilbys verktøy til Postfix som kan omdanne policylisten til konfigurasjonsparametere som Postfix forstår.
Les også: Slik tar du i bruk avlyttingssikker epost (Digi ekstra)
Ikke helt overbevist
Per Thorsheim, i dag sikkerhetssjef i Nordic Choice Hotels, har i svært mange år vært en forkjemper for innføringen av StartTLS. Det kan derfor oppleves som litt overraskende at han ikke akkurat jubler over det EFFs «nye» initiativ.
For det første, kan Thorsheim fortelle til digi.no, er ikke StartTLS Everywhere så nytt og ukjent som det ny kanskje kan se ut. Prosjektet ble presentert allerede under PasswordsCon-konferansen som Thorsheim arrangerte i Las Vegas i 2014. Dette var omtrent samme år som prosjektet startet.
Ifølge Thorsheim ble prosjektet startet delvis på bakgrunn av det arbeidet han selv hadde gjort, og ikke minst det oppsvinget som StartTLS fikk da Einar Otto Stangvik lagde starttls.info-siden basert på en idé fra Thorsheim.
I en epost til digi.no skriver Thorsheim at problemet som forsøkes løst, er enkelt, men også vanskelig:
– Hvordan sikre at epost blir kryptert ved sending fra mailserver til mailserver, og at det ikke gjennomføres ulike typer man-in-the-middle-angrep underveis som gjør kryptering om til klartekst sending, eller redirigerer epost til feil server som tar imot og dekrypterer? Det vil si, hvordan får vi til autentisert kryptering som vi kan stole på?, skriver Thorsheim.
Ser mange utfordringer
Ifølge ham vil StartTLS Everywhere-prosjektet løse dette ved å etablere en sentral, verifisert liste over mailservere som A) støtter StartTLS kryptering, og som B) inneholder informasjon om type sertifikat du kan forvente på finne på mailserver XYZ.
Ifølge Thorsheim er det mange utfordringer med dette:
- hvordan gjøre listens eksistens kjent for «alle»
- verifisering av innhold og vedlikehold av listen
- «alle» mailservere må laste ned listen jevnlig, cache og bruke den aktivt
- hvordan stole på at listen er riktig hos kilden, og at man får lastet den ned riktig uten MitM?
- mailservere må plutselig bruke HTTPS utgående for å hente listen (nok en ny utgående port for trafikk …)
Bedre alternativer?
Initiativet er bra, men vi diskuterte allerede i 2014 at dette bare var et kortsiktig og midlertidig steg på veien mot mer robuste løsninger.
– Initiativet er bra, men vi diskuterte allerede i 2014 at dette bare var et kortsiktig og midlertidig steg på veien mot mer robuste løsninger. MTA-STS (SMTP MTA Strict Transport Security) er en kommende standard som gjør mye av det samme som StartTLS Everywhere, men uten samme sentrale kilde, skriver Thorsheim.
– Mailservere vil hente informasjon om StartTLS-støtte og sertifikatinformasjon via HTTPS fra en publisert URL hos sender/mottaker, og cache denne på samme måte som nettlesere i dag gjør når en server bruker HSTS (HTTP Strict Transport Security). Serveren forteller nettleseren din at serveren bruker HTTPS, og ber nettleseren om å huske det i en gitt tidsperiode, typisk 6-12 måneder.
– MTA-STS lider dog av «TOFU - Trust On First Use», det vil si at første oppkobling server til server er klartekst og 100 prosent avhengig av at man der ikke blir utsatt for MitM, forteller Thorsheim.
DNSSEC og DANE
Som Thorsheim skriver i Twitter-meldingen, mener han at den beste løsningen er kombinasjonen av DNSSEC (Domain Name System Security Extensions) og DANE (DNS-Based Authentication of Named Entities).
– DNSSEC & DANE har ingen av de ovennevnte svakhetene. DNS er globalt distribuert og redundant, med DNSSEC legges det på digital signatur på all DNS-info, og DANE gjør at man publiserer informasjon om sin mailservers TLS-sertifikat som en TLSA-record i DNS. Når noen med DNSSEC + DANE-støtte skal sende mail til meg, så ser de først i DNS at mitt domene er DNSSEC-signert. Deretter finner de min MX-record i DNS, det vil si hvilken mailserver som tar imot mail for mitt domene, og dette svaret er DNSSEC-signert.
– Sist, men ikke minst finner de en signert TLSA-record som sier hvilket sertifikat som kjører på min mailserver, og i henhold til RFC skal de da kryptere mot det sertifikatet og sende til den mailserveren de har fått oppgitt over signert DNS, forklarer Thorsheim.
– Ikke problemfritt
EFF er selvfølgelig ikke ukjente med noen av disse løsningene, og omtaler begge i omtalen av StartTLS Everywhere.
– Problemet med MTA-STS er at siden de fleste DNS-spørringer fortsatt er ikke-autentiserte, kan en aktiv angriper fortsatt gjøre MitM-angrep mot den innledende DND-spørringen og overbevise senderen om at mottakeren ikke støtter MTA-STS, og deretter gjøre MitM-angrep mot STARTTL-meldingene, slik at senderen aldri får vite at mottakeren støtter StartTLS, skriver EFF.
I praksis er dette det samme som Thorsheim opplyser.
EFF er helt på linje med Thorsheim om at DANE i seg selv er en god løsning.
– Konsistent og full DANE-utrulling utgjør en skalerbar løsning for epostservere for å avklare sertifikatvalideringsregler og å hindre nedgraderingsangrep, skriver EFF.
Så hva er da problemet?
– DANE avhenger av utrulling og validering av DNSSEC, og det sistnevnte har stått stille på rundt 10-15 prosent globalt de siste fem årene. StartTLS Everywheres mål er å gjøre sikker epost uavhengig av DNSSEC-adopsjonen med en mellomtidig mellomliggende løsning, skriver EFF.
Blant de norske domene er omtrent 58 prosent sikret med DNSSEC.
Har ikke blitt så mye bedre: Ingen av Norges ti mest besøkte domenenavn er godt sikret