Base documentaire GNU/Linux et développement

Fiches techniques pour la configuration de machines GNU/Linux, de réseau et de développement logiciel

Outils pour utilisateurs

Outils du site


administration-systemes:mod_ssl

Configuration du module SSL du serveur HTTP d’Apache

La navigation sur le Web devrait désormais, dans la mesure du possible et pour tout échange qui contient des données personnelles ou devant être privées, se faire via le protocole HTTPS. Le serveur web HTTP d’Apache est utilisé ici, au travers la configuration du module SSL.

Pré-requis

mod_ssl est présent dans le dépôt base de CentOS. Il peut s’installer comme suit :

yum install mod_ssl

Configuration du module

Le module est configuré au travers le fichier /etc/httpd/conf.d/ssl.conf. Par mesure de précaution, ce fichier ne sera pas modifié. Ainsi, les modifications apportées par CentOS seront répercutées lors des mises à jours futures. Le travail se concentre dans un nouveau fichier, que l’on va placer au même endroit et nommer ssl_custom.conf. Cette configuration suit les directives de la documentation sur mod_ssl.

Les opérations qui sont faites consistent à :

  • ne conserver que TLS 1.2, les autres versions étant en fin de vie et SSL posant des problèmes de sécurité : directive SSLProtocol ;
  • dire que c’est le serveur qui choisit les algorithmes de chiffrement selon sa préférence, ce qui limite les attaques consistant à indiquer volontairement des algorithmes faibles : directive SSLHonorCipher ;
  • indiquer les algorithmes de chiffrement que l’on désire utiliser : directive SSLCipherSuite.
<IfModule mod_ssl.c>
    SSLProtocol TLSv1.2
    SSLHonorCipherOrder on
    SSLCipherSuite "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 !EDH !EDH+aRSA !RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !LOW !MEDIUM"
</IfModule>

Configuration du HSTS

Pour forcer l’utilisation des connexion HTTPS, on peut indiquer via une en-tête au navigateur de n’accepter que des connexion HTTPS pendant une certaine durée. On va forcer l’activation du HSTS, de la RFC 6797 en ajoutant un en-tête « Strict-Transport Security ». Cet ajout peut être placé dans un fichier hsts.conf.

<IfModule mod_headers.c>
    <IfModule mod_ssl.c>
        Header always set Strict-Transport-Security "max-age=15552001; includeSubDomains;"
    </IfModule>
</IfModule>

Tester sa configuration

Des outils existent en ligne pour tester la configuration SSL de son site web, SSLTest de SSLLabs est intéressant car il fournit des informations supplémentaires en indiquant si des algorithmes sont sensibles à des attaques et doivent être désactivés.

administration-systemes/mod_ssl.txt · Dernière modification: 2019/04/05 12:12 par Guillaume Bernard