Durcissement de Nginx et Apache

Armor

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 :

 

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 :

Vérifier tout ça

Configuration TLS :

Configuration des en-têtes :