Un pare-feu léger pour votre WordPress
Autant vous l'avouer tout de suite, je n'ai jamais été très chaud pour installer un pare-feu (firewall) sur mes sites, trop angoissé à me retrouver bloqué à l'extérieur ou planter le site sans pouvoir le récupérer. Et puis je disais la même chose des plugins de cache et finalement j'en ai installé un. Et le plugin de protection du fichier wp-login.php n'arrêtait pas de me lancer des messages d'alerte comme quoi le site subissait une attaque. J'ai fini par me dire que je ne risquais pas grand chose à faire un test.
NinjaFirewall n'est pas le plus connu des pare-feu WordPress – le plus populaire étant probablement Wordfence – mais en tombant sur un comparatif ou je ne sais quoi, j'ai été séduit par la mise en avant du fait qu'il n'alourdissait par WordPress lui-même.
NinjaFirewall est en effet un pare-feu générique conçu pour protéger tout script PHP. Il va donc s'interfacer entre les visiteurs et le site lui-même, réduisant les effets négatifs des attaques contre votre WordPress puisque les méchants n'arrivent même pas aux fichiers WordPress. Enfin, c'est ce que j'ai cru comprendre…
Il est un peu difficile de lister toutes les possibilités de ce genre de plugin aussi vais-je commenter les options.
Installation et lancement
L'installation est assez stressante. J'ai conservé les réglages par défaut dans un premier temps.
Pour la dernière étape, le plugin propose la création d'un fichier php.ini qui lancera le script lui-même. En cas d'échec, le plugin ne pourra pas fonctionner.
Il se trouve que de nombreux hébergeurs ne permettent pas l'utilisation de plusieurs php.ini sur leur installation ( et il y en a un qui tourne déjà par défaut ). Il est alors conseillé de passer le réglage à .user.ini. C'est d'ailleurs le réglage qui fonctionne chez mon hébergeur et chez OVH.
Vous allez obligatoirement voir ce message qui annonce que le pare-feu ne fonctionne pas. Il faut en effet que le fichier ini définit précédemment soit pris en charge par votre hébergement. Et cela ne se fait qu'en relançant PHP sur votre serveur. Certains hébergeurs permettent à leurs utilisateurs de le faire manuellement sinon il vous faudra attendre cinq minutes pour que ce soit pris en compte (c'est bien le cas sur OVH).
Au moment de l'installation, le plugin génère un mail qui vous liste toutes les adresses utiles en cas de problème. Pratique.
Options
Vous remarquerez que vous pouvez personnaliser un message qui s'affichera pour un visiteur suspect mais néanmoins bloqué qui est invité à vous contacter avec un numéro de suivi. Le numéro d'incident permet de cibler quelle règle du plugin est en cause et vous pouvez la désactiver éventuellement – cf. plus loin.
Réglages
J'ai tout laissé en réglages par défaut. SAUF la règle sur l'API XML-RCP que j'ai bloquée – cible de nombres d'attaques. Si vous n'en avez pas l'usage – vous n'envoyez pas vos billets par mail ou avec un autre logiciel externe, je vous conseille de la protéger. Attention : la fonction peut être utile pour certaine fonctionnalités Jetpack.
Protection de fichier
Vous prévient si un script PHP a été installé et utilisé.
Création d'une sauvegarde
Le plugin crée une sauvegarde de TOUS vos fichiers pour vérifier si ils sont modifiés sans votre consentement. C'est une tâche très gourmande à n'utiliser que si votre hébergement est costaud. J'ai préféré m'en passer.
Alertes
Politique d'alerte par email pour chaque cas listé.
Protection du login et du XMLRPC
C'est la cible préférée des pirates qui cherchent à cracker vos identifiants d'administrateurs. NinjaFirewall bloque l'accès aux fichiers en question en cas d'attaque – vous précisez les conditions – et les protège par un nouvel identifiant et mot de passe qu'il vous faudra entrer en cas de tentative de connexion de votre part durant une attaque. Notez-les donc soigneusement puisqu'ils peuvent/doivent être différents de vos login de connexion à l'administration !
Attention : la fonction XMLRPC peut être utile pour certaine fonctionnalités Jetpack.
ATTENTION : le plugin souligne bien le fait que cette protection ne sera pas désactivée si vous désactivez le plugin. Il faudra passer par cette option pour supprimer ce réglage avant de désactiver le plugin ! Depuis sa dernière version, la protection est désactivée automatiquement si vous désactivez le plugin.
Mise à jour de la version 3.3.0 : cette fonctionnalité peut être remplacé par un captcha, bien pratique pour ceux qui oublient leurs mots de passe.
Log des attaques
Le plugin liste les attaques que vous subissez et supprime régulièrement les logs.
Surveillance en direct
Vous pouvez suivre en direct l'activité bloquée sur le site.
Réglages et mises à jour
NinjaFirewall a une liste de réglages qu'il vous propose de mettre à jour régulièrement suivant l'actualité des failles WordPress.
Log en accueil et en résumé
Mise à jour de WordPress
Lorsque vous faites une mise à jour de WordPress, vous recevrez des messages d’alerte de Ninja Firewall qui vont signaler l’utilisation de nouveaux fichiers PHP qui correspondent aux fichiers installés par la mise à jour. Il n’y a donc pas lieu de s’inquiéter.
Désinstallation
Le plugin ne peut pas être désactivé en supprimant juste son répertoire par exemple puisque le fichier ini qui le lance existe toujours. Il faut donc le désactiver/supprimer à partir de l'administration.
En cas de problème, referez-vous à la documentation officielle : https://nintechnet.com/ninjafirewall/wp-edition/help/
Conséquence inattendue et conclusion
J'ai toujours eu une administration un peu fainéante et j'ai toujours mis cela sur le compte du nombre assez important de plugins que j'utilise côté administration. Après installation de NinjaFirewall, j'ai constaté une nette amélioration de ce côté-là. Coïncidence ou réalité ?
J'aime beaucoup la philosophie du plugin qui cherche à alléger votre installation WordPress des attaques extérieures mais, en contrepartie, la gestion de problème ou la désinstallation nécessite un peu de connaissances et de doigté. Mais il me semble que c'est le cas pour la plupart des plugins de ce type.
Il existe une version payante – abonnement annuel – du plugin qui permet une gestion plus fine et une meilleure gestion des attaques.
site WP du plugin : https://wordpress.org/plugins/ninjafirewall/ ‑ version testée : 1.4
Bonsoir,
jamais mis de plugin de sécurité, je trouve que c'est un truc à la mode, déjà si on maintient à jour son site, on diminue les risques, puis quelques codes dans le fichier .htaccess pour protéger, ne pas utiliser l"identifiant Admin, en créé un autre, créer aussi un autre compte niveau Editeur, pour écrire ses articles et ses pages.
Désactiver l'éditeur de thème, enfin quelques trucs, et votre site sera quasiment sûr, sans plugin de sécurité.
Malheureusement, mettre à jour ne signifie pas une protection assurée (par exemple une extension abandonnée sur laquelle on trouve une faille). L’extension de sécurité permet d’avertir le propriétaire quand il se passe des choses suspectes en cas de faille. Et elle a le grand avantage à mes yeux d’alléger le site en limitant les requêtes malveillantes.
Avec un WP tout nu, je serais d’accord avec vous mais dès que l’on installe des choses extérieures, il faut se méfier. Sans compter qu’un nombre importants de piratages ne sont pas dûs aux composants du site (hébergeurs, ordi local…). Je vois trop de gens piratés sur le forum pour ne pas conseiller une extension de sécurité puisqu’en général, ce sont justement les gens qui ne font pas attention à la maintenance qui se font avoir. Il vaut mieux prévenir que guérir.
Bonjour,
Excusez-moi, mais une extension abandonnée, n'est pas une extension à jour, c'est bien ce que je dis, il faut maintenir à jour son site à 100%, là nous sommes en 2017, je n'ai que des plugins mis à jour en 2017, je ne garde pas les plugins donc la dernière mise à jour date de 2016.
Je vois aussi le nombre de personnes sur le forum qui ont leurs sites de piraté, mais pardon, vous le dites, ils ne font pas attention à la maintenance de leurs sites, donc cela est bien d'une négligence de leur part.
Sur le forum, j'ai vu aussi des messages de personnes qui avaient "cassé" leurs sites avec les plugins de sécurité, souvent quand ils modifient les préfixes des tables, ou le lien pour se connecter, etc.
Je n'ai pas dit que la mise à jour garantissait la protection, j'ai dit que cela diminuer les risques, n'est-ce pas ,
Si je comprends le plugin de sécurité est là pour faire le "boulot " du webmaster.
Oui mieux vaut prévenir que guérir, d'où ma prudence des mises à jour.
Les failles de sécurité peuvent être présentes aussi dans un plugin de sécurité.
Le risque 0 n'existe pas, l'hébergeur piraté, virus sur son ordinateur, etc..
Je comprends votre point de vue, je crains juste que les gens au lieu de prendre les bonnes habitudes de maintenance d'un site, se reposent sur un plugin de sécurité.
Avant ces plugins sur le forum, vous deviez dire, mettre à jour votre site, non ?
Maintenant vous dites, installer un plugin de sécurité, n'est-ce pas ?
Comprenez-moi, je ne suis pas contre le plugin de sécurité, mais celui-ci doit être vu en complément et non de replacement du rôle du webmaster, on peut conseiller l'installation d'un plugin de sécurité, mais on doit rappeler, à l'occasion, l'important des mises à jour, de ne pas garder des plugins "obsolètes", ne pas juste les désactiver, mais les supprimer et mettre les codes nécessaires dans .htaccess.
Bien à vous
Bon, je ne conteste pas votre point de vue mais, comme je l’ai dit, une extension de sécurité peut alléger la charge du serveur et simplifie la gestion de la sécurité. Et ceci n’est pas un billet sur la sécurité en général mais sur cette extension en particulier. La sécurité en général aura droit à son petit billet, j’y songe.
Bonjour,
Est-ce que ce plugin peut remplacer WP Cerber ou pas la même fonction ?
Merci
Il y a des fonctions communes mais Cyber semble plus "complet" que Ninja. Après, ça dépend ce que vous cherchez. Moi ça me convient. Ninja est plus intéressant au niveau légèreté de fonctionnement.
Bonjour. Je viens d'installer cette extension pour la 2ème fois … après avoir renoncé une 1ère fois devant la complexité du truc.
Les captures d'écran de ton article auraient besoin d'être mise à jour, car tout est maintenant en français : ça aide un peu, mais après avoir fait 3 – 4 modifs, ce serait bien de revoir les réglages par défaut sur tes captures pour comparer. Et puis, quelques options ont été ajoutées et d'autres déplacées.
Petit conseil pour ceux qui installent cette extension : il ne faut pas désactiver l'API-REST si vous affichez un flux Instagram sur votre site.
Tu imagines s’il fallait que je reprenne tous ces articles suite aux mises à jour des extensions ? Mais je vais faire ce que je peux.