Als iemand een formulier verstuurt op een HTTP-website (niet HTTPS), reizen de gegevens als leesbare tekst over het internet. Iedereen op het netwerk tussen hem en je server kan zien wat hij typte, inclusief wachtwoorden, creditcardnummers en e-mailadressen. Dit is niet theoretisch. Tools om pakketten af te luisteren zijn gratis verkrijgbaar en aanvallers onderscheppen actief onversleutelde formulierinzendingen.
SSL/TLS-versleuteling is de technologie die formuliergegevens beschermt terwijl ze van de browser van de bezoeker naar je server reizen. Het is de meest fundamentele vorm van formulierbeveiliging en niet onderhandelbaar.
Wat je leert: hoe HTTPS-versleuteling werkt, het verschil tussen SSL en TLS, wat een SSL-certificaat is en waarom je er een nodig hebt, hoe je controleert of je formulier goed is versleuteld en wat je doet als HTTPS niet werkt.
Wat is HTTPS en hoe versleutelt het gegevens?
HTTPS is de beveiligde versie van HTTP (Hypertext Transfer Protocol). De "S" staat voor Secure. HTTPS gebruikt SSL/TLS (Secure Sockets Layer / Transport Layer Security) om alle gegevens tussen de bezoeker en je server te versleutelen.
Dit gebeurt als een bezoeker een formulier verstuurt via HTTPS:
- De bezoeker vult het formulier in en verstuurt het. Zijn browser verzamelt de gegevens.
- De browser zet een versleutelde verbinding op. Hij neemt contact op met je server en controleert het SSL-certificaat (hierover hieronder meer).
- Beide kanten spreken versleutelingsinstellingen af. Ze onderhandelen over de sterkste versleuteling die ze allebei ondersteunen.
- Alle gegevens worden versleuteld voordat ze worden verstuurd. De formuliergegevens worden door elkaar gehusseld met de afgesproken versleuteling.
- Je server ontvangt de versleutelde gegevens. Hij gebruikt zijn privésleutel om de gegevens te ontsleutelen, zodat ze leesbaar zijn.
Voor iedereen die het netwerk afluistert, lijken de gegevens op willekeurige tekens. Ze kunnen ze niet lezen zonder de versleutelingssleutel, die alleen je server heeft.
Het verschil tussen SSL en TLS
SSL (Secure Sockets Layer) en TLS (Transport Layer Security) zijn verwante technologieën die hetzelfde werk doen. SSL was de oorspronkelijke standaard, voor het eerst uitgebracht in 1995. TLS is de moderne, verbeterde versie die SSL verving.
- SSL 3.0: de laatste versie van SSL, uitgebracht in 1996. Verouderd en niet meer veilig.
- TLS 1.0: eerste versie van TLS, uitgebracht in 1999. Werkt nog, maar is ouder.
- TLS 1.2: uitgebracht in 2008. Nog breed gebruikt en als veilig beschouwd.
- TLS 1.3: uitgebracht in 2018. De huidige standaard, sneller en veiliger.
Moderne browsers en servers gebruiken TLS 1.2 of TLS 1.3. Als mensen "SSL-certificaat" zeggen, bedoelen ze meestal een certificaat voor TLS-versleuteling. De termen worden vaak door elkaar gebruikt, maar TLS is de technologie die vandaag echt wordt gebruikt.
Wat is een SSL-certificaat?
Een SSL-certificaat is een digitaal bestand dat je webserver gebruikt om zijn identiteit te bewijzen en een versleutelde verbinding op te zetten. Het bevat:
- Je domeinnaam: voor welk domein het certificaat geldig is (www.example.com)
- Gegevens van je organisatie: bedrijfsnaam, adres, enzovoort
- Een publieke sleutel: wordt door de browsers van bezoekers gebruikt om gegevens te versleutelen
- Een digitale handtekening: bewijs dat een vertrouwde instantie dit certificaat heeft gecontroleerd
- Vervaldatum: wanneer het certificaat verloopt en moet worden vernieuwd
Het certificaat is als een digitaal identiteitsbewijs dat aantoont dat je server betrouwbaar is.
Hoe SSL-certificaten worden gecontroleerd
Als een bezoeker je HTTPS-website opent, controleert zijn browser je SSL-certificaat om te zien of het betrouwbaar is:
- Je server stuurt zijn certificaat. De browser ontvangt het.
- De browser controleert de digitale handtekening. Is dit certificaat ondertekend door een vertrouwde certificeringsinstantie?
- De browser controleert het domein. Past het certificaat bij het domein dat de bezoeker opent?
- De browser controleert de vervaldatum. Is het certificaat nog geldig?
Mislukt een van deze controles, dan toont de browser een waarschuwing. Slaagt alles, dan toont de browser een hangslotje (of een veiligheidsaanduiding) dat de bezoeker vertelt dat de verbinding is versleuteld en de site betrouwbaar is.
Soorten SSL-certificaten
Domeingevalideerde (DV) certificaten
Het basiscertificaat. De certificeringsinstantie controleert dat jij het domein bezit, maar controleert je organisatie niet. De goedkoopste optie. Goed voor de meeste formulieren.
Organisatiegevalideerde (OV) certificaten
De instantie controleert zowel het domein als de gegevens van je organisatie. Duurder dan DV en geeft meer vertrouwen. De browser toont de naam van je organisatie in de certificaatdetails.
Extended Validation (EV) certificaten
De instantie voert uitgebreide controles uit, inclusief juridische checks. Het duurst. Toont de naam van de organisatie direct in de adresbalk van de browser. Wordt vooral gebruikt door financiële instellingen en sites met hoge beveiligingseisen.
Wildcardcertificaten
Geldig voor een domein en al zijn subdomeinen (een wildcard voor *.example.com dekt bijvoorbeeld mail.example.com, blog.example.com, enzovoort). Handig als je veel subdomeinen met formulieren hebt.
Certificaten voor meerdere domeinen (SAN)
Geldig voor meerdere verschillende domeinen in één certificaat. Handig als je meerdere websites met formulieren beheert.
Een SSL-certificaat aanschaffen
Certificeringsinstanties
Je koopt certificaten bij certificeringsinstanties (CA's) zoals:
- Comodo (nu Sectigo)
- Webhosters die certificaten doorverkopen
- DigiCert
- Let's Encrypt (gratis, veel gebruikt)
De prijzen lopen uiteen van gratis (Let's Encrypt) tot honderden dollars per jaar (EV-certificaten).
Via je webhost
De meeste moderne webhosts (waaronder WEMASY) leveren SSL-certificaten automatisch mee. Je hoeft ze niet apart te kopen of te beheren. Zij regelen de verlenging automatisch.
Installatie en verlenging
SSL-certificaten verlopen en moeten worden vernieuwd. De meeste hosts doen dit automatisch. Controleer af en toe de vervaldatum van je certificaat om te zien of het nog geldig is. Verloopt het, dan toont je site een beveiligingswaarschuwing en vertrouwen bezoekers hem misschien niet.
Controleren of je formulier goed is versleuteld
Controleer de URL
Je formulierpagina moet HTTPS gebruiken, geen HTTP. Kijk in de adresbalk.
GOED: https://www.example.com/contact
FOUT: http://www.example.com/contact
Zoek de veiligheidsaanduiding
In moderne browsers toont een veilige HTTPS-verbinding een hangslotje of het label "Beveiligd" in de adresbalk. Klik erop om de certificaatdetails te zien.
Controleer de geldigheid van het certificaat
Klik op het hangslotje en bekijk het certificaat. Let op:
- Is het geldig voor je domein?
- Is het verlopen?
- Wie heeft het uitgegeven (de certificeringsinstantie)?
Gebruik een online SSL-checker
Met tools zoals SSLLabs.com voer je je domein in en krijg je een gedetailleerd rapport over je SSL-configuratie. Dat controleert of je de nieuwste versleutelingsstandaarden gebruikt en laat zwakke plekken zien.
Veelvoorkomende HTTPS- en SSL-problemen
Waarschuwing voor gemengde inhoud
Je formulierpagina is HTTPS, maar sommige onderdelen (afbeeldingen, scripts, stylesheets) worden via HTTP geladen. Browsers waarschuwen bezoekers dat de pagina niet volledig veilig is. Los dit op door alle onderdelen via HTTPS te laden.
Certificaat komt niet overeen
Het certificaat is voor www.example.com maar de bezoeker zit op example.com (zonder www), of andersom. Browsers tonen een beveiligingswaarschuwing. Los dit op met een wildcardcertificaat of door de ene versie naar de andere door te sturen.
Verlopen certificaat
Je certificaat is verlopen en moet worden vernieuwd. Browsers tonen een opvallende beveiligingswaarschuwing. Bezoekers vertrouwen je formulier misschien niet. Vernieuw het certificaat direct.
Zelfondertekend certificaat
Je server gebruikt een certificaat dat je zelf hebt gemaakt in plaats van een certificaat van een vertrouwde instantie. Browsers vertrouwen het niet en tonen een waarschuwing. Gebruik nooit zelfondertekende certificaten op openbare formulieren. Koop of gebruik een certificaat van een erkende instantie.
HTTPS is niet alleen voor formulieren
Elke pagina van je website moet HTTPS gebruiken, niet alleen je formulierpagina's. Zo bescherm je alle bezoekersgegevens en laat je Google zien dat je site veilig is. Stuur al het HTTP-verkeer door naar HTTPS, zodat bezoekers altijd beschermd zijn.
Wat WEMASY doet voor SSL/TLS-versleuteling
Elke WEMASY-website en elk formulier dat met WEMASY is gebouwd, gebruikt standaard HTTPS. Je formulieren draaien automatisch op beveiligde verbindingen. WEMASY beheert SSL-certificaten voor je, inclusief automatische verlenging. Je hoeft nooit certificaten te kopen, te installeren of te beheren. Versleuteling is ingebouwd en altijd actief.
Lees meer over je beveiligingsopzet in je accountinstellingen of op de prijspagina.