Hoppa till innehållet

Cookieinställningar

Välj vilka typer av cookies du tillåter. Du kan alltid ändra ditt val via Cookieinställningar längst ned på varje sida. Integritetspolicy

Nödvändiga

Alltid på

Behövs för att logga in, spara din varukorg och komma ihåg dina val. De är alltid på.

Vilka cookies?
  • weboke_sessie, weboke_klant, weboke_remember: din session och att du förblir inloggad
  • weboke_basket: din varukorg
  • wkBtwIncl: visa priser med eller utan moms
  • wok_cookies: ditt cookieval, 12 månader

Mäter vilken annons som leder till ett besök eller en beställning, så att vi inte betalar för annonser som inte ger något.

Vilka cookies?
  • Google Ads via Google Tag Manager (_gcl_au, _gcl_aw), upp till 90 dagar
  • OpenAI Ads, annonser i ChatGPT
  • wok_aff: via vilken partner du kom till oss (affiliateprogram), 60 dagar

4,6

Land och språk

Varje land har en egen webbplats med landets priser och moms.

Visa

Din webbplats: https, HSTS och säkerhetsheaders

Modul 4: E-post, webbplats och domän · Lästid: 11 minuter

Lärandemål: Efter den här lektionen kan du kontrollera grundskyddet för din webbplats: ett giltigt certifikat, omdirigering till https, HSTS med ett bra max-age, de viktigaste säkerhetsheaders och uppdatering av ditt CMS.
Nyckelbegrepp: TLS-certifikat, https, omdirigering till https, HSTS, max-age, includeSubDomains, preload, HTTP-header, Content-Security-Policy, X-Content-Type-Options, frame-ancestors, X-Frame-Options, Referrer-Policy

Vad som händer när någon öppnar din webbplats

Skriver en kund example.com i adressfältet, frågar webbläsaren efter sidan hos din webbserver. Den konversationen går via HTTP. Vid https ligger det en krypterad anslutning runt: TLS. Därför behöver din webbplats ett TLS-certifikat (ofta fortfarande kallat SSL-certifikat). Certifikatet bevisar att servern verkligen hör till example.com, och krypteringen gör att ingen på vägen kan läsa med eller ändra något. Det är viktigt på öppna wifi-nätverk, där du inte vet vem som sköter nätverket (lektion 5.3).

Vid varje svar skickar servern, förutom själva sidan, med ett antal headers: korta rader med information och instruktioner till webbläsaren. Du ser dem inte på skärmen, men de avgör till stor del hur säkert webbläsaren hanterar din webbplats. En del av dessa headers är säkerhetsheaders. I den här lektionen går vi igenom de fyra lagren: certifikat, omdirigering, HSTS och headers. Därefter tittar vi kort på uppdatering av själva webbplatsen.

Lager 1: ett giltigt certifikat

