Wat is SSL en hoe beveilig je je website?

Auteur: Gepubliceerd

Kort gezegd: SSL is de gangbare benaming voor de technologie die de verbinding tussen de browser en de server van een website beveiligt. Moderne websites gebruiken de opvolger, TLS, al wordt nog vaak gesproken over een ‘SSL-certificaat’. Zo’n verbinding beschermt de verzonden gegevens tegen meelezen en wijzigingen onderweg, maar garandeert niet dat de eigenaar van de website betrouwbaar is.

SSL, TLS en HTTPS — wat is het verschil?

SSL, voluit Secure Sockets Layer, is een ouder protocol voor het beveiligen van netwerkcommunicatie. De opvolger is TLS — Transport Layer Security. De oude versies van SSL zijn verouderd en mogen niet meer worden gebruikt. De naam wordt echter nog steeds gebruikt in het aanbod van hosting en certificaten.

HTTPS is HTTP, het protocol voor communicatie met een website, beveiligd met TLS. Een adres dat begint met https:// betekent dus dat de browser probeert met die beveiliging verbinding te maken met de website. De browser controleert of de verbinding in orde is en kan bij problemen een waarschuwing tonen.

Een certificaat is een digitaal document dat een domeinnaam koppelt aan een publieke sleutel die wordt gebruikt om de identiteit van de server te controleren. Bij een normaal websitebezoek controleert de browser onder meer of het certificaat bij het adres hoort, geldig is en via een vertrouwde keten van certificaatuitgevers is uitgegeven. Het certificaat zelf versleutelt niet al het verkeer: het is een onderdeel van het mechanisme waarmee een veilige verbinding wordt opgezet.

Wat beschermt een versleutelde verbinding wel en niet?

TLS waarborgt de vertrouwelijkheid en integriteit van verzonden gegevens. Dat laatste betekent bescherming tegen onopgemerkte wijzigingen tijdens de overdracht. Het helpt ook te bevestigen dat de browser communiceert met een server die bevoegd is om het opgegeven domein te bedienen.

Als een klant bijvoorbeeld een wachtwoord of bezorgadres invoert in een webwinkel die HTTPS correct gebruikt, zou iemand die het netwerkverkeer afluistert die informatie niet moeten kunnen lezen. Zonder versleuteling zou de inhoud van het formulier kunnen worden onderschept. HTTPS beschermt ook de inhoud van de verzonden pagina tegen vervanging onderweg.

Een versleutelde verbinding betekent echter niet dat de website zelf veilig of betrouwbaar is. Ook een oplichter kan een certificaat voor zijn domein krijgen. Controleer daarom vóór een betaling het exacte adres van de webwinkel en de gegevens van de verkoper, niet alleen de verbindingsindicator in de browser.

TLS beschermt gegevens ook niet nadat ze op de server zijn opgeslagen, verwijdert geen virussen en verhelpt geen fouten in applicaties. Het biedt geen volledige anonimiteit: iemand die het netwerkverkeer observeert, kan nog steeds bepaalde verbindingsgegevens zien, zoals het IP-adres van de server. Software-updates, toegangsbeheer en back-ups blijven afzonderlijke taken.

Welk certificaat kies je voor je website?

Voor een doorsneeblog, bedrijfswebsite of webwinkel volstaat meestal een DV-certificaat, waarbij de controle over het domein wordt geverifieerd. De uitgever controleert of de aanvrager die controle kan aantonen, bijvoorbeeld via een geschikte vermelding in DNS — het systeem dat verkeer voor een domein naar de juiste diensten leidt.

Bij OV- en EV-certificaten wordt ook de organisatie gecontroleerd. Voor EV is volgens de regels van de uitgever een uitgebreidere controle nodig. Dat betekent niet automatisch dat de versleuteling sterker is dan bij DV. De keuze voor zo’n certificaat kan voortkomen uit organisatorische of contractuele eisen, en niet uit de behoefte om de gegevensoverdracht zelf beter te beveiligen.

Controleer bij je keuze vooral welke namen onder het certificaat vallen:

Een gratis certificaat van een vertrouwde uitgever kan bij een vergelijkbare configuratie hetzelfde versleutelingsniveau bieden als een betaald certificaat. Je betaalt mogelijk voor aanvullende verificatie, ondersteuning of dienstverlening. Controleer de actuele beschikbaarheid, voorwaarden en verlengingsprocedure in de documentatie van je hostingprovider of certificaatuitgever.

Hoe stel je HTTPS in op je website?

Bij gedeelde hosting kun je een certificaat vaak via het beheerpaneel inschakelen. Op een eigen server moet je de webserver en het verlengingsmechanisme configureren. Gebruik je een CDN, een netwerk dat helpt bij het leveren van content, beveilig dan ook de verbinding tussen het CDN en de oorspronkelijke server.

Een praktische volgorde voor de invoering is:

  1. Breng alle gebruikte domeinnamen in kaart, inclusief de variant met www en de benodigde subdomeinen.
  2. Laat een certificaat uitgeven en installeer het volgens de instructies van je provider.
  3. Controleer of de website via HTTPS werkt, vooral het inloggen, de formulieren en de betalingen.
  4. Zet het websiteadres in het contentmanagementsysteem en de verwijzingen naar afbeeldingen, scripts en stylesheets om naar HTTPS.
  5. Stel een permanente omleiding in van HTTP naar HTTPS.
  6. Schakel automatische verlenging en meldingen bij problemen in.

Bestanden die nog via HTTP worden geladen, veroorzaken zogeheten gemengde inhoud. De browser kan die blokkeren of proberen ze via HTTPS op te halen, waardoor delen van de website niet meer werken. Met alleen het installeren van een certificaat is de invoering dus nog niet klaar.

Hoe controleer je het certificaat en handel je bij fouten?

Via de website-informatie bij de adresbalk kun je de verbindingsstatus en de certificaatgegevens bekijken. Hoe dat menu eruitziet, verschilt per browser: niet elke browser toont het traditionele slotje. Controleer de domeinnaam en de geldigheidsduur van het certificaat.

Een waarschuwing kan betekenen dat het certificaat is verlopen, niet bij het adres past of dat de server verkeerd is geconfigureerd. Ook een onjuiste datum op je apparaat kan de oorzaak zijn. Negeer als bezoeker de waarschuwing niet om toch een wachtwoord of betaalgegevens in te voeren. Verhelp als beheerder de oorzaak in plaats van gebruikers te vragen de fout te accepteren.

Beheer je een website, controleer dan eerst in het hostingpaneel of het certificaat alle gebruikte adressen omvat en automatisch wordt verlengd. Verstuur vervolgens bij wijze van test een formulier via HTTPS. Zo controleer je eenvoudig of de beveiliging ook werkt waar de gebruiker gegevens doorgeeft.

Zie ook: Wat is CDN?

Lees ook

Lees hoe PHP-FPM PHP-verzoeken verwerkt, verschilt van een webserver en hoe je processen afstemt op verkeer en hostingcapaciteit.
Ontdek hoe BIND als open DNS-serversoftware domeinen beheert, welke rollen het vervult en wanneer zelf beheren zinvol is.
Lees wat het Poolse REGON-register en -nummer betekenen, hoe ze verschillen van NIP en KRS en hoe je bedrijfsgegevens controleert.