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