Ett certifikat är i ordning om det uppfyller tre villkor:

  1. det är inte utgånget;
  2. det är utfärdat av en betrodd utfärdare (en certifikatutfärdare som webbläsarna känner till, som Let's Encrypt eller en kommersiell leverantör);
  3. det gäller för precis det namn besökaren öppnar: example.com och www.example.com om du använder båda.

Nästan alla webbhotell ordnar numera ett gratis certifikat som förnyas automatiskt. Går det fel beror det oftast på att domännamnet pekar mot en annan server, eller att en CAA-post blockerar utfärdaren (lektion 4.3).

Viktigt att veta: ett hänglås säger ingenting om tillförlitligheten hos webbplatsen. Det säger bara att anslutningen är krypterad och att certifikatet hör till namnet i adressfältet. Nätfiskesidor på mijnbank-veilig.example har precis lika gärna ett hänglås. Därför lär du dig i lektion 3.2 att läsa domänen.

Lager 2: alltid omdirigera till https

Ett certifikat räcker inte ensamt. Den som öppnar http://example.com, till exempel via en gammal länk eller genom att bara skriva namnet, ska automatiskt komma till https-versionen. Det kallas omdirigering (en redirect, oftast med statuskod 301).

En bra ordning är:

http://example.com      ->  https://example.com
https://example.com     ->  https://www.example.com   (endast om du använder www som huvudadress)
http://www.example.com  ->  https://www.example.com

Lägg märke till den första raden: skicka från http först till https på samma namn, först därefter eventuellt till www. På så sätt kan webbläsaren även ta emot HSTS-instruktionen för det nakna namnet. Internet.nl kontrollerar precis detta.

Ett vanligt fel är dubbel omdirigering: både i hanteringspanelen och i ett tillägg eller i .htaccess. Det kan skapa en oändlig loop ("för många omdirigeringar"). Använd en enda plats.

Lager 3: HSTS

Omdirigering har ett svagt ögonblick: den allra första förfrågan går fortfarande okrypterad via http. En angripare på samma nätverk kan fånga upp just den förfrågan och hålla kvar besökaren på en förfalskad, okrypterad version. Det är vad HSTS (HTTP Strict Transport Security, RFC 6797) är till för.

Med HSTS skickar din webbplats med en header via https:

Strict-Transport-Security: max-age=31536000; includeSubDomains

Webbläsaren kommer då ihåg: "öppna den här webbplatsen endast via https, de kommande 31 536 000 sekunderna (ett år)". Skriver besökaren senare http://example.com, gör webbläsaren själv om det till https, redan innan något skickas över nätverket. Den svaga första förfrågan försvinner.

DelBetydelse
max-age=Hur länge webbläsaren kommer ihåg det, i sekunder. Internet.nl räknar minst ett år (max-age=31536000) som tillräckligt; en kort period skyddar inte personer som bara besöker din webbplats ibland.
includeSubDomainsGäller även för alla underdomäner, som shop.example.com och mail.example.com.
preloadDu ansöker om att bli upptagen i listan som är inbyggd i webbläsare (hstspreload.org). Då skyddas till och med det allra första besöket. Krav: bland annat max-age på minst ett år, includeSubDomains och alla underdomäner på https. Att komma av listan igen tar lång tid.
max-age=0Raderar den ihågkomna instruktionen igen.

Tre saker du bör veta innan du aktiverar HSTS:

  • Först måste https fungera överallt. En webbläsare som har sparat HSTS och ser ett certifikatfel ger besökaren ingen knapp att fortsätta ändå (RFC 6797, paragraf 12.1). Går ditt certifikat ut eller stämmer det inte för www, blir din webbplats otillgänglig för de besökarna tills det är löst.
  • includeSubDomains påverkar allt under din domän. Ett gammalt underdomän utan certifikat, till exempel en skrivar- eller kamerasida på camera.example.com, går därefter inte längre att öppna.
  • Bygg upp det stegvis. Börja med ett kort max-age (till exempel en dag), kontrollera att allt fungerar, och höj stegvis till ett år. Vänta vid varje steg ut hela perioden.

En HSTS-header som kommer in via vanlig http ignoreras av webbläsaren. Du ser den alltså bara i https-svaret.

Lager 4: säkerhetsheaders

Förutom HSTS finns det några headers som talar om för webbläsaren vad den får och inte får göra med dina sidor. Du behöver inte ha dem alla perfekta, men de första tre är enkla och riskfria.

HeaderMot vadBra värde
X-Content-Type-OptionsWebbläsaren gissar själv vad en fil är, vilket gör att en uppladdad "bild" kan köras som ett skript.nosniff (det enda giltiga värdet)
Content-Security-Policy: frame-ancestors ... eller X-Frame-OptionsClickjacking: en annan webbplats laddar din sida osynligt i en ram och låter besökare omärkt klicka på dina knappar.frame-ancestors 'self' eller 'none'; den äldre headern X-Frame-Options: SAMEORIGIN eller DENY
Referrer-PolicyVid ett klick till en annan webbplats skickar webbläsaren med adressen till föregående sida. Där kan känslig information finnas, som en sökterm eller ett ordernummer.no-referrer eller same-origin (strikt), strict-origin-when-cross-origin (vanligt, internet.nl ger här en varning)
Content-Security-Policy (fullständig)Begränsar varifrån skript, stilar och bilder får laddas. Gör inbäddade skadliga skript (XSS) mycket svårare.Skräddarsytt per webbplats. Undvik unsafe-inline, unsafe-eval och jokertecken.

En fullständig Content-Security-Policy är det kraftfullaste, men också det svåraste: en för strikt regel kan slå sönder din statistik, din betalknapp eller ditt chattfönster. Med varianten Content-Security-Policy-Report-Only kan du först mäta vad som skulle blockeras, utan att förstöra något. Lämna detta till din webbutvecklare, eller börja bara med frame-ancestors.

Granska headers själv

Öppna din webbplats i en webbläsare, tryck på F12 (eller välj "Inspektera"), gå till fliken Nätverk, läs in sidan igen och klicka på den första förfrågan. Under "Svarsheaders" (Response Headers) ser du allt som servern skickar med. Med kommandoraden går det också:

curl -sI https://example.com/

Själva webbplatsen: CMS, tillägg och teman

De bästa headers hjälper inte om programvaran bakom din webbplats är sårbar. De flesta hackade webbplatser hos små företag har inte blivit angripna via webbservern, utan via ett föråldrat tillägg, ett tema som inte uppdaterats på flera år, eller ett svagt administratörslösenord.

  • Aktivera automatiska uppdateringar för ditt CMS (till exempel WordPress, Joomla eller ett annat system) och för tillägg där det går.
  • Ta bort tillägg och teman du inte använder; avaktiverat räcker inte, filerna finns kvar.
  • Använd för administratörsinloggningen ett starkt, unikt lösenord och tvåfaktorsautentisering (2FA) (modul 2), och begränsa antalet inloggningsförsök.
  • Håll PHP-versionen (eller annat språk) i ditt paket på en version som fortfarande får uppdateringar (lektion 5.1).

I praktiken: så här ser det ut

I DirectAdmin, panelen som WebOké använder, aktiverar du på din domän först Säker SSL och därefter Tvinga SSL med https-omdirigering. På samma ställe finns en brytare för HSTS; aktivera den först när certifikatet fungerar för alla namn. Hos andra leverantörer fungerar det på liknande sätt, eller så ordnar du det i inställningarna för ditt CMS.

Kör din webbplats på Apache eller LiteSpeed, kan du även lägga headers i .htaccess:

<IfModule mod_headers.c>
  Header always set Strict-Transport-Security "max-age=31536000"
  Header always set X-Content-Type-Options "nosniff"
  Header always set Content-Security-Policy "frame-ancestors 'self'"
  Header always set Referrer-Policy "strict-origin-when-cross-origin"
</IfModule>

Lägg till includeSubDomains först när du är säker på att varje underdomän har https. Kontrollera efter varje ändring med webbplatstestet på internet.nl eller med webbläsarens utvecklarverktyg.

Sammanfattning

  • Ett hänglås betyder: krypterat och rätt namn. Det betyder inte: tillförlitligt.
  • Skicka alltid vidare http till https, först på samma namn, och på en enda plats.
  • HSTS gör att webbläsaren kommer ihåg att din webbplats bara använder https; internet.nl räknar ett max-age på minst ett år (31536000) som bra. Aktivera det först när https fungerar överallt, och bygg upp det stegvis.
  • X-Content-Type-Options: nosniff, frame-ancestors (eller X-Frame-Options) och Referrer-Policy är enkla; en fullständig Content-Security-Policy är skräddarsydd.
  • Uppdateringar av ditt CMS, tillägg och teman är minst lika viktiga som headers.

Quiz

1. Vad förhindrar HSTS egentligen?



2. Du aktiverar Strict-Transport-Security: max-age=31536000; includeSubDomains. En vecka senare går certifikatet för shop.example.com ut. Vad märker stamgäster?



3. Vilket max-age räknar internet.nl som minst tillräckligt för HSTS?



4. Mot vad skyddar Content-Security-Policy: frame-ancestors 'self'?



5. Du ser ett hänglås på mijnbank-veilig.example i adressfältet. Vad vet du säkert med anledning av det?



Uppgift

Uppgift A4.2: Kontrollera https, HSTS och headers för din webbplats. Fyll i domännamnet för din webbplats (har du ingen, använd då internet.nl). Programmet öppnar http:// och https:// för din domän och kontrollerar certifikatet, omdirigeringen till https, HSTS och säkerhetsheaders. Du får per punkt grönt, orange eller rött med förklaring.

Uppgift A4.2: Kontrollera https, HSTS och headers för din webbplats

Fyll i domännamnet för din webbplats (har du ingen, använd internet.nl). Programmet öppnar http:// och https:// för din domän och kontrollerar certifikatet, omdirigeringen till https, HSTS och säkerhetsheaders. Fyll därefter i max-age för HSTS.



Det du fyller i och det vi hittar sparar vi inte. Din webbläsare kommer ihåg dina svar och om du klarade uppgiften. Är du inloggad sparar vi bara att du klarade uppgiften (nästan) i Mina kurser; där kan du också ta bort det.

Uppgift D4.2: Uppdatera och städa upp din webbplats. Logga in på administrationen för din webbplats, kontrollera versionen av ditt CMS, tillägg och teman, ta bort det du inte använder och aktivera automatiska uppdateringar där det går. Bocka av checklistan och svara på reflektionsfrågan.

Uppgift D4.2: Uppdatera och städa upp din webbplats

Så gör du: (1) Logga in i administrationen för din webbplats (eller be din webbyrå göra det här tillsammans med dig). (2) Anteckna versionen av ditt CMS och kolla om det finns uppdateringar att installera. (3) Gör en säkerhetskopia (lektion 6.1), installera uppdateringarna för CMS, plugin och teman. (4) Ta bort plugin och teman du inte använder. (5) Aktivera automatiska uppdateringar där det går. (6) Kontrollera vilka administratörskonton som finns och ta bort konton för personer som inte längre arbetar hos dig. (7) Aktivera tvåfaktorsautentisering (2FA) för varje administratörskonto.




Dina bockar och anteckningar sparas bara i den här webbläsaren; vi skickar dem ingenstans. Är du inloggad sparar vi i Mina kurser bara att du har gjort uppgiften.

Läs mer

Stegen i WebOkés artiklar gäller för WebOkés miljö; hos andra leverantörer fungerar det på liknande sätt.

Ett ögonblick…

Ställ in dina domäner

Ställ in namnservrar, koppling till ditt webbhotell och vem som blir innehavare för varje domän.

Hämtar dina domäner…