Wat is SSL/TLS?
SSL (Secure Sockets Layer) en TLS (Transport Layer Security) zijn cryptografische protocollen die communicatie via netwerken beveiligen. TLS is de moderne opvolger van SSL, maar "SSL" blijft vaak gebruikt om te verwijzen naar beide. Deze protocollen stellen HTTPS in staat om gegevens tussen browsers en servers te versleutelen.
SSL vs TLS: Een korte geschiedenis
| Versie | Jaar | Status |
|---|---|---|
| SSL 1.0 | 1994 | Nooit uitgebracht |
| SSL 2.0 | 1995 | Verouderd (onveilig) |
| SSL 3.0 | 1996 | Verouderd (POODLE kwetsbaarheid) |
| TLS 1.0 | 1999 | Verouderd |
| TLS 1.1 | 2006 | Verouderd |
| TLS 1.2 | 2008 | Huidige norm |
| TLS 1.3 | 2018 | Laatste, aanbevolen |
Moderne systemen moeten uitsluitend TLS 1.2 of TLS 1.3 gebruiken.
Hoe werkt TLS
De TLS-handdruk
1. Client Hello: Browser stuurt ondersteunde TLS-versies en cipher suites
2. Server Hallo: Server selecteert TLS versie en cipher suite
3. Certificate: Server stuurt zijn SSL certificaat
4. Key Exchange: Secure key exchange (variates by cipher suite)
5. Gefinished: Gecodeerde sessie ingesteld
Client Server
|-- Client Hello -------------->|
|<-- Server Hello --------------|
|<-- Certificate ---------------|
|<-- Key Exchange --------------|
|-- Key Exchange -------------->|
|-- Finished ------------------>|
|<-- Finished ------------------|
|<======= Encrypted Session ===>|
TLS 1.3 reduceert dit tot een enkele ronde-trip, wat de prestaties verbetert.
SSL/TLS-certificaten
Wat zit er in een certificaat?
- Onderwerp: Domeinnaam(s) het certificaat dekt
- Issuer: Certificate Authority (CA) die het heeft afgegeven
- Validiteitsperiode: Begin- en vervaldatum
- Openbare sleutel: Voor het instellen van gecodeerde verbindingen
- Handtekening: cryptografische handtekening van CA
Certificaattypen
Domein gevalideerd (DV): Bewijst alleen domeineigendom- Afgegeven in minuten
- Gratis (laten we versleutelen) of lage kosten
- Toont hangslot, geen organisatie info
- Vereist bedrijfskeuring
- Toont de organisatienaam in certificaatdetails
- Hoger vertrouwen, matige kosten
- Rigoureuze identiteitscontrole
- Eerder getoond groene bar (browsers verwijderd dit)
- Hoogste prijs, hoogste vertrouwen
Certificaatdekking
Single Domain: Dekt één domein (example.com) Wildcard: omvat alle subdomeinen (*.example.com) Multi-Domain (SAN): Omvat meerdere specifieke domeinenUitvoering van SSL/TLS
Gratis certificaten met Let's Encrypt
# Using Certbot
sudo certbot --nginx -d example.com -d www.example.com
# Auto-renewal
sudo certbot renew --dry-run
Cloud Provider Certificaten
De meeste cloudplatforms bieden gratis, automatisch vernieuwde certificaten:
- Cloudflare: Automatisch voor proximed domeinen
- AWS: Certificate Manager (ACM)
- Google Cloud: Beheerde SSL certificaten
Certificaatcontrole
Browsers verifiëren certificaten door:
1. Het controleren van de certificaatketen naar een vertrouwde root CA
2. De verificatie van het certificaat is niet verlopen
3. Bevestiging van de domeinwedstrijden
4. Controle van de intrekkingsstatus (CRL/OCSP)
SSL/TLS Beste praktijken
Serverconfiguratie
Gebruik TLS 1.2+: SSL 3.0, TLS 1.0, TLS 1.1 uitschakelenssl_protocols TLSv1.2 TLSv1.3;
* Strong Cipher Suites: Liever moderne, veilige cijfers
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
HTS: Force HTTPS (zie woordenlijst HST)
Certificaatbeheer
SSL/TLS controleren
DomScan gebruiken:curl "https://domscan.net/v1/health?domain=example.com"
# Returns SSL validity, issuer, expiration
OpenSSL gebruiken:
openssl s_client -connect example.com:443 -servername example.com
Online Tools: SSL Labs (ssllabs.com/ssltest) biedt uitgebreide analyse.
Gemeenschappelijke SSL-problemen
Mixed Content: HTTPS-pagina die HTTP-bronnen laadt (geblokkeerd door browsers) Certificate Mismatch: Certificaat komt niet overeen met het domein Expired Certificate: Certificaat geldigheidsperiode beëindigd Onvolledige keten**: ontbrekende tussencertificatenSSL/TLS is niet langer optioneel.Alle websites moeten HTTPS gebruiken voor beveiliging en SEO voordelen.