De problemen met SSL en certificaten hebben afgelopen jaren tot veel adhoc-oplossingen geleid. De resulterende SSL-configuraties zijn vaak niet optimaal. Bovendien gaan browsers de gebruiker waarschuwen voor onveilige certificaten. Tijd dus om uw SSL-configuratie en certificaten langs te lopen en waar nodig te verbeteren.
SSL-problemen
In het afgelopen jaar was er opnieuw veel aandacht voor de veiligheid van SSL. Heartbleed – het probleem met de heartbeat-functie in OpenSSL – verwierf wereldwijde bekendheid. Maar ook de POODLE attack – een kwetsbaarheid in SSL 3.0 – kon op de nodige aandacht rekenen. En afgelopen december bleek ook nog eens een behoorlijk aantal servers kwetsbaar te zijn voor een POODLE-variant voor TLS (de opvolger van SSL 3.0).
Nu was 2014 niet het eerste jaar met grote SSL-problemen. In eerdere jaren waren er al een behoorlijk aantal incidenten met SSL. Voorbeelden hiervan zijn: het ‘einde’ van het MD5-algoritme in 2005, de bekendwording van de renegotiation-kwetsbaarheid in 2009, de Diginotar-affaire in 2011 en de BEAST-attack in 2011. En dan is deze lijst nog verre van compleet.
Gepatchte systemen en certificaten
Vanwege deze incidenten hebben systeembeheerders de afgelopen jaren regelmatig hun (web)servers moeten patchen. Ook hebben certificaatbeheerders al een paar keer nieuwe certificaten moeten bestellen. Het directe probleem is daarmee wel steeds opgelost, maar heeft ondertussen een deel van de beheerders het overzicht verloren. Daardoor zijn in veel SSL-configuraties en certificaten niet de beste instellingen en opties geselecteerd.
Beveiligingsmeldingen in browsers
Bovendien hebben de drie grootste browser-producenten (Google, Microsoft en Mozilla) geconstateerd dat veel certificaten nog steeds op zwakke cryptografie leunen. Zij hebben daarom besloten om gebruikers actief te gaan waarschuwen voor websites met dergelijke certificaten. Nu al worden in sommige browsers meldingen getoond als SHA1 of 1024-bit RSA gebruikt wordt in een certificaat. Op dit moment zijn deze meldingen nog subtiel, maar zeer binnenkort krijgt de bezoeker van een dergelijke website te horen dat hij een ‘onveilige site’ opvraagt.
Zijn uw SSL-configuratie en certificaten up-to-date?
Maakt u zelf gebruik van SSL voor uw website, email, VPN of andere verbindingen? En wilt u graag de juiste instellingen gebruiken en beveiligingswaarschuwingen bij uw gebruikers voorkomen? Dan is dit het moment om uw SSL-configuratie en certificaten eens goed te controleren. Beantwoord de onderstaande 6 vragen en u weet of u up-to-date bent of wat er eventueel verbeterd kan worden:
1. Is uw SSL-software bijgewerkt naar de laatste versie?
Bekende implementatiefouten, zoals het Heartbleed-lek, zijn meestal opgelost in nieuwe versies van de SSL-software. Bovendien is vaak een recente versie van de software vereist om de nieuwste SSL-versie (TLS 1.2) of andere wenselijke SSL-mogelijkheden (zoals Forward Secrecy of OCSP Stapling) te kunnen gebruiken. Denk hierbij ook aan het besturingssysteem en code libraries, zoals OpenSSL.
2. Gebruikt u SHA256 in uw certificaten?
Zoals gezegd zijn de grote browser-producten begonnen met het waarschuwen van gebruikers voor websites die SHA1 in certificaten gebruiken. Werk daarom uw certificaat zo snel mogelijk bij naar een certificaat op dat gebruik maakt van SHA256 voor de certificaathandtekeningen. Enkele grote certificaat-verstrekkers bieden hiervoor gratis vervanging van certificaten die nog geen gebruik maken van SHA256.
3. Gebruikt u minimaal 2048-bit RSA of 224-bit ECDSA in uw certificaten?
Certificaathandtekeningen die gemaakt zijn met lagere sleutellengtes worden niet meer als veilig beschouwd en worden in steeds minder browsers en besturingssystemen geaccepteerd. Gebruikt u nog ergens een certificaat met een sleutel zwakker dan 2048-bit RSA of 224-bit ECDSA, vervang dan het betreffende certificaat.
4. Biedt u enkel TLS versie 1.0 en hoger aan?
Met de POODLE attack is SSL v3.0 als definitief onveilig aangemerkt. Bied deze versie niet langer aan, maar gebruik enkel nog TLS v1.0 en hoger.
5. Biedt u enkel sterke versleutelings-algoritmen aan?
SSL-software biedt vaak een ruime keus aan mogelijke versleutelingsalgoritmen. Hier zitten veel onveilige opties tussen, bijvoorbeeld het ‘null cipher’ en RC4. Pas uw configuratie zo aan dat enkel veilige algoritmen worden aangeboden. De opties op basis van AES of 3DES in combinatie met SHA1 of hoger zijn hierbij de juiste keuze. Zie voor een volledig overzicht en de aanbevolen volgorde de verderop genoemde NCSC richtlijnen.
6. Heeft u renegotiation- en compressie-opties uitgeschakeld op uw server?
Stel uw webserver zo in dat renegotation niet mogelijk is. Hiermee beschermt u zich tegen de aanval uit 2009. Schakel bovendien compressie op het niveau van TLS en HTTPS uit om u te beschermen tegen de CRIME en BREACH-aanvallen uit 2012 en 2013.
Heeft u hierboven zesmaal ‘ja’ geantwoord, dan zijn de belangrijkste punten van uw SSL-configuratie in orde.
Naast deze ‘must-haves’ zijn er nog enkele zaken die u kunt overwegen om de veiligheid met betrekking tot uw SSL-verbindingen te verbeteren. Denkt u hierbij aan het gebruiken van Forward Secrecy, OCSP Stapling en TLS Fallback SCSV. Overweeg ook om uw website enkel over HTTPS beschikbaar te stellen en HSTS (HTTP Strict Transport Security) te gebruiken.
Meer informatie
Voor meer details kunt u het beste de SSL/TLS Deployment Best Practices van Qualys SSL Labs en de ICT-beveiligingsrichtlijnen voor Transport Layer Security (TLS) van het NCSC raadplegen. Om direct een helder oordeel te krijgen over de kwaliteit van uw huidige SSL-configuratie en gebruikte certificaten van uw website, kunt u terecht bij de Qualys SSL Labs SSL Server Test. Elke waardering lager dan een A+ geeft u mogelijkheden tot verbetering. Om te controleren of de SSL-configuratie van uw website acceptabel is, legt u de resultaten vanuit de Server Test naast de richtlijnen uit het NCSC-document.