Sécuriser Apache2
De Wiki Nicolas Lambert - Julien Quement.
Voilà quelques notions de base à avoir pour sécuriser un minimum Apache2. Notre distribution est une Debian Etch.
Servertokens
Par défaut, Apache2 envoie des informations sur le serveur. Pour éviter qu'une personne puisse identifier de quel type et quelle version de serveur il s'agit et donc de connaitre les failles potentielles, nous allons bloquer ses informations.
L'option Servertokens permet de choisir la signature de votre serveur web, il y a plusieurs choix :
- Prod
- Min
- OS
- Full
En Full, Apache2 renvoie les informations suivantes:
Apache/2.2.3 (Debian) PHP/5.2.0-8+etch13 Server at 88.191.xxx.xxx Port 80
Nous allons donc passer le paramètre à Prod, pour qu'il affiche le moins d'infos possible.
Editez le fichier /etc/apache2/apache2.conf . Cherchez la ligne ServerTokens Full, et remplacez la par ServerTokens Prod.
Maintenant, Apache2 n'affiche plus que:
Apache Server at 88.191.xxx.xxx Port 80
ServerSignature
Cette option affiche la signature du serveur web. La signature correspond à une ligne de bas de page pour les documents générés par le serveur (messages d’erreur, liste des répertoire ftp, affichage de mod_info, ...) L’utilité de l’emploi d’une telle ligne apparaît dans la cas d’enchaînement de proxy, où l’utilisateur souvent n’a aucune possibilité de déterminer quel élément de la chaîne de proxies a produit un message d’erreur.
Tout comme pour ServerTockens, nous désactivons les infos données par ServerSignature.
Editez le fichier /etc/apache2/apache2.conf . Cherchez la ligne ServerSignature On, et remplacez la par ServerSignature Off.
Empêcher le parcours d'un répertoire
Pour empêcher le parcours du répertoire /web, ajoutez l'option -Indexes:
<Directory /web> Order Allow,Deny Allow from all Options -Indexes </Directory>
