Hvad er SSL/TLS-certifikater?
SSL-certifikater (teknisk set TLS-certifikater i dag) er digitale certifikater der muliggør krypteret kommunikation mellem en webbrowser og en webserver. Når du ser hængelåsen i din browsers adresselinje og "https://" i URL'en, bruger du en SSL-sikret forbindelse.
SSL står for "Secure Sockets Layer" og var den oprindelige protokol udviklet af Netscape i 1990'erne. TLS (Transport Layer Security) er den moderne efterfølger, men af historiske årsager bruger vi stadig betegnelsen "SSL-certifikat" i daglig tale. Moderne forbindelser bruger TLS 1.2 eller TLS 1.3.
Hvorfor er SSL vigtigt?
Uden SSL-certifikater sendes al data mellem bruger og server i klartekst. Det betyder at:
- Passwords kan aflæses af enhver der kan observere trafikken
- Kreditkortoplysninger kan opfanges under betaling
- Personlige data kan stjæles ved login og formularindsendelse
- Sessioner kan kapres via cookie-tyveri
- Indhold kan manipuleres før det når brugeren
Med et SSL-certifikat krypteres al kommunikation, så kun afsender og modtager kan læse indholdet.
SEO og brugertillid
Google har siden 2014 brugt HTTPS som ranking-signal, og siden 2018 markerer Chrome alle HTTP-sider som "Ikke sikker". Dette betyder at SSL-certifikater er afgørende for:
- Søgemaskineplacering: HTTPS-sider rangerer højere end HTTP
- Brugertillid: Besøgende føler sig trygge ved hængelåsen
- Konvertering: Kunder gennemfører flere køb på sikre sider
- Data-integritet: Indhold kan ikke modificeres undervejs
Hvordan fungerer SSL-kryptering?
SSL bruger en kombination af asymmetrisk og symmetrisk kryptering for at etablere sikre forbindelser effektivt.
SSL Handshake processen
- Client Hello: Browseren kontakter serveren og oplyser hvilke krypteringsmetoder den understøtter
- Server Hello: Serveren svarer med sit SSL-certifikat og valgt krypteringsmetode
- Certifikat-verificering: Browseren verificerer at certifikatet er gyldigt og udstedt af en troværdig CA
- Nøgleudveksling: Browser og server etablerer en fælles sessionsnøgle via asymmetrisk kryptering
- Sikker kommunikation: Al efterfølgende kommunikation krypteres med den symmetriske sessionsnøgle
Krypteringslag
Moderne SSL/TLS giver tre sikkerhedslag:
- Kryptering: Data kan ikke læses af tredjeparter
- Autentificering: Du kommunikerer med den rigtige server
- Integritet: Data kan ikke ændres undervejs uden at det opdages
Typer af SSL-certifikater
Der findes tre valideringsniveauer for SSL-certifikater, hver med forskellige krav og tillidsmarkører.
Domain Validation (DV)
DV-certifikater er det simpleste niveau og verificerer kun at du kontrollerer domænet. Processen er automatiseret og tager typisk få minutter.
Kendetegn:
- Hurtig udstedelse (minutter)
- Laveste pris (ofte gratis)
- Kun domænevalidering
- Viser hængelås i browser
- Ingen firmaoplysninger i certifikatet
Bedst til: Personlige websites, blogs, små virksomheder, startups
Let's Encrypt tilbyder gratis DV-certifikater der er lige så kryptografisk sikre som betalte alternativer.
Organisation Validation (OV)
OV-certifikater kræver at certificate authority verificerer at din organisation eksisterer og har ret til at bruge domænet.
Kendetegn:
- Udstedelse tager 1-3 dage
- Verificering af organisationsdata
- Firmanavn vises i certifikatdetaljer
- Højere troværdighed
- Typisk 500-2000 kr/år
Bedst til: Virksomheder, e-handelsites, websites der håndterer brugerdata
Extended Validation (EV)
EV-certifikater kræver den mest omfattende verifikationsproces, inklusiv juridisk og fysisk verifikation af organisationen.
Kendetegn:
- Udstedelse tager 1-2 uger
- Omfattende baggrundstjek
- Tidligere vist som grøn adresselinje (fjernet i moderne browsere)
- Højeste tillid
- Typisk 2000-10.000 kr/år
Bedst til: Banker, finansielle institutioner, store e-handelsplatforme
Bemærk: De visuelle fordele ved EV-certifikater er blevet reduceret i moderne browsere, så DV eller OV er tilstrækkeligt for de fleste formål.
Certifikattyper efter dækning
Ud over valideringsniveau varierer certifikater i hvilke domæner de dækker.
Single-domain certifikater
Dækker kun ét specifikt domæne, f.eks. www.example.dk. Det er den simpleste og billigste løsning.
Wildcard-certifikater
Et wildcard-certifikat dækker et domæne plus alle subdomæner på første niveau:
*.example.dkdækker:www.example.dk✓mail.example.dk✓shop.example.dk✓
- Men IKKE:
sub.www.example.dk✗example.dk(apex) ✗ (kræver separat entry)
Pris: Typisk 2-5x prisen på single-domain
Multi-domain (SAN) certifikater
Subject Alternative Name certifikater kan dække flere helt forskellige domæner i ét certifikat:
example.dkexample.comexample.noanden-virksomhed.dk
Bedst til: Virksomheder med flere brands eller domæner
Let's Encrypt: Gratis SSL for alle
Let's Encrypt er en non-profit certificate authority der tilbyder gratis DV-certifikater. Siden lanceringen i 2015 har de revolutioneret SSL-adoption på nettet.
Fordele ved Let's Encrypt
- Gratis: Ingen omkostninger for certifikater
- Automatiseret: Udstedelse og fornyelse kan automatiseres
- Standardiseret: Bruger ACME-protokollen
- Pålidelig: Betroet af alle større browsere
- Sikker: Samme krypteringsstyrke som betalte certifikater
Let's Encrypt begrænsninger
- Kun Domain Validation (ikke OV/EV)
- 90 dages gyldighed (kræver automation)
- Rate limits på udstedelse
- Ingen support inkluderet
Installation af Let's Encrypt
De fleste hostingudbydere tilbyder one-click Let's Encrypt. For manuel installation anbefales Certbot:
# Debian/Ubuntu med Apache
sudo apt install certbot python3-certbot-apache
sudo certbot --apache
# Med Nginx
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx
Certbot håndterer automatisk:
- Generering af certifikat
- Konfiguration af webserver
- Opsætning af automatisk fornyelse
SSL-konfiguration og best practices
At have et certifikat er ikke nok - korrekt konfiguration er afgørende for sikkerhed.
Tving HTTPS med redirect
Sørg for at al HTTP-trafik redirectes til HTTPS:
Apache (.htaccess):
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Nginx:
server {
listen 80;
server_name example.dk;
return 301 https://$server_name$request_uri;
}
HSTS: HTTP Strict Transport Security
HSTS fortæller browsere at de altid skal bruge HTTPS, selv hvis brugeren skriver "http://":
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
Parametre:
max-age: Hvor længe browseren skal huske (31536000 = 1 år)includeSubDomains: Gælder også for subdomænerpreload: Tillader optagelse i HSTS preload-lister
Advarsel: Aktivér først HSTS når du er sikker på at HTTPS fungerer korrekt, da fejl kan gøre dit site utilgængeligt.
Undgå mixed content
Mixed content opstår når en HTTPS-side loader ressourcer over HTTP:
<!-- Problematisk -->
<img src="http://example.dk/image.jpg">
<script src="http://cdn.example.com/script.js">
<!-- Korrekt -->
<img src="https://example.dk/image.jpg">
<script src="https://cdn.example.com/script.js">
Moderne browsere blokerer mixed content, så tjek konsollen for fejl.
TLS-version og cipher suites
Deaktivér gamle, usikre protokoller:
Nginx eksempel:
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
ssl_prefer_server_ciphers on;
Undgå:
- SSL 2.0 og 3.0 (broken)
- TLS 1.0 og 1.1 (deprecated)
CAA Records: Kontrollér hvem der udsteder certifikater
CAA (Certificate Authority Authorization) DNS-records specificerer hvilke CAs der må udstede certifikater for dit domæne:
example.dk. CAA 0 issue "letsencrypt.org"
example.dk. CAA 0 issuewild "letsencrypt.org"
example.dk. CAA 0 iodef "mailto:security@example.dk"
Tags:
issue: Tillad CA at udstede standard-certifikaterissuewild: Tillad CA at udstede wildcard-certifikateriodef: Email-adresse til policy-overtrædelser
CAA-records er et vigtigt sikkerhedslag der forhindrer uautoriseret certifikatudstedelse.
Certificate Transparency
Certificate Transparency (CT) er et system hvor alle udstedte certifikater logges offentligt. Dette gør det muligt at:
- Opdage uautoriserede certifikater for dit domæne
- Verificere at CAs følger reglerne
- Undersøge certifikathistorik
Du kan søge i CT-logs på:
Test din SSL-konfiguration
Brug disse værktøjer til at verificere din opsætning:
Qualys SSL Labs
SSL Labs Server Test (https://www.ssllabs.com/ssltest/) giver en detaljeret analyse med karaktergivning A+ til F.
Tjekliste for A+ rating:
- TLS 1.2 eller 1.3
- Stærke cipher suites
- HSTS aktiveret
- Ingen kendte sårbarheder
- Korrekt certifikatkæde
DomainiFy Scanner
Brug DomainiFys gratis scanner til at tjekke dit domænes SSL-certifikat sammen med andre sikkerhedsaspekter.
Fejlfinding
Certifikat udløbet
Symptom: Browser viser "Certifikatet er udløbet"
Løsning:
- Forny certifikatet hos din CA
- Installer det nye certifikat
- Genstart webserveren
- Opsæt automatisk fornyelse
Certifikatkæde ufuldstændig
Symptom: Fungerer i nogle browsere men ikke andre
Løsning: Installér intermediate-certifikater sammen med dit domænecertifikat
Hostname mismatch
Symptom: "Certifikatet tilhører et andet domæne"
Løsning: Sikr at certifikatet dækker det domæne du bruger (inklusiv www vs. non-www)
Konklusion
SSL-certifikater er ikke længere valgfrie - de er en grundlæggende del af en sikker web-tilstedeværelse. Med gratis muligheder som Let's Encrypt er der ingen undskyldning for at køre HTTP i dag.
Næste skridt:
- Installér SSL-certifikat hvis du ikke har et
- Test din konfiguration med SSL Labs
- Aktivér HSTS for ekstra sikkerhed
- Opsæt CAA-records
- Automatisér certifikatfornyelse