Sécurité

SSL/TLS-certificaat verlopen: wat nu?

Uw SSL-certificaat is verlopen of verloopt binnenkort. Wat zijn de risico's en hoe lost u het op?

22 mars 20263 min de lectureWarDek Team

Waarom verloopt een SSL-certificaat?

SSL/TLS-certificaten hebben bewust een beperkte levensduur. Sinds 2020 is de maximale geldigheid teruggebracht naar 398 dagen (ca. 13 maanden). Apple, Google en Mozilla dringen zelfs aan op verdere verkorting naar 90 dagen.

De reden: kortere geldigheid dwingt regelmatige vernieuwing af, wat de veiligheid ten goede komt. Compromitteerde certificaten blijven korter in omloop, en nieuwe cryptografische standaarden worden sneller geadopteerd.

Maar voor websitebeheerders betekent het: als u niet oplet, verloopt uw certificaat en zien bezoekers een afschrikwekkende foutmelding.

Wat gebeurt er als uw certificaat verloopt?

Voor bezoekers

Voor uw bedrijf

| Impact | Consequentie | |---|---| | Verkeer | 80-95% van bezoekers verlaat de site direct | | Vertrouwen | Klanten twijfelen aan professionaliteit en veiligheid | | SEO | Google degradeert sites zonder geldig SSL-certificaat | | Compliance | NIS2 en AVG vereisen adequate beveiliging; verlopen SSL is een overtreding | | Omzet | Webshops verliezen directe omzet door wegblijvende klanten | | API's | Integraties met andere systemen falen (certificate validation errors) |

Soorten SSL/TLS-certificaten

| Type | Validatie | Geschikt voor | Kosten | |---|---|---|---| | DV (Domain Validation) | Domeinbeheer bevestigd | Blogs, kleine sites | Gratis (Let's Encrypt) | | OV (Organization Validation) | Organisatie geverifieerd | Bedrijfswebsites | €50-200/jaar | | EV (Extended Validation) | Uitgebreide verificatie | Banken, grote e-commerce | €150-500/jaar | | Wildcard | Geldt voor alle subdomeinen | Meerdere subdomeinen | Variabel | | Multi-domain (SAN) | Meerdere domeinen | Meerdere websites | Variabel |

Let's Encrypt: gratis en geautomatiseerd

Let's Encrypt is de meest gebruikte certificaat-autoriteit en biedt gratis DV-certificaten met automatische vernieuwing.

Installatie met Certbot

# Installeer Certbot
sudo apt install certbot python3-certbot-nginx

# Verkrijg en installeer certificaat
sudo certbot --nginx -d uwdomein.nl -d www.uwdomein.nl

# Verifieer automatische vernieuwing
sudo certbot renew --dry-run

Certbot configureert een automatische vernieuwing via cron of systemd timer. Let's Encrypt certificaten zijn 90 dagen geldig en worden standaard 30 dagen voor verloop vernieuwd.

Veelvoorkomende problemen bij automatische vernieuwing

| Probleem | Oplossing | |---|---| | HTTP-01 challenge faalt | Poort 80 moet open zijn, geen redirect voor .well-known/acme-challenge | | DNS-01 challenge faalt | DNS API-credentials verlopen of gewijzigd | | Rate limiting | Max 50 certificaten per domein per week | | Certbot niet meer actief | Controleer cron/timer: systemctl status certbot.timer |

Handmatig vernieuwen

Als automatische vernieuwing niet werkt:

Stap 1: Controleer huidige status

# Bekijk certificaatdetails
openssl s_client -connect uwdomein.nl:443 -servername uwdomein.nl | openssl x509 -noout -dates

# Of via Certbot
sudo certbot certificates

Stap 2: Vernieuw het certificaat

# Forceer vernieuwing
sudo certbot renew --force-renewal

# Of voor een specifiek domein
sudo certbot certonly --nginx -d uwdomein.nl -d www.uwdomein.nl

Stap 3: Herlaad de webserver

# Nginx
sudo nginx -t && sudo systemctl reload nginx

# Apache
sudo apachectl configtest && sudo systemctl reload apache2

Monitoring: voorkom verloop

Wacht niet tot uw certificaat verloopt. Stel monitoring in:

Gratis monitoring-opties

| Tool | Methode | |---|---| | UptimeRobot | Gratis SSL-monitoring met e-mailalerts | | Cert Spotter (SSLMate) | Certificate Transparency monitoring | | Certbot auto-renew | Ingebouwde automatische vernieuwing | | crontab check | Eigen script dat certificaatstatus controleert |

Eenvoudig monitoringscript

#!/bin/bash
DOMAIN="uwdomein.nl"
DAYS_BEFORE_EXPIRY=30
EXPIRY_DATE=$(echo | openssl s_client -servername $DOMAIN -connect $DOMAIN:443 2>/dev/null | openssl x509 -noout -enddate | cut -d= -f2)
EXPIRY_EPOCH=$(date -d "$EXPIRY_DATE" +%s)
NOW_EPOCH=$(date +%s)
DAYS_LEFT=$(( ($EXPIRY_EPOCH - $NOW_EPOCH) / 86400 ))

if [ $DAYS_LEFT -lt $DAYS_BEFORE_EXPIRY ]; then
  echo "WAARSCHUWING: SSL-certificaat van $DOMAIN verloopt over $DAYS_LEFT dagen"
fi

TLS-configuratie best practices

Naast een geldig certificaat is de TLS-configuratie van belang:

Ondersteunde protocollen

| Protocol | Status | |---|---| | SSL 2.0 | Uitschakelen (onveilig) | | SSL 3.0 | Uitschakelen (POODLE-kwetsbaarheid) | | TLS 1.0 | Uitschakelen (verouderd) | | TLS 1.1 | Uitschakelen (verouderd) | | TLS 1.2 | Inschakelen (minimumvereiste) | | TLS 1.3 | Inschakelen (aanbevolen, snelst en veiligst) |

Nginx voorbeeld

ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers off;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:10m;
ssl_stapling on;
ssl_stapling_verify on;

OCSP Stapling

OCSP Stapling verbetert de privacy en prestatie van certificaatvalidatie. In plaats van dat de browser de CA bevraagt, stuurt uw server het OCSP-response mee.

ssl_stapling on;
ssl_stapling_verify on;
resolver 1.1.1.1 8.8.8.8 valid=300s;
resolver_timeout 5s;

Conclusie

Een verlopen SSL-certificaat is een vermijdbaar probleem met potentieel grote gevolgen. Automatiseer de vernieuwing, stel monitoring in, en controleer uw TLS-configuratie regelmatig.

Scan uw website gratis met WarDek — OWASP, NIS2, AVG, AI Act compliance in één scan.

#SSL#TLS#certificaat#HTTPS

Scannez votre site gratuitement

WarDek détecte les vulnérabilités mentionnées dans cet article en quelques secondes.

Retour à Sécurité