Fermer
DéveloppementOutils - Conseils

Conseil n°19 : Sécurisez votre serveur Web Apache sur Unix/Linux

Facebook pourrait se retirer de l'Europe

Voici l’avant dernier conseil de cette longue série de vingt :

Sécurisez votre serveur web Apache sur Unix/Linux

Ce dernier conseil va s’avérer essentiel si vous êtes administrateur de votre propre serveur. En effet, vous devez sécuriser votre serveur Web Apache afin de le protéger au maximum des attaques. Pour cela, je vous propose de suivre mes dix conseils mentionnés ci-dessous. J’essaie au maximum de respecter ceux-ci dans chacun des serveurs que je mets en place.

  • 1 – Désactiver les modules inutiles : Il s’avère que l’installation d’Apache peut être accompagnée de nombreux paquets qui peuvent être inutiles pour vous. Je vous conseille d’aller faire un tour et de désactiver ceux vous semblant obsolètes (cgi, userdir, …)
  • 2 – Exécuter Apache avec un utilisateur et un groupe séparé : Par défaut, Apache peut fonctionner en tant que nobody ou daemon. Il est généralement conseillé d’exécuter Apache avec son propre compte. Par exemple : Apache
  • 3 – Restreindre l’accès au répertoire racine (Utilisez Allow ou Deny) : Pour cela il vous faut fixer le répertoire racine en le définissant dans le fichier httpd.conf
  • 4 – Définir les autorisations appropriées pour les répertoires conf et bin : Les répertoires bin et conf doivent être consultés uniquement par les utilisateurs autorisés. C’est une bonne idée de créer un groupe, et ajouter tous les utilisateurs qui sont autorisés à voir/modifier les fichiers de configuration Apache pour ce groupe
  • 5 – Désactiver le listing du répertoire : Si vous ne faites pas cela, tous les utilisateurs seront en mesure de voir tous les fichiers (et répertoires) à la racine de votre serveur Web (voir même les sous dossiers)
  • 6 – Ne laisser pas les .htaccess : En utilisant un fichier .htaccess à l’intérieur d’un sous-répertoire du répertoire htdocs par exemple (ou n’importe où ailleurs), les utilisateurs pourront écraser les directives Apache par défaut. Dans certaines situations, ce n’est pas conseillé et devrait même être évité. Vous devrez désactiver cette fonctionnalité.
  • 7 – Désactiver les autres options : Je vous conseille de ne jamais spécifier Options All mais plutôt de toujours préciser une (ou plusieurs) des options mentionnées suivantes : Options ExecCGI, Options Includes, Options Indexes, etc…
  • 8 – Retirer les indésirables modules DSO : Si vous avez chargé tous les modules dynamiques à Apache, ils seront présents à l’intérieur du fichier httpd.conf depuis les directives LoadModule
  • 9 – Restreindre l’accès à un réseau spécifique (ou adresse IP) : Si vous voulez que votre site soit consulté seulement par une adresse IP ou un réseau spécifique je vous conseille de rajouter la directive Allow from
  • 10 – Ne pas afficher ou envoyer la version d’Apache (Set ServerTokens) : Par défaut, l’en-tête de réponse du serveur HTTP contient la version de PHP et Apache. C’est dangereux de donner cette information à un hacker… Pour éviter cela, réglez le ServerTokens en Prod dans le fichier httpd.conf

Voilà mes différents conseils afin de sécuriser votre serveur Web Apache sur Unix/Linux. Si vous souhaitez les commandes exactes pour chacun d’eux n’hésitez pas à me le demander en commentaire de cet article.

Avez-vous d’autres conseils afin de sécuriser un serveur Web ? Venez nous les dire.

Mots-clé : apacheconseilsLinuxsécuritéserveur webvacance
Yohann Poiron

L’auteur Yohann Poiron

J’ai fondé le BlogNT en 2010. Autodidacte en matière de développement de sites en PHP, j’ai toujours poussé ma curiosité sur les sujets et les actualités du Web. Je suis actuellement engagé en tant qu’architecte interopérabilité.