Wat controleert deze test?
De KernelHost SSL Checker haalt het servercertificaat via een TLS-handshake op vanaf onze Frankfurt-node en toont u de belangrijkste velden, zonder oproepen naar derden. Het volgende wordt gecontroleerd en getoond:
- Uitgegeven voor en door: Common Name (Subject CN), de volledige Subject DN en de Issuer (welke CA het certificaat heeft ondertekend).
- Geldigheidsperiode: Begin- en einddatum in UTC plus de resterende dagen. Kleurgecodeerd: groen (>30 dagen), oranje (7 tot 30 dagen), rood (minder dan 7 dagen of al verlopen).
- Subject Alternative Names (SANs): Volledige lijst van hostnames die het certificaat dekt, inclusief wildcard-items.
- Hostname-match: Verifieert of het ingevoerde domein daadwerkelijk gedekt is door de Common Name of een SAN-wildcard (RFC 6125).
- Sleutel en handtekening: Algoritme van de publieke sleutel (RSA, ECDSA), sleutelgrootte in bits of curvenaam en het handtekeningalgoritme.
- Fingerprints en serienummer: SHA-256 en SHA-1 fingerprint van het DER-gecodeerde certificaat plus het hexadecimale serienummer.
- Volledige keten: Alle certificaten die de server tijdens de handshake heeft geleverd, met subject, issuer en rol (leaf, intermediate, root).
Veelvoorkomende SSL-fouten en wat ze betekenen
Browsers tonen vaak cryptische fouten zoals NET::ERR_CERT_DATE_INVALID of SSL_ERROR_BAD_CERT_DOMAIN. Hier de meest voorkomende oorzaken en hoe u ze oplost:
- Certificaat verlopen: De notAfter-datum ligt in het verleden. Browsers blokkeren de pagina volledig. Oplossing: verleng het certificaat. Met Let's Encrypt gebeurt dit automatisch elke 60 dagen via certbot of acme.sh.
- Hostname-mismatch: De hostname staat niet in de Common Name en niet in een SAN. Oplossing: voeg bij heruitgifte alle benodigde domeinen en subdomeinen toe als SAN.
- Self-signed of onbekende CA: Issuer is geen vertrouwde root-CA. Browsers tonen NET::ERR_CERT_AUTHORITY_INVALID. Oplossing: haal een certificaat bij een erkende CA zoals Let's Encrypt, ZeroSSL, Sectigo of DigiCert.
- Onvolledige keten: Server stuurt alleen het leaf-certificaat zonder intermediates. Mobiele browsers en oudere apparaten falen. Oplossing: configureer de volledige keten (fullchain.pem) in uw webserver.
- Zwakke sleutel of zwakke handtekening: RSA onder 2048 bit of SHA-1-handtekeningen worden niet meer geaccepteerd. Oplossing: heruitgifte met RSA 2048+ of ECDSA P-256.
- Mixed content en HSTS-valkuil: Als u eerder een geldige HSTS-header verzond en het certificaat dan verloopt, kunnen bezoekers niet door de waarschuwing klikken. Onmiddellijke actie: verleng het certificaat, in noodgevallen verlaag de HSTS max-age.
Let's Encrypt vs. commerciële certificaten
Let's Encrypt is een gratis, geautomatiseerde CA beheerd door ISRG. De certificaten zijn technisch identiek aan commerciële DV-certificaten en worden door alle moderne browsers vertrouwd.
Wanneer is een betaald certificaat zinvol? Eigenlijk alleen in speciale gevallen:
- Extended Validation (EV): Vroeger met groene adresbalk, vandaag nauwelijks zichtbaar. Alleen de moeite waard voor banken of handelsplatformen wanneer wettelijk vereist.
- Wildcard zonder DNS-challenge: Let's Encrypt ondersteunt wildcards alleen via DNS-01-challenge. Zonder API-toegang tot DNS zijn ZeroSSL Premium of Sectigo alternatieven.
- Garantie en verzekering: Commerciële CA's bieden verzekeringsbedragen bij onjuiste uitgifte. In de praktijk zelden relevant, maar sommige compliance-frameworks eisen het.
KernelHost Webhosting en cPanel bevatten standaard gratis Let's Encrypt-integratie. Certificaten worden elke 60 dagen via AutoSSL verlengd zonder dat u iets hoeft te doen. Wildcard-certificaten via DNS-challenge zijn ook mogelijk zodra het domein op KernelHost DNS draait.
TLS 1.2 vs. TLS 1.3
TLS 1.2 is de standaard sinds 2008, TLS 1.3 werd in 2018 als RFC 8446 gepubliceerd en is sinds 2020 breed uitgerold. Oudere versies (SSL 3.0, TLS 1.0, TLS 1.1) zijn onveilig en moeten in uw serverconfiguratie worden uitgeschakeld.
Wat TLS 1.3 beter doet:
- Snellere handshake: 1-RTT in plaats van 2-RTT, plus optionele 0-RTT bij hervatting. Merkbaar sneller op TLS-zware pagina's.
- Schonere cipherset: Slechts 5 toegestane AEAD-cipher suites. Geen RSA-sleuteluitwisseling meer, altijd forward secrecy.
- Versleutelde handshake: Het servercertificaat zelf wordt versleuteld verzonden. Met ESNI/ECH is zelfs de SNI privé.
- Achterwaarts compatibel: Servers kunnen TLS 1.2 en 1.3 parallel aanbieden. Browsers onderhandelen automatisch de hoogste gemeenschappelijke versie.
Wat betekent een verlopen certificaat?
Een verlopen SSL-certificaat betekent concreet: browsers tonen een schermvullende waarschuwing en blokkeren de site. Bezoekers kunnen er in de meeste gevallen niet doorklikken, vooral niet bij een actieve HSTS-header.
Gevolgen voor de eigenaar:
- Rankingverlies bij Google (HTTPS is een rankingfactor en vertrouwensgerelateerde signalen worden meegewogen).
- Mailservers (MX/SMTP met STARTTLS) weigeren inkomende verbindingen, mail bounct of wordt vertraagd afgeleverd.
- API-clients en mobiele apps met certificate pinning falen en hebben mogelijk een app-update nodig.
HSTS, CAA en OCSP stapling
Een geldig certificaat is pas het begin. Drie extra mechanismen tillen de TLS-beveiliging naar best-practice-niveau:
- HSTS (HTTP Strict Transport Security): Header die browsers dwingt voortaan alleen HTTPS te gebruiken. Aanbevolen: max-age=63072000; includeSubDomains; preload (twee jaar, alle subdomeinen, preload-lijst). Wees voorzichtig bij activering, een verkeerde configuratie is niet omkeerbaar zolang max-age loopt.
- CAA (Certification Authority Authorization): DNS-record dat bepaalt welke CA's certificaten mogen uitgeven voor uw domein. Voorbeeld: 'kernelhost.com. CAA 0 issue "letsencrypt.org"' voorkomt onjuiste uitgifte door andere CA's.
- OCSP stapling: Webserver levert zelf het revocation-statusantwoord van de CA, in plaats van dat elke browser de CA apart vraagt. Sneller voor bezoekers en lichter voor de CA-infrastructuur. Apache: SSLUseStapling On, nginx: ssl_stapling on.
Privacy
De KernelHost SSL Checker draait volledig op onze Frankfurt-node zonder oproepen naar derden:
- Geen doorsturen van uw invoer naar externe API's (geen SSL Labs, Hardenize of Cryptomon).
- Geen opslag van het gecontroleerde domein buiten de standaard request logging (webserver-log, 14 dagen retentie).
- Anti-SSRF-filter blokkeert verzoeken naar privé-IP-bereiken, loopback en link-local adressen.
- Per-IP rate limit tegen misbruik. Optionele hCaptcha bij verzending.