Recherche de site Web

Désactiver la navigation dans les répertoires sous Apache


Lors de l’installation d’Apache sur un système Linux, la liste du contenu des répertoires est activée par défaut. Il peut s’agir d’une fonctionnalité souhaitable dans certains scénarios, mais il s’agit d’une faille de sécurité potentielle dans d’autres. Il est assez facile d’activer ou de désactiver ce paramètre pour chaque site Web (hôte virtuel) que vous avez configuré.

Dans ce guide, nous allons passer en revue les instructions étape par étape pour modifier la configuration Apache afin de masquer la liste du contenu du répertoire pour Apache.

Dans ce tutoriel, vous allez apprendre :

  • Comment masquer la liste du contenu d’un répertoire dans Apache

Réception de l’erreur 403 Forbidden lorsque la liste du contenu du répertoire est désactivée

Désactiver la liste de contenu

Par défaut, la liste du contenu est activée. Cela signifie que si vous téléchargez des fichiers dans un répertoire et que vous ne parvenez pas à télécharger un fichier d’index (comme index.html ou index.php), le contenu du répertoire est répertorié et consultable par défaut. Voir la capture d’écran ci-dessous pour un exemple.

Le contenu de l’annuaire est actuellement répertorié sur le site Web

Les fichiers que vous voyez répertoriés dans la capture d’écran seront toujours accessibles, donc les « cacher » ressemble plus à de la sécurité par l’obscurité. Néanmoins, la désactivation de la liste des répertoires rendra plus difficile pour les attaquants d’en savoir plus sur la structure des répertoires de votre site et de trouver des fichiers sensibles.

  1. Ouvrez le fichier de configuration de l’hôte virtuel avec nano ou votre éditeur de texte préféré. Notez que vous devrez peut-être remplacer 000-default.conf par le nom de votre propre fichier de configuration.

    
    sudo nano /etc/apache2/sites-available/000-default.conf
    
  2. Dans ce fichier, ajoutez le code suivant à l’intérieur de la directive <Directory>.

    
    Options FollowSymLinks
    AllowOverride None
    
  3. Modifiez la configuration de votre hôte virtuel avec le paramètre -Indexes pour désactiver la liste de contenu

  4. Enregistrez les modifications que vous avez apportées au fichier et fermez-le. Redémarrez ensuite Apache pour que les modifications prennent effet.

    
    sudo systemctl restart apache2
    
    Red Hat based systems:
    
    sudo systemctl restart httpd
    

Vous devriez maintenant recevoir une erreur 403 Forbidden lorsque vous essayez d’accéder à un répertoire qui n’a pas de fichier d’index.

Réception de l’erreur 403 Forbidden lorsque la liste du contenu du répertoire est désactivée

Réflexions finales

Dans ce guide, nous avons vu comment désactiver la liste du contenu des répertoires dans le serveur Web Apache. Sa désactivation peut être considérée comme une « sécurité par l’obscurité », mais il est toujours recommandé de la désactiver, à moins que vous n’en ayez spécifiquement besoin.

Articles connexes: