J'ai récemment été fréquenté par des messages d'erreur erronés de mod_security. Ses ensembles de filtres couvrent les exploits PHP obsolètes, et je dois réécrire mes trucs parce que Wordpress & Co avait des bugs il y a des années.
Est-ce que cela arrive à quelqu'un d'autre?
Apache mod_security bloque les requêtes HTTP potentiellement dangereuses avant qu'elles n'atteignent les applications (PHP en particulier). Il utilise divers ensembles de filtres, principalement basés sur des expressions rationnelles.
J'ai donc un bon hébergeur mutualisé, techniquement apte et tout ça. Mais cela m'a dérangé:
La semaine dernière, j'ai dû changer le nom d'un paramètre &src=
dans l'une de mes applications, car mod_security bloque TOUTES les demandes avec cela. Je n'ai pas recherché ses détails, mais cette règle de filtrage empêchait l'exploitabilité d'une autre application que je n'utilise pas et dont je n'avais probablement jamais entendu parler. J'ai quand même dû réécrire mon code (renommer un paramètre suffit souvent à tromper mod_security) qui n'avait rien à voir ou en commun avec ça!
Et aujourd'hui, un regex stupide bloque les soumissions de formulaires, parce que je voulais soumettre un exemple de code php. Étant donné que c'est le truc simple contre lequel mod_security est là pour se protéger. Mais je ne crois pas que mod_security puisse détecter du code sérieusement obscurci, et se déclenche simplement à des extraits de php évidents (et dans ce cas totalement triviaux).
Fondamentalement, je suis pénalisé par mod_security parce que d'autres personnes ont publié des applications sujettes aux bogues. (Je ne dis pas que mes applications sont ultra sécurisées - je suis plutôt méfiant en matière de sécurité, mais je ne fais aucune déclaration hyperbolique.)
J'ai déjà demandé à mon fournisseur de le désactiver de toute façon, les avantages sont trop minuscules IMO et pour mes applications.
Qu'est-ce que tu penses? Mod_security a-t-il beaucoup de sens en dehors de l'hébergement WP? Ou est-ce vraiment juste un tas de listes noires de bogues de sécurité passés depuis longtemps? Lesquelles de ses règles sont réellement utiles? Existe-t-il un niveau d'application équivalent?
<?php doBadStuff(); ?>
ne lancera pas cette fonction. (Sauf si vous utilisezeval
bien sûr ce qui est mal de toute façon.)