Tips en Tricks
Voor optimaal gebruik van een SSL certificaat, is er meer nodig dan de aanschaf van een certificaat en de installatie ervan. Het komt vaak voor dat de installatie niet goed is uitgevoerd en dat de serverinstellingen niet optimaal zijn. Hierdoor blijft een website, en hiermee de uitgewisselde gegevens, kwetsbaar. Hieronder een aantal tips dat het gebruik van SSL een stuk veiliger maakt.
De private key
De private key is alleen bekend bij de eigenaar van het certificaat. In verkeerde handen kan hier misbruik van gemaakt worden - het ontsleutelen en afluisteren van dataverkeer. Zorg er dus voor dat de private key op een veilige plek wordt bewaard, maak een -wachtwoordbeveiligde- back-up en vernieuw de private key (en hiermee het certificaat) regelmatig.
Controleer de installatie van het certificaat
Met de SSLCheck controleer je gemakkelijk:
- Of het certificaat, en het bovenliggende root- en intermediate certificaat, correct geinstalleerd zijn. De rootcertifcaten zorgen ervoor dat het certificaat vertrouwd wordt door browsers en applicaties.
- De eigenschappen van het certificaat. De huidige norm is minimaal 2048 bit RSA, of als bezoekers geen verouderde browsers gebruiken, ECC. Het algoritme voor ondertekening moet SHA-2 zijn. Voldoet een certificaat niet aan deze vereisten? Via een gratis heruitgifte is dit aan te passen.
Protocollen
Zorg dat de server alleen de meest recente versies van het TLS Protocol ondersteunt. De protocollen waar SSL Certificaten hun naam aan ontlenen, SSL versies 1, 2 en 3, zijn inmiddels onveilig, net zoals TLS versies 1.0 en 1.1. Zet deze protocollen daarom uit in je server configuratie zodat alleen de nieuwere protocollen TLS 1.2 en 1.3 gebruikt kunnen worden.
Perfect Forward Secrecy
Naast de protocollen kun je instellen welke algoritmes er gebruikt mogen worden voor de communicatie met de browsers. Een van de dingen die een goed algoritme ondersteunt is Perfect Forward Secrecy (PFS). PFS zorgt ervoor dat de tijdelijke sessie key die wordt aangemaakt voor de communicatie tussen de browser en de server later niet meer te decoderen is met de private key. Dit betekent dat al het verkeer wat iemand nu zou afluisteren in de toekomst niet meer kan worden ontcijferd als iemand toegang krijgt tot de gebruikte private key.
Ciper Suites
Een SSL/TLS protocol kent verschillende cipher suites om een versleutelde verbinding op te zetten. Een cipher suite bepaalt hoe het verkeer tussen een server en een client wordt versleuteld en verwerkt. Een aantal van deze cipher suites zijn inmiddels zwak en onveilig bevonden. Het is daarom belangrijk om onveilige cipher suites op je server uit te schakelen.
Beveilig de hele website met SSL
Zorg ervoor dat de gehele website wordt beveiligd met SSL, niet alleen de pagina's waarop klanten gegevens achterlaten. Zo kunnen er tijdens het schakelen van onbeveiligde naar beveiligde pagina's binnen de website geen gegevens onderschept worden. Daarnaast voorkomt het browserwaarschuwingen. Google stimuleert het gebruik van SSL op de hele website door dit te belonen met een hogere ranking. Wees zorgvuldig met de configuratie om er zeker van te zijn dat de aanpassing niet ten koste van vindbaarheid en prestaties van de website gaan.
OCSP Stapling
Voor het controleren van de status van een certificaat worden CRL en OCSP gebruikt, hierbij wordt de status opgevraagd bij de CA. Je kunt je webserver deze statusinformatie ook zelf laten doorgeven. De webserver maakt dan contact met de OCSP servers en krijgt een digitaal ondertekend antwoord van de OCSP servers dat wordt gecachet. De webserver geeft dan bij het bezoeken van de website de OCSP informatie gelijk door aan de browser, waardoor deze zelf niet de informatie hoeft op te vragen. OCSP stapling maakt het laden van een website een stuk sneller.
Meer controle over je certificaten
Een veelgebruikte techniek voor meer controle over welk certificaat een website of applicatie gebruikt, was Public Key Pinning. Begin 2018 heeft Google aangekondigd de ondersteuning voor Public Key Pinning te staken omdat er inmiddels betere alternatieven zijn - het gebruik van Certificate Transparency in combinatie met CAA records bijvoorbeeld.
Backup certificaten
Bij gebruik van SSL certificaten is er altijd een risico op intrekkking, door bijvoorbeeld compromittatie van de private key of juist door onvoorziene, externe situaties. In veel gevallen is een CA om te blijven voldoen aan de richtlijnen verplicht certificaten binnen 5 dagen of zelfs 24 uur in te trekken. Om te voorkomen dat veelbezochte websites of kritische applicaties onbereikbaar worden, of als je bijvoorbeeld door je gebruikte systemen veel vervangingstijd nodig hebt, is het raadzaam voor deze toepassingen backup certificaten van een andere CA en rootcertifcaat aan te vragen. Mocht er onverhoopt iets gebeuren kun je de getroffen certificaten dan direct vervangen. Neem voor meer informatie over de mogelijkheden even contact met ons op.
Veilige verbindingen forceren
Een stap verder dan zorgen dat de hele website via https:// bereikbaar is, is het gebruik van https:// afdwingen. Hiervoor zijn meerdere technieken, zoals het instellen van een redirect van http:// naar https://. Om te voorkomen dat een bezoeker alsnog omgeleid wordt naar een onbeveiligde pagina, kun je daarnaast HTTP Strict Transport Security aanzetten. Wanneer een bezoeker naar je beveiligde website is geweest ontvangt de browser de HTTP Strict Transport Security header en onthoudt vervolgens dat de website alleen via SSL bezocht mag worden.
Gemakkelijke SSL configuratie
Mozilla biedt een gemakkelijk te gebruiken SSL configuratie generator. Hiermee verkrijg je snel de optimale instellingen voor jouw specifieke server en toepassing, zoals de TLS versie, ciphers, OCSP stapling en HTTP Strict Transport Security, op basis van het kiezen uit een aantal opties en het invullen van je server en gebruikte OpenSSL versie.
Check het resultaat
Op https://www.ssllabs.com/ssltest/
Heb je nog geen SSL certificaat? Vraag deze dan eerst online aan.
Hulp nodig?
Bel ons op +31 88 775 775 0
SSLCheck
De SSLCheck controleert of je certificaat goed op je server is geïnstalleerd en of er mogelijke problemen zijn.