Sécurisez et durcissez le serveur web Apache en suivant les meilleures pratiques pour garder votre application web sécurisée.
Le serveur web est un élément essentiel des applications web. Une mauvaise configuration et une configuration par défaut peuvent exposer des informations sensibles, ce qui constitue un risque.
En tant que propriétaire ou administrateur de site web, vous devez régulièrement effectuer des analyses de sécurité de votre site web afin de détecter les menaces en ligne et de prendre des mesures avant qu’un pirate informatique ne le fasse.
Passons en revue les configurations essentielles pour préserver la sécurité de votre serveur web Apache.
Toutes les configurations suivantes se trouvent dans le fichier httpd.conf
de votre instance Apache.
Note: faites une sauvegarde du fichier de configuration nécessaire avant de le modifier, afin de pouvoir le restaurer facilement en cas de problème.
Désactiver le traçage des requêtes HTTP
L’option TraceEnable
par défaut autorise TRACE, ce qui interdit à tout corps de requête d’accompagner la demande.
Si TraceEnable est désactivé, le serveur central et le mod_proxy renvoient une erreur 405 (méthode non autorisée) au client.
TraceEnable on permet le Cross-Site Tracing Issue et donne potentiellement la possibilité à un hacker de voler vos informations de cookies.
Solution
Résolvez ce problème de sécurité en désactivant la méthode HTTP TRACE dans la configuration d’Apache.
Vous pouvez le faire en modifiant/ajoutant la directive ci-dessous dans le fichier httpd.conf de votre serveur Web Apache.
TraceEnable off
Exécutez en tant qu’utilisateur et groupe distincts
Par défaut, Apache est configuré pour fonctionner avec nobody ou daemon.
Ne donnez pas à l’utilisateur (ou au groupe) la valeur root à moins que vous ne sachiez exactement ce que vous faites, et quels sont les dangers.
Solution
L’exécution d’Apache dans son propre compte non root est une bonne chose. Modifiez la directive User & Group dans le fichier httpd.conf de votre serveur web Apache
Utilisateur apache
Groupe apache
Désactiver la signature
Le paramètre Désactivé, qui est la valeur par défaut, supprime la ligne de bas de page.
Le paramètre Activé ajoute simplement une ligne avec le numéro de version du serveur et le nom de serveur de l’hôte virtuel en service.
Solution
Il est préférable de désactiver la signature, car vous ne souhaitez peut-être pas révéler la version d’Apache que vous utilisez.
ServerSignature Désactivé
Désactiver la bannière
Cette directive détermine si le champ d’en-tête de la réponse du serveur, qui est renvoyée aux clients, inclut une description du type de système d’exploitation générique du serveur ainsi que des informations sur les modules compilés.
Solution
ServerTokens Prod
Restreindre l’accès à un réseau ou à une IP spécifique
Si vous souhaitez que votre site ne soit visible que par une adresse IP ou un réseau spécifique, vous pouvez modifier le répertoire de votre site dans httpd.conf
Solution
Indiquez l’adresse réseau dans la directive Allow.
<Répertoire /votre site>
Options Aucune
AllowOverride Aucune
Ordre deny,allow
Refuser à partir de tous
Autoriser à partir de 10.20.0.0/24
Indiquez l’adresse IP dans la directive Allow.
<Répertoire /votre site web>
Options Aucune
AllowOverride Aucune
Ordre deny,allow
Refuser à partir de tous
Autoriser à partir de 10.20.1.56
Utilisez uniquement TLS 1.2
SSL 2.0, 3.0, TLS 1, 1.1 souffre de plusieurs failles cryptographiques.
Vous avez besoin d’aide pour configurer SSL ? Consultez ce guide.
Solution
SSLProtocol -ALL TLSv1.2
Désactiver la liste des répertoires
Si vous n’avez pas index.html dans le répertoire de votre site Web, le client verra tous les fichiers et sous-répertoires listés dans le navigateur (comme ls -l en sortie).
Solution
Pour désactiver la navigation dans les répertoires, vous pouvez définir la valeur de la directive Option à “None” ou “-Indexes”
<Répertoire />
Options None
Ordre allow,deny
Autoriser à partir de tous
OU
<Répertoire />
Options -Index
Ordre allow,deny
Autoriser à partir de tous
Supprimer les modules DSO inutiles
Vérifiez votre configuration pour supprimer les modules DSO redondants.
De nombreux modules sont activés par défaut après l’installation. Vous pouvez supprimer ceux dont vous n’avez pas besoin.
Désactiver les chiffrages nuls et faibles
N’autorisez que les algorithmes de chiffrement forts, de manière à fermer toutes les portes qui tentent d’utiliser des suites de chiffrement inférieures.
Solution
SSLCipherSuite ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4 RSA : HIGH : MEDIUM
Restez à jour
Apache étant un logiciel libre actif, le moyen le plus simple d’améliorer la sécurité du serveur Web Apache est de conserver la dernière version. De nouvelles corrections et de nouveaux correctifs de sécurité sont ajoutés à chaque version. Mettez toujours à jour vers la dernière version stable d’Apache.
Il ne s’agit là que de quelques-unes des configurations essentielles, et si vous souhaitez les approfondir, vous pouvez consulter mon guide de sécurité et de durcissement étape par étape.