Gå til innholdet

Cookie-innstillinger

Velg hvilke typer cookies du tillater. Du kan når som helst endre valget via Cookie-innstillinger nederst på hver side. Personvernerklæring

Nødvendige

Alltid på

Trengs for å logge inn, beholde handlekurven og huske valgene dine. Disse er alltid på.

Hvilke cookies?
  • weboke_sessie, weboke_klant, weboke_remember: økten din og at du forblir innlogget
  • weboke_basket: handlekurven din
  • wkBtwIncl: visning av priser med eller uten mva.
  • wok_cookies: cookievalget ditt, 12 måneder

Måler hvilken annonse som fører til et besøk eller en bestilling, slik at vi ikke betaler for annonser som ikke gir noe.

Hvilke cookies?
  • Google Ads via Google Tag Manager (_gcl_au, _gcl_aw), opptil 90 dager
  • OpenAI Ads, annonser i ChatGPT
  • wok_aff: hvilken partner som henviste deg til oss (partnerprogram), 60 dager

4,6

Land og språk

Hvert land har sin egen nettside, med priser og mva. for det landet.

Vis

Nettstedet ditt: https, HSTS og sikkerhetsheadere

Modul 4: E-post, nettside og domene · Lesetid: 11 minutter

Læringsmål: Etter denne leksjonen kan du kontrollere grunnsikkerheten til nettstedet ditt: et gyldig sertifikat, omdirigering til https, HSTS med en god max-age, de viktigste sikkerhetsheaderne og oppdatering av CMS-et ditt.
Nøkkelbegreper: TLS-sertifikat, https, omdirigering til https, HSTS, max-age, includeSubDomains, preload, HTTP-header, Content-Security-Policy, X-Content-Type-Options, frame-ancestors, X-Frame-Options, Referrer-Policy

Hva som skjer når noen åpner nettstedet ditt

Hvis en kunde skriver example.com i adressefeltet, spør nettleseren webserveren din om siden. Den samtalen går via HTTP. Med https ligger det en kryptert forbindelse rundt: TLS. Til det trenger nettstedet ditt et TLS-sertifikat (ofte fortsatt kalt SSL-sertifikat). Sertifikatet beviser at serveren virkelig hører til example.com, og krypteringen sørger for at ingen underveis kan lese med eller endre noe. Det er viktig på offentlig wifi, der du ikke vet hvem som styrer nettverket (leksjon 5.3).

Ved hvert svar sender serveren, i tillegg til selve siden, med en rekke headere: korte linjer med informasjon og instruksjoner til nettleseren. Du ser dem ikke på skjermen, men de bestemmer i stor grad hvor trygt nettleseren behandler nettstedet ditt. En del av disse headerne er sikkerhetsheadere. I denne leksjonen går vi gjennom de fire lagene: sertifikat, omdirigering, HSTS og headere. Deretter ser vi kort på oppdatering av selve nettstedet ditt.

Lag 1: et gyldig sertifikat

