Dans cet article nous allons voir en quoi l’option MultiViews d’Apache (mod_negotiation) peut poser des problèmes à un site WordPress.
Si vous utilisez iThemes Security pour protéger votre site WordPress, attention : le réglage de cette extension qui permet de cacher l’accès à votre interface d’administration peut facilement être contourné chez certains hébergeurs, notamment OVH. En effet, il existe chez eux une fonctionnalité MultiViews qui donne accès, en cas d’erreur dans L’URL, à votre fichier wp-login.php.
Sécurité : vivons cachés
Une des premières mesures de sécurité sur un site WordPress consiste à cacher l’accès à l’interface d’administration. Cela permet, a minima, de déjouer les tentatives de piratage automatisées qui visent des sites WordPress non sécurisés.
Plusieurs extensions permettent de faire cela : Move Login et WPS Hide Login sont dédiés à cette fonction (un petit cocorico pour ces deux extensions françaises), tandis qu’iThemes security l’inclut dans ses réglages avec « Hide Login Area ».
Alors que Move Login opère un masquage complet, le réglage d’iThemes peut être contourné par une configuration côté serveur.
Option MultiViews
Chez certains hébergeurs comme OVH (et il n’est pas le seul), l’option MultiViews est activée par défaut.
Qu’est ce que c’est que l’option MultiViews ?
Fonctionnalité par défaut d’Apache (mod_negotiation), elle met en œuvre la négociation de contenu. Le « content negotiation »est une spécification W3C du protocole HTTP/1.1.
Most HTTP responses include an entity which contains information for interpretation by a human user. Naturally, it is desirable to supply the user with the « best available » entity corresponding to the request. Unfortunately for servers and caches, not all users have the same preferences for what is « best, » and not all user agents are equally capable of rendering all entity types. For that reason, HTTP has provisions for several mechanisms for « content negotiation » — the process of selecting the best representation for a given response when there are multiple representations available.
En résumé, cela permet, en appelant une URL comme www.example.com/page, de retourner le fichier le plus approprié.
Si le fichier www.example.com/page.html existe, il va être retourné, sinon le serveur va rechercher www.example.com/page.php. Il s’agit de réécriture (rewriting) intelligente.
Faille de sécurité
Cette option serait confortable… si elle n’en faisait pas trop. Le réglage d’iThemes permet en effet de masquer le fichier wp-login.php. S’il est appelé, iThemes redirige vers une page d’erreur.
Par contre, il ne traite pas un appel au fichier wp-login. Normal, ce fichier n’existe pas. Heureusement MutliViews se charge de corriger l’erreur et redirige vers le fichier wp-login.php à la barbe de iThemes Security.
Arg !
Comment savoir si mon site est atteint ?
C’est simple. Ajoutez « wp-login » à la suite de l’adresse de votre site. Comme dans l’illustration ci-dessus. Si vous voyez apparaître la fenêtre de connexion de WordPress c’est que l’option est activée.
Il y a toujours une solution
Pour désactiver l’option MultiViews, il suffit d’ajouter la ligne suivante dans le fichier .htaccess placé à la racine du site.
Options -Multiviews
Si vous aussi, vous avez constaté ce problème chez votre hébergeur, merci de le signaler dans les commentaires afin que chacun profite de l’info et de la solution.
Après avoir posté le problème sur le forum WordPress d’iThemes, j’ai signalé la faille à iThemes Security. Je ne manquerai pas d’ajouter leur réponse à cet article.
Après une semaine un début de réaction du côté d’iThemes au sujet de la faille MutliViews.
Un train peut en cacher un autre
Un problème vient de trouver une solution. C’est bien.
La modification d’un système informatique peut parfois avoir des conséquences inattendues. On appelle cela, de façon élégante, un « effet de bord ». Restons vigilant afin de ne pas subir les répercussions imprévues qui pourraient apparaître à l’avenir… ou pas.
Pour aller plus loin…
- Il semblerait que l’option MultiViews pose des problèmes au niveau SEO article datant de 2005.
- D’autre conseils de sécurités fournis par l’incontournable WP Formation : Sécuriser et protéger WordPress avec HideMyWP et 15 rappels de Sécurité pour WordPress.
- Sans oublier Julio Potier qui en matière de sécurité WordPress en connaît un bout.