Apache est l’un des serveurs Web les plus utilisés et les plus populaires au monde, et il alimente près de 40 % de tous les serveurs dans le monde. Si vous êtes un webmaster ou un administrateur gérant un serveur Apache, il est important que vous sachiez comment sécuriser Apache et éviter qu’il ne soit piraté. Dans cet article, nous allons décrire quelques trucs et astuces que vous pouvez utiliser pour sécuriser votre serveur Apache.
Noter: nous utilisons Ubuntu 14.04 pour ce tutoriel.
Contenu
Installer et mettre à jour Apache
Tout d’abord, vous devez mettre à jour et installer Apache sur votre système.
Pour cela, exécutez la commande suivante :
Masquer la version Apache
Par défaut, Apache affiche la version de votre serveur web Apache installé sur votre système avec le nom du système d’exploitation de votre serveur.
Dans la capture d’écran ci-dessus, vous pouvez voir la version d’Apache et le système d’exploitation installé sur votre serveur. Cela peut être un problème de sécurité majeur pour votre serveur Web. Pour masquer ces informations, vous devez éditer le fichier de configuration principal d’Apache (« /etc/apache2/conf-enabled/security.conf »).
Ajoutez/éditez la ligne suivante :
Enregistrez le fichier et redémarrez le service Apache.
Par défaut, la liste des répertoires est activée sur le serveur Apache. La liste des répertoires affiche tout le répertoire avec tous les fichiers du serveur Apache. Si cette option est activée, un attaquant peut facilement visualiser n’importe quel fichier, l’analyser et obtenir des informations sensibles sur une application.
Vous pouvez voir la liste des répertoires par défaut dans l’image ci-dessous.
Vous pouvez désactiver ce paramètre en modifiant le fichier de configuration Apache.
Ajoutez/éditez la ligne suivante :
Noter: le code ci-dessus suppose que vos pages Web sont servies à partir du dossier « /var/www/html ». Si vous avez modifié le dossier public vers un emplacement personnalisé, modifiez le chemin du répertoire dans le code ci-dessus.
La ligne Options -FollowSymLinks désactive également les liens symboliques. Si vous souhaitez activer les liens symboliques, supprimez le signe « – » devant FollowSymLinks, il devient donc Options FollowSymLinks.
Enregistrez le fichier et redémarrez le serveur Apache.
Après cela, essayez de visiter le Web dans un navigateur et vous obtiendrez une erreur interdite affichée dans l’image ci-dessous.
Désactiver les modules inutiles
Par défaut, Apache est livré avec plusieurs modules installés qui ne sont pas nécessaires pour une utilisation normale. Il est recommandé de réduire la graisse et de désactiver tous ces modules inutiles. Vous pouvez lister tous les modules activés sur votre serveur à l’aide de la commande suivante :
Cela affichera la sortie comme indiqué dans l’image ci-dessous.
Parmi les modules répertoriés ci-dessus, certains modules tels que « status » et « autoindex » sont activés mais pas nécessaires.
Vous pouvez désactiver ces modules à l’aide de la commande suivante :
Utiliser ModSecurity
Mod security est un module Apache gratuit utilisé pour protéger votre serveur Web de diverses attaques telles que l’injection SQL, les scripts intersites, le piratage de session, la force brute et de nombreux autres exploits. Il vous permet également de surveiller le trafic en temps réel.
Vous pouvez installer la sécurité du mod à l’aide de la commande suivante :
Pour vérifier si le module mod_security est en cours d’exécution, utilisez la commande suivante :
L’image ci-dessous indique que le module a été chargé.
Pour activer les règles mod_security, vous devez renommer et modifier le fichier de configuration recommandé pour la sécurité du mod et définir l’option SecRuleEngine sur On.
Pour cela, exécutez la commande suivante :
Ajoutez/éditez la ligne suivante :
Redémarrez maintenant Apache pour que les modifications prennent effet.
Il existe de nombreuses règles de sécurité fournies avec Modesecurity (appelées Core Rule Set) qui se trouvent dans le répertoire « /usr/share/modsecurity-crs ». Vous devez maintenant activer ces règles pour que cela fonctionne avec Apache.
Vous pouvez le faire en éditant le fichier « /etc/apache2/mods-enabled/security2.conf ».
Ajoutez/éditez la ligne suivante :
Enregistrez le fichier et redémarrez Apache.
Désactivez les inclusions côté serveur et l’exécution CGI.
Il est recommandé de désactiver les inclusions côté serveur et l’exécution CGI si cela n’est pas nécessaire.
Pour ce faire, vous devez modifier le fichier de configuration principal d’Apache.
Ajoutez/éditez la ligne suivante :
Enregistrez le fichier et redémarrez Apache.
Vous pouvez également le faire pour un répertoire spécifique. Par exemple, pour désactiver les inclusions côté serveur et les exécutions de fichiers cgi pour le répertoire « /var/www/html/webdir1 », ddd/éditez la ligne suivante :
Enregistrez le fichier et redémarrez Apache.
Limiter les grandes demandes
Par défaut, Apache n’a pas de limite sur la taille de la requête HTTP. Cela permettra à un attaquant d’envoyer une grande quantité de données. Apache a plusieurs directives qui vous permettent de définir une taille de requête appropriée. Cela protégera votre serveur Web d’une attaque par déni de service.
Vous pouvez définir la valeur de 0 (illimité) à 2147483647 (2 Go) dans le fichier de configuration principal Apache.
Par exemple, limitez la taille de la requête du répertoire « /var/www/html/webdir1 » à 200 Ko.
Ajoutez/éditez la ligne suivante :
Enregistrez le fichier et redémarrez Apache.
Il est recommandé qu’Apache ne puisse accéder qu’au répertoire racine du document. Vous pouvez sécuriser le répertoire racine (/) en définissant la ligne suivante :
Ajoutez/éditez la ligne suivante :
Voici ce que fait le code :
Enregistrez le fichier et redémarrez Apache.
Gardez Apache à jour
Les nouvelles mises à jour Apache contiendront de nouveaux correctifs et correctifs qui réduiront la vulnérabilité de votre serveur Apache, il est donc recommandé d’utiliser la dernière version du serveur Apache.
Vous pouvez mettre à jour votre Apache vers la dernière version en utilisant la commande suivante :
Conclusion
J’espère que cet article vous aidera à sécuriser votre serveur Apache. Vous trouverez plus de conseils et astuces de sécurité avancés pour sécuriser le serveur Apache dans mon prochain article. N’hésitez pas à commenter ci-dessous si vous avez des questions.
Cet article est-il utile ? Oui Non