5.5. Sécurisation du Serveur HTTP Apache

Le Serveur HTTP Apache est l'un des services les plus stables et sécurisés qui soit vendu avec Red Hat Enterprise Linux. Il existe une grande variété d'options et de techniques permettant de sécuriser le Serveur HTTP Apache — Ces dernières sont trop nombreuses pour être toutes examinées ici.

Lors de la configuration du Serveur HTTP Apache, il est important de lire la documentation disponible sur l'application. Parmi ces lectures figurent le chapitre intitulé Serveur HTTP Apache du Guide de référence de Red Hat Enterprise Linux, le chapitre Configuration du Serveur HTTP Apache du Guide d'administration système de Red Hat Enterprise Linux et les manuels Stronghold disponibles à l'adresse suivante : http://www.redhat.com/docs/manuals/stronghold/.

Ci-dessous figure une liste des options de configuration que les administrateurs devraient utiliser avec précaution.

5.5.1. FollowSymLinks

Cette directive étant activée par défaut, soyez très prudent lors de la création de liens symboliques vers le document root du serveur Web. Par exemple, la création d'un lien symbolique vers / est une très mauvaise idée.

5.5.2. La directive Indexes

Cette directive est activée par défaut, mais n'est peut-être pas souhaitée. Ainsi, si vous ne souhaitez pas que des utilisateurs puissent naviguer parmi des fichiers sur le serveur, il vaut mieux la supprimer.

5.5.3. La directive UserDir

La directive UserDir est désactivée par défaut parce qu'elle peut confirmer la présence d'un compte utilisateur sur le système. Si vous souhaitez permettre aux utilisateurs de naviguer parmi les répertoires sur le serveur, utilisez les directives suivantes :

UserDir enabled 
UserDir disabled root

Ces directives activent la navigation des répertoires par l'utilisateur et ce pour tous les répertoires utilisateurs autres que /root/. Si vous souhaitez inclure d'autres utilisateurs dans la liste des comptes désactivés, ajoutez sur la ligne UserDir disabled une liste d'utilisateurs, délimités par des espaces.

5.5.4. Ne pas supprimer la directive IncludesNoExec

Par défaut, le côté serveur inclut des modules ne pouvant exécuter des commandes. Il est fortement déconseillé de changer ces paramètres, sauf en cas de nécessité absolue, car toute modification pourrait potentiellement permettre à un agresseur d'exécuter des commandes sur le système.

5.5.5. Limiter les permissions des répertoires exécutables

Pour tout répertoire contenant des scripts ou CGI, assurez-vous bien de n'attribuer des permissions d'écriture qu'au super-utilisateur. Pour ce faire, tapez les commandes suivantes :

chown root <directory_name>
chmod 755 <directory_name>

De plus, vérifiez toujours que tous les scripts que vous exécutez sur le système fonctionnent comme vous le souhaitez avant de les mettre en production.