Durcissement de Nginx et Apache
Durcissement kesako ?
Il s’agit de configurer un système de manière à augmenter son niveau de sécurité. On retrouve souvent ce terme au niveau des systèmes d’exploitation mais comme la sécurité en général, il s’applique à tous les niveaux du système d’information.
Ici, je parlerai de Nginx et Apache mais si la question vous intéresse pour Linux ou Windows voiçi quelques billes :
- Guide de sécurité Debian
- Guide de sécurité RedHat (en)
- Hardened BSD : Un FreeBSD encore plus sécurisé
- Déploiement et configuration d’EMET (Windows)
Nginx, Apache et TLS : La base
Une bonne base pour la configuration de Nginx ou Apache est d’utiliser l’outil de configuration de Mozilla en choisissant la configuration moderne à moins que vous ayez vraiment des problèmes de compatibilité avec d’anciens systèmes/navigateurs.
Pour connaître rapidement vos versions de logiciels :
openssl version
nginx -v
apache2 -V
Ceci fait, vous devriez songer à faire taire vos serveurs (ne plus montrer les versions utilisées) ce qui rend plus compliqué la prise d’informations et le fingerprinting.
Durcissement spécifique à Nginx
Vous trouverez sur ce dépôt une checklist de durcissements spécifiques à Nginx.
En résumé :
- Masquer les signatures de serveur
- Configuration TLS forte
- Interdire la compression Gzip (pour lutter contre le CRIME)
- Ajouter les en-têtes de sécurité
Durcissement spécifique à Apache
Si on reprend ce qu’on a dit sur Nginx, on l’applique sur Apache :
- Masquer les signatures de serveur
- Configuration TLS forte
- Interdire la compression Gzip (pour lutter contre le CRIME) :
SSLCompression off
- Ajouter les en-têtes de sécurité
Vérifier tout ça
Configuration TLS :
- Qualys SSL Labs
- CryptCheck (qui est auto-hébergeable)
Configuration des en-têtes :
- Mozilla HTTP Obsevatory (qui est auto-hébergeable)