Sécurité par défaut de SPIP
Il existe deux dossiers « sensibles » dans SPIP, ce sont tmp/
et config/
. Le premier comporte tous les fichiers qu’utilise votre cache pour accélérer l’affichage des pages, stocke les journaux d’activité de spip (les spip.log
) et vous permet notamment de créer dump.xml
, le fichier de sauvegarde de la base de données.
Le second contient les paramètres de connexion à votre base de données et, dans le cas d’une utilisation de sqlite, la base de donnée elle-même.
Or le fichier dump.xml
contient des données très sensibles : en particulier on peut y voir tous les articles, même s’ils ne sont pas rendus publics sur le site, sans compter qu’il liste également les identifiants et les mots de passe [1] des rédacteurs et administrateurs du site.
La sécurité de tous ces fichiers est assurée traditionnellement par des fichiers de configuration d’accès nommés .htaccess
. SPIP génère automatiquement ces fichiers pour empêcher l’accès aux données sensibles stockées sur le serveur : vous pouvez vérifier que tmp/
et config/
contiennent chacun un fichier .htaccess
.
Hélas, ces fichiers fonctionnent sous Apache (le serveur Web libre faisant tourner la majorité des sites Web de l’Internet) mais pas sous IIS (Internet Information Services, le serveur Web de Microsoft).
Protéger ses données sous IIS : une étape de plus
Si votre site SPIP est installé sur un IIS, n’importe qui peut donc voir les dossiers censément sécurisés via .htaccess
: il faut donc les protéger.
Pour protéger un dossier sur votre site : allez dans le panneau d’administration de votre serveur Web, faites un clic droit sur le dossier concerné, cliquez sur « propriétés », et dans l’onglet « Répertoire » décochez la case « Lire ».
Faites cette opération pour chacun des deux dossiers tmp/
et config/
. Si la manipulation est bonne, vous ne devriez plus pouvoir accéder aux fichiers de ces dossiers à travers le serveur web. Testez votre configuration en essayant d’afficher http://www.votresite.com/tmp/log/spip.log
avec votre navigateur. Vous devriez obtenir un message du type « Accès refusé ».