Parmi les plugins de sécurité les plus utilisés sur WordPress, on peut en citer deux qui se tirent vraiment la bourre sur le partage du marché : Wordfence, et iTheme Security. Ici, on fait un petit point sur les réglages de iTheme Security, parce quâil y en a quand même beaucoup, et que câest pas toujours facile de faire le tri. Jâutilise ce plugin depuis quelques années, et câest celui qui mâa fait le moins de misères ?
RÃGLAGES PRINCIPAUX
La liste et les explications de tout ce qui figure sur les réglages principaux de ce plugin de sécurité !
Ecrire sur les fichiers
Ce réglage permet à iTheme Security dâécrire sur le fichier wp-config.php (qui gère la connexion à la base de données et dâautres directives) et sur le .htaccess (sécurité, réécriture dâURL, interdiction de certains user-agent etc.). Si vous ne cochez pas la case, il faudra inscrire les réglages à la main, donc je vous conseille très fortement de cocher cette petite caseâ¦
E-mail de notification
E-mail de notification, câest la ou les adresses vers lesquelles les notifications du plug-in sont envoyées. à remplir obligatoirement.
Envoyer un e-mail de résumé
La fonction « résumé » permet de nâenvoyer quâun seul e-mail par jour, ça peut éviter de pourrir à votre boîte mail si vous subissez beaucoup dâattaques. à cocher, ou pas, câest comme vous voulez.
E-mail dâenvoi de la sauvegarde
Adresses qui réceptionnent les sauvegardes qui sont faites par e-mail. Nâenvoyez pas les backups de la base de données à nâimporte qui ! Typiquement, câest réservé aux supers administrateurs du site.
Message de blocage dâhôte
Quand un ordinateur distant a été bloqué, on peut afficher un message personnalisé. Ici, « error » tout seul, ça suffit. Ne vous embêtez pas à passer du temps sur ce champ.
Message du blocage dâutilisateur
Si vous avez banni un utilisateur, vous pouvez lui notifier cette action grâce à ce champ. Par exemple, si votre utilisateur sâest trompé trop de fois lors de ses tentatives de connexion, vous pouvez indiquer de vous envoyer un mail, ou de patienter le temps quâil soit dé-banni par le plug-in.
Message de blocage de communauté
Le réseau iTheme sécurité liste les utilisateurs qui sont des spammeurs, ou de méchants pirates. Si leur IP est cramée sur le réseau, vous pouvez leur afficher un petit message.
Liste noire des offenseurs récidivistes
Cette case à cocher permet de remplir la base de données des utilisateurs bloqués sâils ont effectué trop dâattaques.
Seuil de la liste noire
Le seuil de la liste noire, câest le nombre de blocages requis sur un laps de temps donné pour que lâutilisateur soit banni par le système. Trois blocages par défaut.
Période de Lookback de la liste noire
Le laps de temps dont on vient de parler. Par défaut, câest sept jours. Donc, si un utilisateur se bloque 3 fois de suite sur une période de 7 jours glissants, il est banni du site. Pour toujours !
Période de blocage
Si un utilisateur fait trop dâerreurs en essayant de se connecter, il sera banni pendant le nombre de minutes défini ici.
Liste blanche de blocage
La liste blanche, câest simplement les IP qui échappent à tout contrôle pour la procédure de blocage. Il est très fortement conseillé dâajouter votre adresse IP à cette liste. Vous pouvez également ajouter des plages dâadresses. Suggestion : IP de Googlebot. Lui, on lui pardonne tout !
E-mail de notification des blocages
Pour recevoir un e-mail quand un utilisateur sâest banni du système. Pratique quand vous avez un client un peu maladroit qui fait un peu nâimporte quoi : ça permet de lui envoyer un e-mail pour lui expliquer la procédure de connexion, lui rappeler ses identifiants et mots de passe si il les a oubliés. Et éventuellement, de restaurer sa connexion sur le site.
Type de journal
Le type de journal, câest la façon dont vous enregistrez les événements sur votre site. Vous pouvez choisir entre lâenregistrement uniquement par fichier de log, enregistrement dans la base de données, ou les deux.
Jours pour conserver les journaux de la base de données
Le nombre de jours pendant lesquels vous conservez les logs de la base de données. Ou les fichiers de log tout court.
Chemin vers les journaux
Le dossier de votre serveur dans lequel les fichiers de logs sont enregistrés.
Autoriser le suivi de donnée
Pour permettre à iTheme Security de collecter les données de façon anonyme. Pour améliorer leur service très probablement. Ou vous vendre un produit sur-mesure. Rien nâest gratuit sur le webâ¦
Cacher le menu « Sécurité » dans la barre dâadministration
Pour cacher le menu de iTheme Security dans la barre de gauche.
Show Error Codes
Celui-là est très important. à chaque fois que vous essayez de vous connecter, et que vous faites une erreur, le serveur renvoie un code pour indiquer par exemple « mauvais mode passe pour ce nom dâutilisateur ». Ici, ça voudrait dire que le nom dâutilisateurs est bon, mais que le mode passe est incorrect. Pour un pirate, câest du pain béni, puisquâil nâa plus quâà faire tourner un dictionnaire de mode passe pour rentrer. à mettre donc sur « non » par défaut.
La détection des erreurs 404
Une erreur 404, câest quand un utilisateur demande un contenu qui nâest pas là . Le serveur répond « je nâai pas ce que tu demandes ». Mais beaucoup dâerreur 404 à la suite, câest suspect : ça peut être un script qui cherche une faille de sécurité sur votre site. Donc lui, on le bannit !
Temps pour se souvenir des erreurs 404 (temps de vérification)
Câest le laps de temps pendant lequel les erreurs 404 doivent être comptabilisées.
Seuil dâerreur
Câest le nombre dâerreurs autorisées pendant ce laps de temps avant de déclencher un blocage.
Fichiers / Répertoire dans la liste blanche 404
Ce sont les fichiers qui échappent à ce contrôle. Si par exemple vous nâavez pas de favicon sur votre site, ça peut être utile de lâindiquer ici. Histoire, justement, de ne pas bannir un navigateur ou un robot qui cherche ce fichier en particulier.
Ignorer les types de fichiers
Les types MIME qui échapperont à cette détection de 404. Par exemple, vous pouvez lister tous les formats images que vous utilisez, les polices de caractère, les CSS etc.
Le mode absent
Le mode absent, câest la définition du temps où vous ne vous connectez jamais à votre back office. Donc, tout tentatives de connexion en dehors du créneau renseigné : ban ! Regardez bien dans la vidéo, je me plante magistralement en inversant les deux créneaux horaires (et jâai refait la même erreur à la config, donc soit je suis mauvais, soit leur présentation nâest pas ergonomique du tout !)
Type de restriction
Si vous mettez quotidien, les réglages seront généralisés, ad vitam aeternam. En revanche, si vous indiquez « une fois », câest pour définir une plage de date bien particulière. Par exemple, un départ en vacances.
Heure de début
Le moment de la journée le back office doit être indisponible. à partir de là , connexion interdite jusquâà lâheure de fin.
Heure de fin
Le moment de la journée où le back office doit être disponible à nouveau.
Utilisateur banni
Cette fonctionnalité permet de bannir totalement les User-Agent indésirables sur votre site. On peut aussi fonctionner avec des adresses IP ou des plages dâadresses IP. Top pour bannir une liste de pays. Si par exemple votre site est 100 % français, vous pensez vraiment quâun utilisateur Indien ou Russe va taper une requête en français dans son moteur de recherche pour trouver un sujet en français ? Non. Donc, on peut bannir une liste de pays. Attention, ça affectera aussi les moteurs de recherche. Sauf si vous les avez listés dans la white list vu précédemment. A utiliser avec parcimonie.
Liste noire par défaut
Permet de griller les robots malveillants qui sont listés sur hackrepair.com
Ban List
Pour ajouter vous-même des hôtes bannis, par leur adresse IP, ou par User-Agent. Si par exemple, je nâaime pas Internet Explorer, je peux bannir tous les utilisateurs qui utilisent Internet Explorer.
Local Brute Force Protection
Là , câest pour vous protéger des attaques de type brute force. Ãa permet de filtrer les utilisateurs qui vont tenter de se connecter par exemple au back office en utilisant des noms dâutilisateurs « classiques » et des dictionnaires de mot de passe. Ce type dâattaque sâappelle une attaque brute force. Pour moi, câest un des réglages les plus importants du plug-in.
Maximum de tentatives de connexion atteinte par hôte
Câest le nombre de fois où vous avez droit à lâerreur avant dâêtre bloqué ! Si vous ajoutez votre adresse à la white-list, vous échappez ce processus. Ici, le filtrage se fait sur lâadresse IP ou le nom dâhôte.
Maximum de tentatives de connexion atteinte par utilisateur
Même chose que précédemment, mais ici, câest le nom de lâutilisateur qui est visé. Attention, si votre nom dâauteur, câest également votre nom dâutilisateur en back-office, et que quelquâun fait le mariole, vous en paierez. On verra donc un peu plus loin quâil est fortement conseillé de ne pas utiliser en nom de connexion votre nom dâauteur, et également de cacher lâadresse de connexion au back-office.
Temps pour se souvenir des mauvaises tentatives de connexion
Câest le délai pendant lequel les mauvaises connexions doivent être enregistrées. Pas la peine de mettre des heures, en général après quatre ou cinq tentatives de connexion infructueuse, on a le réflexe de cliquer sur « jâai oublié mon mot de passe » â¦
Bannir automatiquement lâutilisateur admin
Case à cocher impérativement : tout utilisateur qui tentera de se logger avec le nom « admin » sera banni automatiquement. Attention, ne cochez pas cette case là si vous utilisez vous-même ce nom ! Changez dâabord votre nom dâutilisateur, et ensuite seulement, vous pourrez cocher la petite caseâ¦
Sauvegarde de la base de données
Un must ! Câest ici que vous allez pouvoir programmer des sauvegardes automatiques de votre base de données. Notez bien que ça ne sauvegarde pas les fichiers, pour ça, on pensera une autre solutionâ¦
Sauvegarder lâensemble de la base de données
Cette petite case à cocher vous permet de sauvegarder toutes les tables de la base de données, même si ça concerne un plug-in, ou une table que vous avez inséré à la main pour une autre application. à vous de voir si câest utile ou pas dans votre cas.
Méthode de sauvegarde
Un bouton select pour voir si vous enregistrez des sauvegardes sur votre serveur, si vous les envoyez uniquement par mail, ou si vous faites les deux en même temps
Emplacement de sauvegarde
Lâadresse du dossier dans lequel les fichiers de sauvegarde seront placés par le système.
Sauvegarde conserver
Le nombre de sauvegardes que vous pouvez stocker. Nâen mettez pas trop, ça prend de la place ces petites bêtes là ! Entre trois et cinq sauvegardes, câest bien.
Compresser les fichiers de sauvegarde
Câest une case que je vous recommande de cocher, mais pour ça, il faut que vous ayez un logiciel de compression sur votre serveur. Si vous êtes sur un noyau Linux, il y a de fortes chances que ce soit le cas, et pour nous ici, sur les VPS OVH, il y a tout ce quâil faut. Compresser la sauvegarde permettra de réduire considérablement le poids du backup. Pratique si vous envoyez des sauvegardes par e-mail.
Exclure les tables
Câest là que vous choisissez les tables que vous ne voulez pas sauvegarder.
Sauvegarde la base de données planifiées
La petite case à cocher indique que vous acceptez de faire des sauvegardes récurrentes en mode automatique. à cocher !
Intervalle de sauvegarde
Le nombre de jours entre lesquels vous ne faites pas de sauvegarde. Si vous mettez par exemple cinq jours, ça veut dire que vous aurez une sauvegarde tous les cinq jours. à vous de voir ce que vous mettez, en fonction de la fréquence de vos publications.
Détection de changement de fichiers
Cette fonction sert à détecter sâil y a eu des modifications de faites sur les fichiers de votre site. Cela vous dira par exemple si vous avez ajouté des fichiers, supprimé des fichiers, ou fait des modifications. Ãvidemment, si vous utilisez un système de cache, le mail récapitulatif sera plein tous les jours, car les fichiers de cache sont en général mis à jour plusieurs fois au cours dâune période de 24 heures.
Découpe les fichiers pour lâanalyse
Cette case à cocher permet de segmenter lâanalyse des fichiers. Recommandé si vous avez un serveur qui nâa que peu de mémoire. Sinon, ça va ramer à fond !
Inclure ou exclure des fichiers et des répertoires
Bouton sélect pour inclure ou exclure les fichiers qui suivent juste derrièreâ¦
Liste des fichiers répertoire
Ce sont les fichiers et dossiers qui doivent échapper à ce contrôle de modifications. Perso, je ne remplis même pas. Tout est inclus. Parcourir le mail de résumé ne prend que quelques secondes. Ne vous embêtez pas avec ça.
Ignorer les types de fichiers
Les fichiers qui échappent à ce contrôle. Typiquement, tout ce qui est statique, ça ne craint pas grand-chose (les fichiers médias, les images etc.).
Envoyer par e-mail les notifications de changements de fichiers
La petite case à cocher pour recevoir le mail qui vous dit ce qui se passe sur votre serveur.
Afficher les avertissements de modification de fichiers
Pour afficher un avertissement qui vous dit si des fichiers ont été modifiés récemment. Vous pouvez lâutiliser si vous ne recevez pas lâe-mail de notification. Mais les deux en même temps, ça ne sert à rien, câest redondant.
Network brut force protections
Exactement comme la protection par brute force pour les attaques locales, sauf quâici, vous transmettez les données à tous les utilisateurs du réseau iTheme Security.
SSL
Celui-là , évidemment, vous ne pouvez utiliser que si votre serveur accepte les connexions SSL, et que vous avez bien configuré votre Virtualhost. Ici, câest le cas, donc on va carrément tout mettre en SSL, comme ça, câest réglé.
Mode SSL pour le front dâoffice
Ici, vous avez trois options :
- Non : aucun contenu du front dâoffice ne sera en https
- Par contenu : quand vous créez un article ou une page, vous aurez une petite case à cocher pour indiquer que lâadresse doit être en https.
- Site entier : pour que le front-office soit full https. Si câest pour un nouveau site, vous pouvez cocher ça, normalement Google devrait aimer.
SSL pour le tableau de bord
Permet de forcer lâutilisation du SSL pour accéder au back office. à cocher !
Strong Password Enforcement
Ce réglage permet de sélectionner un rôle minimum à partir duquel un utilisateur doit choisir un mode passe qui sera difficile à casser. Perso, je recommande le mot de passe fort pour tout le monde, mais je suis parano.
Modification système
Que des choses utiles ici, puisque ça va empêcher lâaccès à certains fichiers sensibles, et empêcher lâinjection de hack via la barre dâURL.
Système de fichiers
Cette petite case à cocher empêche lâaccès à certains fichiers de votre site. à cocher !
Exploration de répertoire
Cocher la petite case empêche les utilisateurs de lire ce quâil y a dans un répertoire si aucun fichier « index » nâest présent. à cocher !
Méthode de requêtes
Le back-office dit que câest pour filtrer les hits avec les traces de passage. Je nâai jamais vraiment su à quoi ça servait. Mais je coche. Je me sens mieux comme ça.
Requêtes de chaînes de caractères suspects
à cocher ! Si une requête est envoyée dans lâURL avec des chaînes de caractères « bizarres », ça bloque tout. Donc, techniquement, câest pour filtrer les attaques par requête. à cocher !
Caractères dâanglais
Là , si vous êtes français, vous ne pouvez pas cocher ça. Sinon, certaines fonctionnalités de votre site ne fonctionneront pas. Les envois de mails par certains modules par exemple. Pour une fois, à ne pas cocher !
Chaînes longues URL
à cocher ! Celle-là filtre les chaînes de caractères ultra-longue dans lâURL, un truc caractéristique des attaques par injection.
Permission dâécriture sur les fichiers
Tout simplement pour retirer les permissions dâécriture sur certains fichiers sensibles (wp-config.php et htaccess). à cocher !
Fichiers envoyés
La case à cocher permet de désactiver PHP dans le dossier « uploads ». Je trouve ça tout simplement hallucinant que ce ne soit pas déjà le cas en natif. Le dossier upload ne doit contenir que des fichiers statiques !
Modification WordPress
Entête Windows live Writer
Pour désactiver le header Windows live Writer. Un truc de dinosaure créé par Microsoft, donc double raison de le bannir !
Modifier URI dâen-tête
Permet de désactiver lâen-tête RLD. Si votre site ne communique pas avec un autre système comme Flickr, ça ne sert à rien. à bannir !
Commentaires indésirables
Ãa permet de réduire le spamco. Couplé à Akismet, ça devrait faire les pieds spammeurs ! à cocher !
Ãditeur de fichiers
WordPress permet dâéditer les fichiers situés sur le serveur, en passant directement par un éditeur interne. Grosse faille de sécurité. à cocher. Attention, vous devrez procéder aux modifications de ces fichiers par ftp par exemple. Perso, je ne connais personne qui laisse cette fonction active. Trop risqué.
XMLâRPC
XML RPC, câest un système qui ne devrait plus être utilisé, tant câest une faille de sécurité critique. Néanmoins, ça sert encore avec le plug-in jet pack, les ping-back, et la publication à distance. Je nâutilise jamais cette fonctionnalité sur WordPress. Donc, vous pouvez le désactiver.
Mais attention, si des marioles sâamusent à pinger ce fichier à fond, ça va générer beaucoup dâerreur 403, et ça fait monter la charge sur apache, qui va bouffer toute la RAM. Dans un prochain tutoriel, on verra comment on peut passer le relais à fail2ban, qui bannira proprement et gentiment les abrutis qui essaient de vous hacker.
Plusieurs tentatives dâauthentification par requête XMLâRPC
Si un utilisateur tente de se connecter à ce fichier de nombreuses fois, on peut le bloquer. Pour lâinstant, mettez sur « bloquer », mais dans prochain tutoriel, on bannira lâutilisateur indésirable grâce à fail2ban.
Remplacer JQuery par une version sécurisée
Si vous utilisez un vieux thème, dont la version de JQuery nâest pas à jour, ça peut être une faille. Cette option permet de la mettre à jour. Pas forcément conseillé de lâutiliser, puisque ça peut casser votre thème. A vous de voir.
Message dâerreur de connexion
Même topo que précédemment : ça empêche lâaffichage de messages dâerreur pour les utilisateurs qui se sont plantés à la connexion. Pratique pour ne pas indiquer un pirate quâil a le bon login, mais pas encore le bon mot de passeâ¦
Forcer un surnom unique
à mettre en place avant de publier quoi que ce soit si votre site est tout neuf ! Ãa permet dâavoir un nom dâutilisateur différent de celui que vous utilisez en tant quâauteur, pour la connexion au back-office . à cocher donc.
Désactiver les archives en extra des utilisateurs
Si un auteur nâa rien rédigé, il nâa pas de pages dâarchives. Ãa complique un peu la tâche pour les robots malveillants. à cocher !
Salage WordPress
Les salages WordPress sont une clé secrète qui permet de rendre votre site plus difficile à attaquer. Vous pouvez utiliser cette fonction pour changer vos salages WordPress de temps en temps. Faites quand même un backup auparavant⦠on ne sait jamais !
LES FONCTIONS AVANCÃES DE ITHEME SECURITY
Les fonctions avancées sont un peu planquées, mais méritent le détour ! Elles permettent dâaméliorer encore plus la sécurité de votre site !
Cacher lâadministration
Câest de loin la fonction la plus marrante du plug-inâ¦
Cacher lâadministration
Petite case à cocher pour activer la fonction de tableau de bord caché : vous allez pouvoir créer une adresse de connexion personnaliséeâ¦
Identifiant de connexion
Câest ici que vous rentrez le nouveau slug de lâadresse de connexion. Un truc difficile à deviner si câest possibleâ¦
Activer la redirection
La petite case à cocher pour renvoyer vers une page dédiée pour les malins qui cherchent wp-admin ou wp-login, plutôt que de générer une vieilles 403. Soyez créatifs et faites preuve dâhumour !
Identifiant de redirection
Le slug de la page vers laquelle vous renvoyez aux utilisateurs malveillants qui essaient dâaccéder au back-office.
Action de connexion personnalisée
Si vous avez une action personnalisée à insérer, câest ici.
Changer le répertoire de contenu
Cette option permet de modifier le nom du dossier wp-content. Câest un peu un gadget, parce que les robots modernes sont capables de trouver le répertoire en question, donc ne faites pas attention à cette option-là , elle risquerait de vous attirer beaucoup plus de problèmes que dâavantagesâ¦
Changer le préfixe des tables
Si vous avez suivi les tutos précédents, vous avez déjà des tables qui ne commencent pas par « wp_ ». En effet, câest fortement recommandé de ne pas utiliser le paramétrage par défaut de wordpress pour le préfixe des tables, puisque ça facilite un hack éventuel. Donc, si vos tables commencent toujours par « wp_ », câest ici que vous pouvez les changer. Avant toute opération « radicale » sur la base de donnée, on fait toujours une sauvegarde ! Donc ici, faites bien un backup avant de procéder à cette mise à jour !













