Vad är egentligen SSL, TLS och HTTPS? Behöver man ha det på sin hemsida och hur ändrar man i sådant fall från HTTP till HTTPS? Många frågor, men ingen fara. Här visar vi exakt hur du går till väga!
Desto mer populärt något är. Desto mer utsätts det för sabotage och annat tvivelaktigt beteende. Så är även fallet för Internet. Olika former av nätkapningar, hacker-attacker och spionage efter personliga uppgifter är idag (tyvärr) vardagsmat på nätet.
Ett populärt sätt för en hackare att få fatt i någons inloggningsuppgifter är att koppla upp sig mellan användarens dator och sajten där personen loggar in. När den ont anande användaren skrivit in sitt lösenord och trycker på Logga in snappas inloggningsuppgifterna upp på vägen till sajten i fråga – och vips är de på vift i cybervärlden.
Vad är då SSL/TLS och HTTPS?
SSL (Secure Sockets Layer) och TLS (Transport Layer Security) är båda tekniker för att kryptera och osynliggöra den faktiska datatrafik som skickas från en användares dator till den sajt använder befinner sig på. Något som gör intrång som ovanstående mycket svårare att genomföra. Tekniken kallas numera egentligen för TLS, men det tidigare namnet SSL har fortsatt hänga med och är det som ännu används mest. Vi kommer använda SSL som benämning i denna guide.
För att SSL-tekniken ska fungera krävs det att webbsidan användaren besöker har ett så kallat SSL-certifikat installerat. Ett SSL-certifikat fungerar ungefär som ett pass och berättar huruvida en webbsida är den sajt den faktiskt utger sig vara. SSL-certifikat kan köpas hos de flesta webbhotell. Beroende på vilken typ av sajt det handlar om och hur säker kopplingen behöver vara finns det även många bra gratis SSL-certifikat.
Tekniken bakom SSL/TLS kan brytas ned i fyra huvudsteg (översatt från Robert Heaton – How does https actually work):
1. Hej – Det hela börjar med att användarens dator skickar ett hej till den webbsida användaren vill besöka. Webbsidan, eller närmare bestämt servern webbsidan befinner sig på, svarar hej samt delar med sig information om att den har ett SSL-certifikat. Servern föreslår även vilken typ av krypteringsmetod som ska användas för att skicka information mellan användarens dator och servern.
2. Går det att lita på dig? – Användarens webbläsare ber nu att få titta på serverns SSL-certifikat. Certifikatet innehåller uppgifter om sajtens namn, säkerhetsnycklar, en digital signatur samt uppgifter om hur länge certifikatet är giltigt. Användarens webbläsare behöver därefter avgöra om det går att lita på certifikatet. Detta avgörs av lite olika faktorer och tillvägagångssättet är relativt avancerat. I korthet handlar det om att användarens webbläsare jämför de digitala signaturerna i serverns SSL-certifikat dels med en lista över certifikat som alltid går att lita på. SSL-certifikatet dubbelkollas också i en kedja uppåt där det företag som licensierat certifikatet behöver vara godkänt av en högre instans i kedjan.
3. Då gör vi så här för att prata med varandra – När webbläsaren är helt säker på att webbsidan och servern är exakt dem de utger sig att vara utbyter de båda parterna en slumpmässigt skapad krypteringsnyckel. Denna nyckel gör det möjligt att använda den krypteringsmetod som bestämdes redan under det första steget.
4. Här får du informationen – Slutligen börjar servern och webbläsarens dator skicka information till varandra. All data som skickas mellan de båda parterna krypteras med hjälp av den nyligen bestämda krypteringsnyckeln. Så även om någon skulle se att data skickas mellan användarens dator och webbsidan är det omöjligt att se vad det faktiskt är för data.
Det gamla http-protokollet (Hypertext Transfer Protocol) för att skicka data över Internet klarar inte av den extra säkerhet SSL-erbjuder. Därför behöver istället den nya varianten https (Hypertext Transfer Protocol Secure) användas för hemsidor som vill utnyttja SSL. Detta innebär att du vid övergången till SSL kommer behöva uppdatera alla dina interna länkar från http://minhemsida.se till https://minhemsida.se. Men mer om detta senare! Faktum är att det är lättare än vad det låter – framför allt i WordPress!
Finns det nackdelar med SSL och HTTPS?
Bortsett från arbetet med att installera själva SSL-certifikatet och göra om din sajt till https finns det idag inga egentliga nackdelar med att använda en säker uppkoppling såsom SSL tillåter. Teoretiskt _kan_ övergången till SSL innebära en liten prestandaförlust sett till hur snabbt webbsidor laddas in. Detta då fler frågor och mer data utbyts mellan servern och användarens dator än vid en vanlig http-förfrågan.
Enligt oss är dock denna prestandaförlust extremt liten och i många fall inte ens existerande. För enkelteknik.se märktes ingen som helst prestandaförlust när vi gick över till SSL.
I övrigt vill vi mena att SSL och https endast erbjuder fördelar. Google har direkt sagt att deras sökrobotar värderar säkra sajter (med SSL/TLS-certifikat) högre i rankningar än vanliga http-hemsidor. Fler och fler webbläsare börjar även meddela att en sajt möjligen inte är helt säker om den saknar ett SSL-certifikat. Medan https-hemsidor istället får t.ex. ett grönt hänglås bredvid sin adress för att indikera att kopplingen är säker.
Innan du börjar
Innan du ger dig i kast med att göra om din sajt till https och installera ett SSL-certifikat vill vi påpeka att det, trots dessa instruktioner, inte är något som görs på 15 minuter. Ta dig därför tid att läsa igenom de olika stegen ordentligt och kolla noga upp exakt hur du ska genomföra de olika delmomenten. Förberedelse är extremt viktigt.
Något som också är väldigt viktigt är att göra en ordentlig backup av din sajt innan du börjar. För WordPress rekommenderar vi att använda det utmärkta verktyget Duplicator för att göra en exakt kopia av hela din webbsida. Denna guide kan givetvis användas också för sajter som inte kör WordPress. Var dock beredd på att du kan behöva ta till andra lösningar för vissa delar då fokus som sagt ligger på WordPress.
Slutligen tar vi inget ansvar för eventuella fel som kan uppstå när du följer denna guide. Allt är givetvis ordentligt testat och genomgånget för att i största möjliga mån undvika felaktigheter och tillvägagångssättet är detsamma vi använde för att aktivera SSL för enkelteknik.se. De verktyg, tillägg (plugins) och filer som används i guiden är dock kraftfulla och kan vid felaktigt användande orsaka att stora fel på en webbplats. Allt sker därför på egen risk.
Navigering
Steg 1: Introduktion
Steg 2: Installera och verifiera SSL-certifikatet
Steg 3: Ändra alla länkar från http till https (och felsök!)
Steg 4: Uppdatera till https i Google Search Console och Analytics
# Redirect visitors to https
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://www.minhemsida.se/$1 [L,R=301]
Efter att ha lagt in detta och bytt till korrekt namn får jag felmeddelande och sidan går inte att visa. Det står ERR_TOO_MANY_REDIRECTS. Kan det bero på för många inlänkar som jag inte bytt ut ännu? Tog bort koden för att få tillbaka sidan. Sidan visas inte som säker. Några idéer?
Hej! Det ska inte ha något med inlänkar att göra. ERR_TOO_MANY_REDIRECTS betyder i princip att sidan skickar besökare vidare till en del som sen skickar besökaren tillbaka till den första. Det blir en oändlig ”loop”. Lite osäker vad det kan bero på. Lät du snedstrecket med efterföljande dollartecken och en etta stå kvar efter adressen? (https://www.minhemsida.se/$1). Det ska oavsett stå kvar :-)
Det kan även vara så att du behöver radera cache-datan i webbläsaren du använder för att alla nya inställningar ska laddas in. Du kan testa detta lite snabbt genom att öppna ett privat fönster och se om det blir samma fel. Annars kan jag även rekommendera denna länk där det finns möjlighet att analysera exakt vad som sker när man försöker gå till en webbsida och hur man blir omdirigerad. Funktionen visar även vad som faktiskt är fel, om något visar sig vara fel. Återkom gärna när du testat detta så får vi forska vidare om det inte löst sig!
// Christoffer, enkelteknik.se
Tack för en bra artikel, jag satt just och undrade varför min https-version inte fanns i Search Console.
Tack själv för en trevlig kommentar :-) Kul att texten kom till hjälp!