Errare developerum est

Publié le 21 septembre 2007 par Peck
Retrouvez cet article sur http://linux-attitude.fr/post/Errare-developerum-est

Niveau :
Résumé : allow where .html|.php

Vous hébergez des sites web développés par vous ou par d'autres. Et bien sûr vous êtes sujets à quelques petits travers de développement, ou à quelques erreurs. Que celui qui n'a jamais poussé un répertoire CVS ou un fichier de log sur un serveur web me jette le premier octet ? Et je ne parle pas de ceux qui font joujou avec vi directement en production et créent des fichiers ~.

J'ai la solution à tous vos tracas de sécurité, il s'agit d'interdire le transfert de tous les fichiers dont l'extension n'est pas explicitement autorisée.

La méthode est simple, il suffit d'ajouter les lignes suivantes dans votre configuration apache :
   # À garder en premier
   <Files "*">
   deny from all
   </Files>
   # Liste des extensions à autoriser
   <FilesMatch ".(html|php)$">
   allow from all
   </FilesMatch>
   # On autorise aussi les urls qui se terminent par un /
   # -> implicitement les fichiers d'index
   # -> implicitement les /?var=valeur
   <LocationMatch "/$">
   allow from all
   </LocationMatch>

Au passage cela vous permettra de sécuriser un peu mieux les dotclear ou mediawiki fourni avec des .txt et des .tgz