Apache - Perfect Forward Secrecy inschakelen

Om Perfect Forward Secrecy te activeren voor de Apache webserver 2.4 en hoger is het nodig om de configuratie zo aan te passen dat de juiste cipher suites worden aangeboden.

Apache configuratie

Onderstaande aanpassingen worden gemaakt in de configuratie van de website waarvoor het SSL protocol staat ingeschakeld. Deze configuratie bestanden staan normaal in /etc/apache2/sites-enabled/. Met onderstaande regels geven we aan dat er geen gebruik van SSLv2 en SSLv3 wordt gemaakt, en dat de webbrowser de aangeboden ciphers moet accepteren.

<VirtualHost *:443>
...
SSLProtocol all -SSLv2 -SSLv3
SSLHonorCipherOrder on
...
</VirtualHost>

Nu kun je via de SSLCipherSuite parameter aangegeven welke ciphersuites we willen gebruiken. Gebruik de onderstaande cipherssuites als basis, RC4 laten we weg vanwege de kwetsbaarheden die hierin zijn gevonden.

ECDHE-ECDSA-AES128-GCM-SHA256
ECDHE-ECDSA-AES256-GCM-SHA384
ECDHE-ECDSA-AES128-SHA
ECDHE-ECDSA-AES256-SHA
ECDHE-ECDSA-AES128-SHA256
ECDHE-ECDSA-AES256-SHA384
ECDHE-RSA-AES128-GCM-SHA256
ECDHE-RSA-AES256-GCM-SHA384
ECDHE-RSA-AES128-SHA
ECDHE-RSA-AES256-SHA
ECDHE-RSA-AES128-SHA256
ECDHE-RSA-AES256-SHA384
DHE-RSA-AES128-GCM-SHA256
DHE-RSA-AES256-GCM-SHA384
DHE-RSA-AES128-SHA
DHE-RSA-AES256-SHA
DHE-RSA-AES128-SHA256
DHE-RSA-AES256-SHA256
EDH-RSA-DES-CBC3-SHA

De notatie in de Apache configuratie bevat tussen elke ciphersuite een dubbele punt;

SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-EC...

Apache webserver testen

Na het opnemen van deze configuratieregels in de website configuratie wordt deze getest door het uitvoeren van onderstaand commando:

apachectl configtest

Apache webserver herstarten

En wanneer er geen fouten worden gemeld kan de Apache webserver worden herstart met onderstaand commando:

apachectl graceful

point up