Aktivere HTTPS på nettsiden (og gi NSA litt merarbeid)? Kom i gang!

I lys av overvåkingen fra vår alles storebror NSA, er det kanskje lett å tenke at kryptert kommunikasjon ikke lenger er særlig vits – man blir avlyttet likevel. Men det er også mange andre som lytter til webtrafikk, bl.a. over kjente men usikrede trådløse nettverk, eller ved å sette opp åpne nett på steder hvor folk sannsynligvis kobler seg til, f.eks. på flyplasser og konferansehoteller. Ved hjelp av lett tilgjengelig programvare som Firesheep blir avlytting en smal sak. Derfor er kryptering av datatrafikken noe som er nettside-eierens ansvar, spesielt dersom personlige data eller brukernavn/passord kan komme til å fly gjennom lufta.

Og egentlig burde nå alle webside-eiere delta i en dugnad for å gjøre overvåkingen mest mulig kostbar for NSA, og innføre kryptering av selve datatrafikken via HTTPS (TLS) på sine nettsider – uansett innhold. Ikke koster det nødvendigvis mye heller – unntatt for NSA, som må dekryptere stadig mer – bortsett fra om web-applikasjonen din er råtten fra før (men da er det jo på tide å investere i sikkerhet). HTTPS utgjør ikke merkbar forskjell i forhold til datakraft/nettsidens responstid, og i seg selv heller ikke betydelig kostbart i penger for et grunnleggende SSL-sertifikat (“grønn” adresselinje for banker/nettbutikker etc. har relativt sett høyere pris, men gir gjerne økt tillit fra kunder i retur). Firmaet StartSSL tilbyr eksempelvis greie sertifikater helt gratis gjennom en forholdsvis grei registrerings- og konfigurasjonsprosess, selv om kundeportalen deres ikke akkurat er tidenes mest brukervennlige.

Likevel er dette mulig å gjennomføre med små skritt og god hjelp, om du har tilgang til å konfigurere webserveren din selv. Hvordan dette gjøres i praksis, er beskrevet i detalj av både Troy Hunt (inkludert installasjonsguide for Azure) og Eric Mill (med tilsvarende guide for ngnix). Bruker du cPanel via en ISP, tilbyr de gjerne automatisert installasjon av et sertifikat du kjøper gjennom dem, og da er det ganske rett fram.

Les også denne artikkelen hos ArsTechnica om hvorfor HTTPS egentlig bare er underbart, men dessverre ikke alltid helt trivielt under enkelte forutsetninger (for vår egen del finnes en av årsakene der – enn så lenge). Les også dette innlegget til Troy Hunt for noen flere tekniske aspekter ved å implementere HTTPS på kodenivå i web-applikasjonen, slik at det kan fungere helt etter hensikten. Du må i tillegg få på plass et par regler som kan sørge for at webserveren videresender forespørsler automatisk over til HTTPS (de færreste brukere velger dette som standard selv), se noen eksempler her for Apache-servere.

Til slutt kan du teste nettsiden din ved hjelp av verktøyet til Qualys SSL Labs, og sjekke at du får karakteren ‘A’ (det er bra, men gjelder kun for sertifikatet – den tester ikke selve web-applikasjonen). Hvis ikke, får du nok noen greie indikasjoner på hva som kan forbedres (dette handler mye om riktig konfigurasjon). Og helt til slutt må du ikke glemme at HTTPS gir null beskyttelse mot vederstyggeligheter som SQL-injeksjoner og cross-site-scripting (XSS) – men det er noe ganske annet. Lykke til!

PS! Vi kan naturlig nok ikke ta ansvar for innhold eller tjenester på eksterne sider.