Apache: Interdire le dossier “.svn”

Lors du développement ou de la pré-prod (en production, c’est n’est pas très malin), il se peut que vous utilisiez la commande “svn co” pour extraire les fichiers de votre dépôt SVN et les mettre sur le serveur web, puis utiliser “svn update” pour mettre à jour très simplement. Lors de cette manipulation, dans tous les dossiers et sous-dossiers extraits du dépôt, des dossiers “.svn” sont créés, contenant des informations à propos du dépôt et des fichiers présents dans ces dossiers. Ces informations sont confidentielles et ne doivent pas être volées. Malgré la protection d’accès à la version de développement – s’il y a – il se peut qu’un étranger y ai accès. Nous allons donc voir comment interdire l’accès à ces dossiers par deux méthodes

Interdire les dossiers via <Directory>

Nous allons donc interdire toute personne à entrer dans les dossiers “.svn” et ses sous-dossiers. Dans un fichier HTACCESS, dans un VirtualHost ou bien dans la configuration globale d’Apache, vous pouvez utiliser la directive <Directory> pour ajouter des paramètres à certains dossiers :

<Directory ~ ".svn">
Order allow,deny
Deny from all
</Directory>

“Deny for all” indique que tous les répertoires nommés “.svn” sont interdits pour tout le monde.

Cette méthode retourne donc une erreur 403, “Forbidden”. Néanmoins, si l’intrus ou la personne qui cherche se dossier trouve une erreur 403, c’est que le dossier existe, il y a donc une faille probable. La meilleure méthode est donc de faire croire que le dossier n’existe pas, nous allons donc dire à Apache de retourner une erreur 404 pour toutes les requêtes contenant “.svn”.

Retourner une erreur 404

Pour tromper l’ennemi, nous allons donc retourner un code 404 comme préciser ci-dessus :

Cette ligne peut être insérée dans les mêmes conditions que la précédente.

facebooktwittergoogle_plusredditpinterestlinkedinmail

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">