Et sertifikat er i orden hvis det oppfyller tre vilkår:

  1. det er ikke utløpt;
  2. det er utstedt av en pålitelig utsteder (en sertifikatmyndighet som nettleserne kjenner, som Let's Encrypt eller en kommersiell aktør);
  3. det gjelder for nøyaktig det navnet besøkende åpner: example.com og www.example.com hvis du bruker begge.

De fleste webhotell-leverandører ordner i dag et gratis sertifikat som fornyes automatisk. Går det galt, skyldes det som regel at domenenavnet peker til en annen server, eller at en CAA-post blokkerer utstederen (leksjon 4.3).

Viktig å vite: en hengelås sier ingenting om påliteligheten til nettstedet. Den sier bare at forbindelsen er kryptert og at sertifikatet hører til navnet i adressefeltet. Phishing-nettsteder på mijnbank-veilig.example har like godt en hengelås. Derfor lærer du i leksjon 3.2 å lese domenet.

Lag 2: alltid omdiriger til https

Et sertifikat alene er ikke nok. Den som åpner http://example.com, for eksempel via en gammel lenke eller ved bare å skrive navnet, skal automatisk komme til https-versjonen. Det kalles omdirigering (en redirect, som regel med statuskode 301).

En ryddig rekkefølge er:

http://example.com      ->  https://example.com
https://example.com     ->  https://www.example.com   (kun hvis du bruker www som hovedadresse)
http://www.example.com  ->  https://www.example.com

Legg merke til den første linjen: send fra http først til https på samme navn, først deretter eventuelt til www. Slik kan nettleseren også motta HSTS-instruksjonen fra det nakne navnet. Internet.nl kontrollerer nettopp dette.

En vanlig feil er dobbel omdirigering: både i webhotell-panelet og i et plugin eller i .htaccess. Det kan gi en endeløs løkke ("for mange omdirigeringer"). Bruk ett sted.

Lag 3: HSTS

Omdirigering har et svakt øyeblikk: aller første forespørsel går fortsatt ukryptert via http. En angriper på samme nettverk kan fange opp akkurat den forespørselen og holde den besøkende på en falsk, ukryptert versjon. Det er det HSTS (HTTP Strict Transport Security, RFC 6797) er til for.

Med HSTS sender nettstedet ditt med en header via https:

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

Nettleseren husker da: "åpne dette nettstedet kun via https, de neste 31 536 000 sekundene (ett år)". Skriver den besøkende senere http://example.com, gjør nettleseren selv om til https, før noe i det hele tatt sendes over nettverket. Den svake første forespørselen faller bort.

DelBetydning
max-age=Hvor lenge nettleseren husker det, i sekunder. Internet.nl regner minst ett år (max-age=31536000) som tilstrekkelig; en kort periode beskytter ikke folk som bare besøker nettstedet ditt av og til.
includeSubDomainsGjelder også for alle underdomener, som shop.example.com og mail.example.com.
preloadDu ber om opptak i listen som er innebygd i nettlesere (hstspreload.org). Da er selv aller første besøk beskyttet. Krav: blant annet max-age på minst ett år, includeSubDomains og alle underdomener på https. Å komme ut av listen igjen tar lang tid.
max-age=0Sletter den lagrede instruksjonen igjen.

Tre ting du bør vite før du skrur på HSTS:

  • Først må https fungere overalt. En nettleser som har husket HSTS og ser en sertifikatfeil, gir den besøkende ingen knapp for å fortsette likevel (RFC 6797, avsnitt 12.1). Utløper sertifikatet ditt eller stemmer det ikke for www, er nettstedet ditt utilgjengelig for disse besøkende til problemet er løst.
  • includeSubDomains påvirker alt under domenet ditt. Et gammelt underdomene uten sertifikat, for eksempel en printer- eller kameraside på camera.example.com, kan deretter ikke lenger åpnes.
  • Bygg det opp gradvis. Begynn med en kort max-age (for eksempel en dag), kontroller at alt fungerer, og øk trinnvis til ett år. Vent ved hvert trinn ut hele perioden.

En HSTS-header som kommer inn via vanlig http, ignorerer nettleseren. Du ser den altså bare i https-svaret.

Lag 4: sikkerhetsheadere

I tillegg til HSTS finnes det noen headere som forteller nettleseren hva den kan og ikke kan gjøre med sidene dine. Du trenger ikke ha alle perfekte, men de tre første er enkle og uten risiko.

HeaderMot hvaGod verdi
X-Content-Type-OptionsNettleseren gjetter selv hva en fil er, slik at et opplastet "bilde" kan bli kjørt som skript.nosniff (den eneste gyldige verdien)
Content-Security-Policy: frame-ancestors ... eller X-Frame-OptionsClickjacking: et annet nettsted laster siden din usynlig i en ramme og lar besøkende klikke på knappene dine uten å merke det.frame-ancestors 'self' eller 'none'; den eldre headeren X-Frame-Options: SAMEORIGIN eller DENY
Referrer-PolicyVed et klikk til et annet nettsted sender nettleseren med adressen til forrige side. Der kan det stå sensitiv informasjon, som et søkeord eller et ordrenummer.no-referrer eller same-origin (strengt), strict-origin-when-cross-origin (vanlig, internet.nl gir en advarsel her)
Content-Security-Policy (fullstendig)Begrenser hvor skript, stiler og bilder kan lastes fra. Gjør innsatte ondsinnede skript (XSS) mye vanskeligere.Skreddersydd per nettsted. Unngå unsafe-inline, unsafe-eval og jokertegn.

En fullstendig Content-Security-Policy er den sterkeste, men også den vanskeligste: en for streng regel ødelegger statistikken din, betalingsknappen din eller chattevinduet ditt. Med varianten Content-Security-Policy-Report-Only kan du først måle hva som ville blitt blokkert, uten å ødelegge noe. Overlat dette til nettstedbyggeren din, eller begynn bare med frame-ancestors.

Se headerne selv

Åpne nettstedet ditt i en nettleser, trykk F12 (eller velg "Inspiser"), gå til fanen Nettverk, last siden på nytt og klikk på den første forespørselen. Under "Svarheadere" (Response Headers) ser du alt serveren sender med. Med kommandolinjen går det også:

curl -sI https://example.com/

Selve nettstedet: CMS, plugins og temaer

De beste headerne hjelper ikke hvis programvaren bak nettstedet ditt er sårbar. De fleste hackede nettsteder til små bedrifter er ikke kommet inn via webserveren, men via et utdatert plugin, et tema som ikke har blitt oppdatert på årevis, eller et svakt administratorpassord.

  • Skru på automatiske oppdateringer for CMS-et ditt (for eksempel WordPress, Joomla eller et annet system) og for plugins der det er mulig.
  • Fjern plugins og temaer du ikke bruker; deaktivert er ikke nok, filene ligger der fortsatt.
  • Bruk et sterkt, unikt passord og tofaktorautentisering (2FA) for administratorinnloggingen (modul 2), og begrens antall innloggingsforsøk.
  • Hold PHP-versjonen (eller annet språk) i pakken din på en versjon som fortsatt får oppdateringer (leksjon 5.1).

I praksis: slik ser det ut

I DirectAdmin, panelet WebOké bruker, skrur du for domenet ditt først på Secure SSL og deretter Force SSL with https redirect. På samme sted finner du en bryter for HSTS; skru den på først når sertifikatet fungerer for alle navn. Hos andre leverandører fungerer det på lignende måte, eller du ordner det i innstillingene til CMS-et ditt.

Kjører nettstedet ditt på Apache eller LiteSpeed, kan du også legge headerne 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>

Legg til includeSubDomains først når du er sikker på at hvert underdomene har https. Kontroller etter hver endring med nettstedtesten til internet.nl eller med utviklerverktøyene i nettleseren din.

Oppsummering

  • En hengelås betyr: kryptert og riktig navn. Den betyr ikke: pålitelig.
  • Omdiriger alltid http til https, først på samme navn, og på ett sted.
  • HSTS lar nettleseren huske at nettstedet ditt kun går via https; internet.nl regner en max-age på minst ett år (31536000) som bra. Skru det på først når https fungerer overalt, og bygg det opp gradvis.
  • X-Content-Type-Options: nosniff, frame-ancestors (eller X-Frame-Options) og Referrer-Policy er enkle; en fullstendig Content-Security-Policy er skreddersøm.
  • Oppdateringer av CMS-et, pluginene og temaene dine er minst like viktig som headere.

Quiz

1. Hva forhindrer HSTS egentlig?



2. Du skrur på Strict-Transport-Security: max-age=31536000; includeSubDomains. En uke senere utløper sertifikatet til shop.example.com. Hva merker faste besøkende?



3. Hvilken max-age regner internet.nl minimum som tilstrekkelig for HSTS?



4. Mot hva beskytter Content-Security-Policy: frame-ancestors 'self'?



5. Du ser en hengelås på mijnbank-veilig.example i adressefeltet. Hva vet du da med sikkerhet?



Oppgave

Oppgave A4.2: Kontroller beskyttelsen av domenet ditt (https, HSTS og headere). Fyll inn domenenavnet til nettstedet ditt (har du ikke et, bruk internet.nl). Programmet åpner http:// og https:// for domenet ditt og kontrollerer sertifikatet, omdirigeringen til https, HSTS og sikkerhetsheaderne. Du får per punkt grønt, oransje eller rødt med forklaring.

Oppgave A4.2: Kontroller https, HSTS og headere på nettstedet ditt

Fyll inn domenenavnet til nettstedet ditt (har du ikke noe, bruk internet.nl). Programmet åpner http:// og https:// for domenet ditt og kontrollerer sertifikatet, viderekobling til https, HSTS og sikkerhetsheadere. Fyll deretter inn max-age for HSTS.



Det du fyller inn, og det vi finner, lagrer vi ikke. Nettleseren din husker svarene dine og om du har bestått oppgaven. Er du logget inn, lagrer vi kun at du har (nesten) bestått oppgaven i Mine kurs; der kan du også slette det.

Oppgave D4.2: Oppdatere og rydde opp på nettstedet ditt. Logg inn på administrasjonen av nettstedet ditt, kontroller versjonen av CMS-et, pluginene og temaene dine, fjern det du ikke bruker og skru på automatiske oppdateringer der det er mulig. Kryss av sjekklisten og svar på refleksjonsspørsmålet.

Oppgave D4.2: Oppdatere og rydde opp på nettstedet ditt

Slik gjør du det: (1) Logg inn i administrasjonen av nettstedet ditt (eller be nettstedbyggeren din om å gjøre dette sammen med deg). (2) Noter versjonen av CMS-et ditt og sjekk om det finnes oppdateringer klare. (3) Lag en sikkerhetskopi (leksjon 6.1), installer oppdateringer for CMS, programtillegg og tema. (4) Fjern programtillegg og tema du ikke bruker. (5) Slå på automatiske oppdateringer der det er mulig. (6) Sjekk hvilke administratorkontoer som finnes og fjern kontoer til folk som ikke jobber der lenger. (7) Slå på tofaktorautentisering for hver administratorkonto.




Avkrysningene og notatene dine blir kun i denne nettleseren; vi sender dem ikke noe sted. Er du logget inn, lagrer vi kun i Mine kurs at du har gjort oppgaven.

Les mer

Trinnene i WebOké-artiklene gjelder for miljøet til WebOké; hos andre leverandører fungerer det på lignende måte.

Et øyeblikk …

Sett opp domenene dine

Ordne for hvert domene navnetjenerne, koblingen til hostingen din og hvem som blir innehaver.

Laster inn domenene dine…