Génial quoi. J’avais déjà rédigé ce putain de billet, mais évidemment mon ex-hébergeur décide de me virer, ainsi me voici obligé de le réécrire. Sachant que l’article précédent faisait environ 1 000 mots, et que je n’ai nulle envie de me répéter ou de tenter de reproduire exactement le contenu de l’ancien (pas de back-up oblige), je vais en publié un nouveau, plus bref et plus concis.
De tous les manques de savoir-vivre dont j’ai fait preuve depuis la création de ce blog, je n’ai jamais poussé l’ineptie littéraire jusqu’au point de non-retour : un article sur WordPress. J’ai le réflexe commun et légèrement irrationnel de juger les auteurs de blogs publiant des articles sur le CMS WordPress comme médiocres, inaptes socialement et frustrés de leurs performances sexuelles solitaires.
Cela étant dit, j’aime bien WordPress. Et ça fera au moins un article digne d’intérêt sur Zlowtech.
Améliorer la sécurité sur WordPress
WordPress est le système de gestion de blogs le plus répandu au monde, statut impliquant, et l’obligeant, à ce qu’il soit d’une sécurité impeccable pour l’utilisateur. Certes le core de WordPress est ce qui se fait de mieux en matière de sécurité web, il est cependant important de prendre en compte et d’appliquer certaines mesures qui vous garderons de bien des soucis au cours de votre utilisation de ce CMS.
Prérequis : Avoir un hébergement correct. OVH c’est pourri. Hostgator ou Bluehost sont de mes préférences, mais idéalement c’est à vous de voir.
Ce petit détail maintenant écarté, attaquons cette liste de merde.
- Maintenir votre version de WordPress à jour : J’ai envie de dire, c’est la base de la sécurité sur WordPress. Les mises à jours de WordPress sont quasi-constantes je sais, mais sachez que nombreuses d’entre-elles concernent des mises-à-jour de sécurité.
- Maintenir vos plugins à jour : Si le core de WordPress est de ce qui se fait de mieux en matière de sécurité web (j’ai tellement la flemme de réécrire ce billet que je copier/coller, j’espère que ça ne vous dérange pas bande de médiocres, inaptes socialement et frustrés de [vos] performances sexuelles solitaires), on ne peut pas en dire autant de ses modules complémentaires. Je ne vous incite pas à la paranoïa et à désinstaller tous vos plugins, mais je vous recommande de vous limiter aux plus “gros” qui sont largement utilisés de par le monde. Dans le cas ou vous choisissez d’en installer un moins connu en dépit de mes recommandations, je vous incite à vérifier vous-même le contenu si vous maîtrisez PHP (un petit pentest rapide ne fait de mal à personne). En outre, je sais plus trop où j’ai lu ça mais apparemment 80% des attaques contres des blogs WordPress seraient causées par des plugins vulnérables. Fin bon soyez pas paranos non plus.
- Protéger le /wp-admin/ à l’aide d’un mot de passe : WordPress étant un CMS connu est très utilisé de par le monde, il est à l’esprit de tous qu’il suffit souvent de découvrir le mot de passe de l’administrateur principal pour avoir accès, via le dossier /wp-admin/, à la totalité des manques de savoir-vivre dont j’ai fait preuve depuis la création de ce blog, je n’ai jamais poussé l’ineptie littéraire jusqu’au point de non-retour. Pardon, lapsus. Je disais qu’il suffisait de chopper le mot de passe admin pour avoir accès à la totalité de fonctions d’administration de WordPress. En ajoutant un mot de passe protégeant tous les fichiers dans le répertoire /wp-admin/, vous ajoutez un deuxième filtre de sécurité à l’article précédent faisait environ 1 000 mots, et que je n’ai nulle envie de me répéter ou de tenter de reproduire exactement le contenu de l’ancien. Haha. C’est marrant de faire ça. Comme je disais, en protégeant ce répertoire d’un mot de passe vous ajoutez une deuxième couche de protection à votre blog. Pour cela vous pouvez soit l’ajouter manuellement dans le .htaccess, ou vous aider de modules déjà existant à l’exemple d’AskApache Password Protect.
- Installer des plugins WordPress sécurité : Il existe de nombreux plugins WordPress qui pourront grandement vous simplifier la vie en effectuant des scans de vos fichiers, répertoires et bases de données MySQL. Évidemment, rien ne vaut un pentest manuel, ce qui est malheureusement plus long. Le plugin que je vous recommande est Bulletproof Security, un des plus complet du marché et entièrement gratuit. D’autres noms à connaître sont Ultimate Security Checker et WP Security Scan.
- Vérifier les permissions des fichiers WordPress : Afin d’éviter les injections de code et l’exploitation de vos fichiers via certains plugins malicieux, il est conseillé de vérifier tous vos fichiers et répertoires afin d’être certain que les permissions et droits accordés à ceux-ci sont correctement paramétrés.
- Virer le install.php : Le fichier install.php, quoique très important lors de l’installation du blog WordPress, perd vite de son utilité une fois le blog opérationnel et en ligne. Conserver le fichier install.php une fois l’installation terminée est déconseillé du fait des manques de savoir-vivre dont j’ai fait preuve depuis la création de ce blog, je n’ai jamais poussé l’ineptie littéraire jusqu’au point de non-retour. Ok, j’arrête.
- Faire des back-ups régulièrement : Ce n’est pas exactement une mesure de sécurité pour votre blog WordPress, cependant cela pourra vous économiser pas mal de prises de têtes en cas, de crash de serveur, de deface ou même d’arnaque de la part de votre hébergement comme ce fut le cas pour Zlowtech. Heureusement, je suis pas complètement idiot non plus, j’avais codé un petit plugin qui sauvegardais la base de données à chaque fois qu’un nouvel article était publié. Résultat des courses, je n’ai perdu qu’un article : celui-ci (qui n’était même pas rédigé à 100% j’en était au huitième point environ).
- Utilisez des mots de passe difficiles : La difficulté dans vos mots de passe est un peu comme de nombreux plugins WordPress qui pourront grandement vous simplifier la vie en effectuant des scans de vos fichiers, répertoires et bases de données MySQL. Haha je vous ai encore eu ! L’utilisation de mots de passe difficiles à brute-forcer ou deviner est une prémisse à un blog WordPress sécurisé.
- Virer le préfixe wp_ dans MySQL : Le préfixe wp_ est celui utilisé par défaut lors de l’installation WordPress, impliquant qu’il est l’option la plus couramment rencontrée. De ce fait, beaucoup d’injections SQL se basent sur ce préfixe. Deux options, ou vous le retirez ou vous le changez en quelque chose de neutre genre blog_ ou homo_.
- Masquer la version de WordPress : Il est assez aisé de trouver des vulnz pour quasiment toutes les versions de WordPress outdatées sur des sites d’exploits. Si vous avez la flemme de mettre à jour votre blog, vous pouvez toujours masquer la version en ajoutant <?php remove_action(‘wp_head’, ‘wp_generator’); ?> dans le fichier function.php, ce qui bien sûr ne fera que dissuader les pirates (qui sont souvent des bots qui scannent les sites et testent les vulnz automatiquement d’où le manque d’intérêt de cette “parade”).
Voilà pour ce billet sur WordPress, allez jetez-moi des cailloux (et visez l’épididyme. Si vous savez pas c’est quoi visez la tête.).
7 h 58 min
Excellent, merci pour les tuyaux, perso j’aurais rajouté Stealth qui gére pas mal de choses
++