Warning: Undefined array key "size" in /home/clients/da935d49e3e876a469bc7c8f42c3695b/web/FabriceCourt/wp-content/themes/enfold/includes/loop-portfolio-single.php on line 35
Sécuriser efficacement son site WordPress
J’ai même été confronté très récemment au cas d’une cliente qui a vu son site piraté et fermé temporairement à la navigation par Google. La sécurité de votre site vous concerne donc aujourd’hui ! Même si votre site n’a pas énormément d’influence et de trafic, il est important que vous le sécurisiez sans tarder. Je ne suis vraiment pas là pour vous affoler…Juste pour vous donner quelques clefs pour améliorer la protection de votre plate-forme Web.
Archivez, Archivez, Archivez (niv. facile)
C’est indéniablement le premier principe à appliquer (vous pouvez d’ailleurs vous familiariser avec cette démarche en suivant les tutoriels sur l’archivage de site et celui de l’archivage de la base de données). Ces tutos sont mis à jour au fil du temps et des solutions technologiques…Ne manquez pas de les consulter.
Sachez que les deux derniers sites que j’ai sauvé de la noyade, l’ont été car j’avais à ma disposition une archive fraîche et qu’il m’a été facile de revenir en arrière grâce à cette base stable.
Je vous conseille de mener des archives incrémentales. Pour cela créer des dossiers avec le nom de l’archive et le jour, par ex :
- Archive-01032013
- Archive-15032013
…etc.
Prenez alors soin de garder au moins 3 versions antérieures de votre site ; de la sorte, vous aurez une possibilité de remonter dans le temps si nécessaire.
Prenez soin de votre Site WordPress (niv. facile)
Voici une liste de conseils de bon sens qui vous aideront à optimiser la santé de votre site. Les suivre est un premier pas dans la sécurisation de vos données :
Mise à jour extensions et version WordPress
1Bien des mises à jour sont là pour améliorer la sécurité de votre plate-forme. Je connais malheureusement plusieurs exemples de grands sites qui ont été hacké par des blogs oubliés, inactifs qui ont joué le rôle de porte arrière (back-door) sur le site principal.
Comme vous savez tenir à jour votre architecture WordPress et vos extensions, tenez vous également au courant des mises à jour de votre thème…Et appliquez les.
N’installez pas non plus n’importe quoi sur votre site : préférez les extensions proposées par le site officiel de WordPress et informez-vous sur les rapports de bug et failles de sécurité desdits plugins. Supprimez également les plugins inactif.
Sachez convenablement organiser votre thème
2Vos fichiers médias, vos dossiers .zip client, les jpeg de votre site n’ont rien à faire à la base de votre site. Garder un ordre nécessaire et vital à la racine et dans l’ensemble de vos dossiers. Classez, organisez, votre site sera plus facile à administrer (ou à récupérer) s’il est organisé de façon appropriée. Pour protéger le contenu de vos dossier, WordPress ajoute un fichier avec un petit bout de code. Une protection optimale de tous vos répertoires peut également être obtenue par l’ajout du code suivant dans le .htaccess de votre site :
Options All -Indexes
Cela aura pour effet d’interdire la navigation intérieure de votre dossier à partir d’un navigateur
Sécurisez votre installation en quelques clics (niv. intermédiaire)
Prendre toutes les précautions nécessaire à la protection de votre site, c’est bien. Mais ne pas exposer vos données sensibles aux grand soleil, c’est encore mieux. Voici en quelques clics quelques précautions à appliquer rapidement :
Supprimer le fichier readme.html
1Placé à la racine de votre site, ce fichier contient la version WordPress de votre site (testez avec www.votresite.com/readme.html). Si vous n’avez pas su tenir à jour votre site, une version antérieure présentera des failles connues, et donc des moyens faciles de cracker votre accès.
Protéger en écriture wp-config.php et .htaccess
2Par ce moyen, vous permettez la lecture de ces fichiers, mais restreignez d’éventuelles modifications au seul propriétaire. Pour cela, allez dans Filezilla (ou tout autre navigateur ftp) et cliquez droit sur le fichier et sélectionnez « Droit d’accès au fichier » ; indiquez alors 644 dans le champ à compléter, puis validez. On peut également mener cette opération grâce à WP Security Scan qui identifie et permet de corriger les droits d’accès en une seule passe.
Pendant que nous sommes sur l’étude de ces fichiers, rajoutez également ces bouts de codes qui vous aideront à protéger l’accès extérieur de ces fichiers sensibles. Utilisez Notepad++ (si vous ne disposez pas de ce programme gratuit, sûr et puissant, courrez l’obtenir), puis appliquez les modifications suivantes
→ Protégez votre fichier wp-config.php grâce à ce code ajouté en bas de votre fichier .htaccess (note, si ce fichier n’existe pas encore dans votre configuration, vous pouvez l’ajouter à la main en le nommant ‘.htaccess’ (sans les apostrophes) .
order allow,deny # Protéger le fichier wp-config.php <files wp-config.php> order allow,deny deny from all </files>
→ Protégez votre propre fichier .htaccess grâce à ce code ajouté en bas de ce même fichier
# Protéger les fichiers .htaccess et .htpasswds <Files ~ "^.*\.([Hh][Tt][AaPp])"> order allow,deny deny from all satisfy all </Files>
Masquez votre version
3Il convient également de masquer le numéro de version offert tout cru dans « meta name ». Utiliser pour cela le fichier function.php (présent dans /wp-content/themes/Votre-Theme-enfant) et ajouter ce bout de code idoine…
remove_action("wp_head", "wp_generator");
On peut également empêcher le flux RSS d’afficher la version WordPress avec la fonction suivante
function wpt_remove_version() { return ''; } add_filter('the_generator', 'wpt_remove_version');
Quelques précautions supplémentaires
4 Ne laissez enfin aucune donnée sensible comme l’archive de base de données que certains plugins comme WP-backup stockent dans wp-content. Agir ainsi est laisser une réelle porte ouverte au piratage de votre site.
Je ne m’étendrai pas sur l’importance du mot de passe de votre backoffice (car j’ai déjà écrit un article à ce propos), mais c’est un point primordial à respecter.
Ne manquez pas de mettre à jour tous les sites de travail ou vos sites placés en voie de garage et qui ne serait plus exploités (tout en restant accessibles de l’extérieur).
Une version éculée de WordPress sur un site oublié et une porte arrière intéressante pour percer toute votre installation (c’est une situation qu’un site fort connu a expérimenté à ses dépends).
Supprimer enfin tous les utilisateurs à fort pouvoir (administrateur) qui seraient inactifs depuis longtemps sur votre site
Des plugins à votre secours (niv.intermédiaire)
Better WP plugin
Un des meilleurs plugins qui saura efficacement protéger votre site et vous donner des bons conseils. Attention tout de même, certaines protections demandent du doigté.
→ voir le lien
WP Security Scan
Principalement tourné autour des allocations de permissions de vos fichiers & détection des brèches de sécurité. Moins complet, mais moins délicat à manier que Better WP plugin.
→ voir le lien
TAC (Theme Authenticity Checker)
Très puissant pour débusquer des codes malicieux dans votre thème. Peut provoquer de sacrés surprises si vous l’appliquez sur un thème gratuit (attention aux thèmes gratuits)
→ voir le lien
Ajouter des clefs de sécurité secrètes dans le fichier wp-config.php (niv. intermédiaire)
Si vous avez déjà installé par votre propre moyen un site WordPress, vous devriez avoir bien remarqué des codes particulier dans votre fichier wp-config.php (lequel contient les configurations nécessaires pour WordPress fonctionne convenablement). Cette section du fichier de configuration sont des clés d’authentification SALT qui crée un cookie d’identification lequel protège votre installation.
Si ces codes ne sont pas présent dans votre fichier wp-config.php, vous pouvez les régénérer grâce au lien suivant :
https://api.wordpress.org/secret-key/1.1/salt/
Notez que tout changement de ces clefs de salage aura pour effet d’invalider tous les cookies de votre site et forcera donc chaque utilisateur à se reconnecter sur votre blog.
Supprimer le compte ‘admin’ par défaut (niv. intermédiaire)
Par facilité ou par défaut (sur certains hébergeurs comme OVH) l’identifiant admin est souvent créé pour identifier l’espace d’administration. La popularisation de cet identifiant le rend par nature très sensible : le pirate potentiel n’a plus qu’à se concentrer sur votre mot de passe pour percer votre accès.
Si vous disposez d’un tel compte, créer un autre compte alternatif avec les mêmes droits d’administrateur, puis supprimer le compte dont l’identifiant est admin. Cette manœuvre peut se mener même en cours de vie du blog : un système de bascule des anciens articles et pages est automatiquement proposé
Masquer les erreurs de connexion (niv. expert)
Voilà typiquement un comportement de WordPress très ‘user-friendly‘ qui peut s’avérer ‘hacker-friendly‘ lorsqu’il se retourne contre vous. En effet, lors d’une erreur de saisie de votre mot de passe ou de votre login, WordPress vous guide gentiment et indique ce qui ne convient pas. Il s’agit donc de gommer cette fonctionnalité pour ne pas donner d’indice supplémentaire aux méchants pirates qui en veulent à vos données.
Pour cela, nous allons ajouter cette ligne de code à notre fichier function.php de notre thème enfant
add_filter('login_errors',create_function('$a', "return null;"));
Modifier le nom de votre dossier wp-content (niv. expert)
Ouvrez le fichier wp-config.php (il est sage de faire un archivage préalable de ce fichier si important). Aux alentours de la ligne 88-90 (ou de la dernière ligne de wp-config, vous devriez trouver la séquence :
require_once ABSPATH . ‘wp-settings.php’
Ajouter immédiatement en dessous le code suivant
/*modification du nom de dossier wp-content*/ define ('WP_CONTENT_FOLDERNAME', 'nouveau-dossier'); define ('WP_CONTENT_DIR', ABSPATH . WP_CONTENT_FOLDERNAME) ; define ('WP_CONTENT_URL', 'http://nom-de-domaine'. WP_CONTENT_FOLDERNAME); define ('WP_PLUGIN_DIR', WP_CONTENT_DIR . '/plugins'); define ('WP_PLUGIN_URL', WP_CONTENT_URL . '/plugins'); /*fin de la modification*/
Remplacer la mention nouveau-dossier par le nouveau nom de dossier de wp-content, et personnaliser la mention votre-domaine avec votre propre URL. Une fois ces manipulations faites et publiées sur wp-config, vous pourrez changer le nom de votre dossier wp-content avec un nom équivalent (sans majuscule, ni accent, ni espace).
Assurez-vous que tout continue à fonctionner sur votre site, en particulier vos divers plugins. S’il s’avère que vous rencontrez un disfonctionnement, il est probable qu’un de vos plugins fasse mention au dossier wp-content, au lieu de faire appel à une fonction telle que use content_url(). Vous devrez alors corriger à la main cette mention dans les plugins défaillants (un bonheur) ou vous passer tout bonnement de ces plugins.
Il est bien entendu capital d’ajouter dans ce nouveau dossier, les composants habituels de wp-content, soit /languages /plugin /themes /upgrade, avec leur contenu légitime.
Protégez-vous contre le hotlinking
J’ai découvert dans les faits le hotlinking par le vol de mon article Archiver sa base de donnée WordPress qui s’est vu affiché sur un autre site que le mien…sans mon autorisation. Mes images ont été victimes de hotlinking, terme que je ne connaissais mal et qui consiste à « utiliser l’adresse d’un fichier publié sur un site web, le plus souvent une image, pour l’afficher sur un autre site, sur un blog » [définition Wikipédia].
Voici quelques lignes de codes que Jonathan B. propose sur http://www.geekpress.fr. J’ai approfondi le sujet et voici le fruit de mes recherches.
Définition
Traditionnellement (j’illustre ici le principe de fonctionnement de façon très grossière, vous trouverez un schéma plus étayé sur cet autre article) votre visiteur consulte le contenu de votre site grâce au serveur qui héberge vos images, vos textes (sur la base de données).
Dans le cas d’un hotlinking, votre « voleur » aussi maladroit qu’indélicat a copié l’ensemble du code source de votre article et l’a ajouté à une de ses pages.
La personne qui consulte votre article croit être au bon endroit sur le site voleur d’article. L’ensemble des images pointent cependant encore votre serveur, ce qui a terme en réduit sa vélocité.
Remède
Nous allons utiliser une fois le plus le .htaccess pour restreindre et rediriger l’emploi de vos images en hotlinking, en ajoutant le petit bout de code. Cette manipulation sera tout partiellement intéressante pour les photographe ou les graphistes dont la production est parfois indûment pillée.
RewriteEngine On # Remplacer mywebsite.com/ par l'adresse de votre site # la mention NC rend insensible à la casse (majuscule/minuscule) RewriteCond %{HTTP_REFERER} !^http://(.+.)?votredomaine.com/ [NC] RewriteCond %{HTTP_REFERER} !^$ # Remplacer /images/nohotlink.jpg par le chemin de l'image affichée chez les voleurs # Propose une image alternative lors de l'emploi abusif de vos images # il est nécessaire de modifier l'url avec votre propre chemin RewriteRule .*.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L]
On peut bien entendu supprimer toutes lignes commentées avec le signe # avant de le poster sur le .htaccess.
Ne manquez pas de sauvegarder la version précédente de ce fichier ; elle vous sera utile si vous faite une erreur de code et que votre site déploit alors une grosse erreur 500 :)
Vous utilisez le plugin Revolution Slider ?
Beaucoup de thèmes utilisent ce plugin, soit coordonné avec le site (l’extension se trouve alors avec les plugins existants installés sur votre site), soit de façon intégrée dans le code et les dossiers de votre thème. Revolution Slider est un plugin puissant, au prix d’être un peu une usine à gaz, ce qui ne l’a pas empêché d’être impacté par une grosse faille de sécurité. Sans vouloir vous faire peur, cette faille à touché beaucoup d’utilisateurs, dont certains très aguerris à WordPress.
Envato a établi une liste de tous les thèmes qui comprennent le plugin Revolution Slider. Le concepteur de l’application a mis également à disposition une version de mise à jour gratuite de cette application. Dans tous les cas avant d’agir, ne manquez pas de faire une archive complète de votre espace ftp et de votre base données pour sécuriser votre installation.
Cas#01 l’extension Revolution slider est intégré dans votre thème
→ Si vous ne voyez pas l’extension présente dans votre liste de plugins, il y a fort à parier qu’elle est intégrée directement dans les tréfonds de votre thème. Je vous conseille alors de retourner sur la boutique sur laquelle vous avez acheté votre thème pour rechercher une mise à jour qui propose un correctif et l’appliquer, ou de mettre à jour votre thème avec la dernière version disponible s’il s’agit d’un template gratuit. Si cette mise à jour n’existe pas, c’est assez problématique car votre site est en danger potentiel. Vous pourriez mettre les mains dans le cambouis pour remplacer manuellement les fichiers défaillants, mais ne connaissant pas la façon dont le développeur a intégrer l’extension, ce n’est pas nécessairement un conseil que je donnerai. La seule solution est de changer de thème ou de faire appel à un développeur pour faire cette mise à jour.
Cas#02 l’extension Revolution slider est comprise dans vos extensions
→ Je vous invite alors d’aller sur votre espace ftp dans wp-content/plugins/ et de rechercher le dossier relatif à Revolution slider. Ouvrez le, et supprimez tous sont contenu. Remplacer le sans tarder avec le contenu que vous avez nouvellement téléchargez. L’ensemble de vos réglages (présent sur la base de données et non sur l’espace FTP) seront préservés.
Vous avez été piraté ? Voici quelques outils
Anti-Malware Security and Brute-Force Firewall
https://fr.wordpress.org/plugins/gotmls/Cet outil est intéressant même vous n’avez pas été attaqué. Il est en mesure de lancer un scan complet et de supprimer automatiqueement les éventuellement menace et faille qu’il pourrait detecter. Il est également assorti d’un firewall qui protège contre les malware issus de plugin comme Revolution slider ou timthumb. Il se met à jour constamment avec de nouvelles liste de menaces et malware Existe en version premium
Vous n’avez pas le temps, voici en résumé la sécurité pour les super-pressés
- Archiver
- Supprimer le readme.html à la racine de WordPress
- Maintenir la version de WordPress et les plugins à jour
- Utiliser un mot de passe long comportant une multitude de caractères différents
On est jamais trop prudent
Merci pour cet article instructif !
Merci pour ce tuto !!
bonjour, je n’arrive pas à effectuer toutes les modifications, pouvez m’aider s’il vous plaît ?
Bonjour Nacer
Merci de votre commentaire.
Si vous ne parvenez pas à mettre à la main l’ensemble de ces règles, je vous propose d’opter pour Secupress qui intègre beaucoup de ces règles lors de l’activation du plugin.
https://fr.wordpress.org/plugins/secupress/
Cordialement
Bonjour Fabrice
quel module de sécurité utiliser avec l’extension Woocommerce .. il y aurait des soucis de compatibilité entre itheme sécurity et Woocommerce
Bonjour Stéphane
iTheme Security n’est pas mon extension préférée pour plusieurs raisons trop longues à détailler ici. Pourquoi ne pas essayer Secupress pour une alliance avec WooCommerce. L’extension est très paramétrable et le support très réactif en cas de mal-fonction.
un bon article merci pour le partage ,
j’ai sécurisé mon site avec le plagin Itheme security est ce suffisant ?
Bonjour
Oui tout à fait…même si ce n’est pas ma solution préférée, c »est une solution satisfaisante.
Bonjour Fabrice
Je voulais tout simplement te remercier pour les contenus de ton site.
Car on dois toujours encourager le bon travail
C’est très aimable à vous Rémy !
Merci
Bonjour Fabrice, j’aimerais changer le nom du thème qui apparait lorsqu’on regarde dans le code source de mon site web. J’aimerais qu’il y apparaisse le nom de mon thème enfant plutôt que celui du thème parent. Comment faire?
Bonjour Victor
Vous pouvez renommer votre thème en suivant cette méthode : http://davidjrush.com/blog/2012/09/renaming-your-wordpress-theme/ (mais attention aux mises à jour ensuite)
Cet article https://www.techsrollout.com/hide-wordpress-theme-name-world/ donne une autre approche
Cordialement
Bonjour j’aimerai cacher la version de mon WP. J’ai essayé de trouver le fichier function.php dans mon theme enfant mais en vain. Comment faire dans ce cas ?
Merci d’avance de votre retour.
Bonjour Dalila
S’il n’existe pas…Créer le :)
Mais créer le avec un éditeur de texte comme Notepad++(PC) ou Smultron (Mac)
Nommez le functions.php et ajoutez des balises PHP ( <?php ..(votre contenu)… ?>) pour qu’il soit convenablement pris en compte.
Bonjour, merci pour ces astuces mais j’ai un souci, quand je met
order allow,deny
deny from all
Dans mon fichier .htaccess mon site n’est plus accessible …
Que ce que je fait mal ?
Je suis WordPress à jour et hébergé chez OVH.
Merci d’avance.
Merci de votre commentaire
Essayez avec
<Files .htaccess>
order allow,deny
deny from all
</Files>
NDLR : ce code était présent, mais il est parfois complexe d’afficher des « < > » sans que cela soir pris pour du code par WordPress :)
Merci pour votre réponse rapide, effectivement là plus de souci :)
Et concernant ce code :
Options All -Indexes
Il n’y a rien d’autre a rajouter pour celui là ?
merci encore
Non, cela s’utilise tel quel dans le .htaccess
Cela limite la navigation des hackers dans les répertoires
Un grand merci pour cette aide, les informations sont claires et précises à suivre.
Suite à un hack sur son site wordpress, j’ai du aider un ami pour qu’il retrouve son blog !
Merci pour cette piqure de rappel et tout ces conseils. J’en prends bonne note pour lui et moi-même ^^
Bonjour, excellent article. Je rencontre un problème pour mettre en place votre suggestion de protection contre les hotlinks en appliquant votre suggestion de modification du .htaccess et le renvoi vers une image par défaut. J’ai fait le test en intégrant le code sur un de mes sites et en appelant l’url d’une image de ce site depuis un autre site. Le renvoi vers l’image par défaut ne fonctionne pas. Merci d’avance pour votre aide
J’ai mis à jour le code et l’ai remplacé par celui d’un autre spécialiste.
Bonjour,
voila j’utilise WordPress 3.4.2 et depuis peu je ne peux plus acceder a mon espace administration widget (uniquement pour parametrer les widgets, ailleurs c’est ok) dans mon site,
j’ai le message d’erreur :
Erreur d’encodage de contenu
La page que vous essayez de voir ne peut être affichée car elle utilise un type de compression invalide ou non pris en charge.
Veuillez contacter les propriétaires du site pour les informer de ce problème.
j’ai vide le cache meme pb autant sous firefox que chrome…. j’ai aussi desactive les plugins les plus recement installes…. mais pas mieux…
Merci pour vos bons conseils
Il est délicat de vous donner un analyse de votre souci à distance, mais je bute néanmoins sur les premiers mots de votre commentaire « j’utilise WordPress 3.4.2 « …N’allez pas plus loin, la réponse est là : vois utilisez une version hors d’âge et votre site peut rencontrer de l’instabilité. Il est en tout cas en péril de ce point de vue là.
Bonjour,
J’ai trouve le coupable c’est un pluging (google analyticator) qui m’a mis la pagaille, c’est bon c’est resolu en le desactivant (pourtant cela fait un bon moment que je tourne avec mais google a dut faire des modifs de son cote qui m’ont pollue mon site…) ;-)
Je n’ai pas ose sauter le pas de mettre a jour vers une version recente pour le moment (surtout du fait d’utilisation de pluging qui risquent fort de ne plus bien fonctionner apres – style Ajax Event calendar) et aussi de se retrouver avec une base verollee
Merci
Super article ! Une petite question pour modifier le fichier htaccess. Si on ne l’a pas ouvert avec notepad++ la première fois et qu’on ne nous demande plus avec quel logiciel l’ouvrir, comment fait-ton pour « revenir en arrière » et pouvoir le modifier ?
Merci beaucoup :)
Merci de votre aimable commentaire
Cette question est toutefois plus « Windows » que « WordPress » : ) Pour réussir cela (à moins que je me méprenne sur le sens de votre question), il faut faire un clic droit sur le fichier, puis « ouvrir avec » > Notepad ++
Si ça peut aider quelqu’un, j’ai développé un plugin wordpress qui permet de détecter les fichier présents dans le wp-upload qui n’ont rien à faire là et de les supprimer.
Types de fichiers que mon plugin détecte : php, sql, js, htaccess, exe, zip, rar, czip
https://wordpress.org/plugins/scan-upload-par-jm-crea/
Enjoy :)
Bonjour, pour ‘Modifier le nom de votre dossier wp-content’, je suis hébergé chez hostgator et je précise qu’il faut placer le dossier ‘ressources’ avec tout ce qu’il y a dans le dossier wp-content à la racine de ‘public_html’ et non à la racine de tout le site web sinon ça ne marche pas pour ma part.
@julien maury
Itheme security va se charger de modifier le fichier .htacess ,je reconnais que pour un débutant ce n est pas toujours évident de modifier manuellement un fichier …
Merci pour ces infos. Nous ne sommes jamais assez prudent quand il s’agit de sécuriser notre site Web
Merci pour ce superbe billet …
Pour sécuriser facilement et efficacement votre site wordpress je vous recommande d installer l extension ITheme security …
Ce plugins de sécurité détecte tout ce qui ne va pas ,reste à cliquer afin de corriger les problèmes ,Itheme security permet également de renommer le compte administrateur de modifier votre fichier .htacess…..
Une extension fiable et très bien noté …
Problème Modifier le nom de votre dossier wp-content (niv. expert) si je renomme le dossier il affiche une page blanche.
Bonjour Anthony
J’ai réécrit cette recette pour plus de clarté. Y parvenez-vous maintenant ?
Cordialement
Merci pour tout ces bons conseil je vous recommande l extension itheme security simple et intuitif …
Ce plugin détecte les problèmes il y a juste a cliquer afin de les corriger …si vous n êtes pas sur de ce vous faite ne touchez pas aux options avancé …
Bonjour,
Je suis débutant en WP et je suis très intéressé par cet article. Mais j’ai qq questions :
– pour le contenu de .htaccess, il me semble qu’il manque qq chose dans le texte de l’article :
→ Protégez votre fichier wp-config.php grâce à ce code ajouté en bas de votre fichier .htaccess (note, si ce fichier n’existe pas encore dans votre configuration, vous pouvez l’ajouter à la main en le nommant ‘.htaccess’ (sans les apostrophes) .
order allow,deny
deny from all
Est-ce qu’il ne faut pas encadrer de « » et » ?
– pour modifier les fonctions du thème : je n’ai pas de fichier function.php mais functions.php (avec un s) et le fichier contient donc plusieurs fonctions. Où faut il insérer le code « remove_action(« wp_head », « wp_generator »); » ?
– enfin je ne comprends pas bien les clés SALT, mais je vais me renseigner :)
Merci pour votre article en tout cas.
Merci de vos précieuses corrections Vanige ! Les entêtes ont parfois tendances à se supprimer dans les parties codées (j’ignore pourquoi) : cela est corrigé grâce à vos soins.
• Concernant l’ajout dans le fichier functions.php, vous pouvez l’ajouter en queue du fichier de votre thème, mais l’idéal est de créer soit un thème enfant, soit un mu-plugins pour l’ajouter (je ferais un article à ce propos prochainement)
• Concernant les clefs Salt, ne vous faites pas de soucis…elles sont bien souvent déjà présentes dans le fichier wp-config à la racine de votre site. Si ce n’est pas le cas, vous pouvez les régénérez avec ce lien
Excellente continuation !
Je suis victime d’un piratage sur mon site web qui tourne sous wordpress, il explore les failles de certains plugins comme pour faire de l’envoi massif de mails.
J’ai du mettre à jour wordpress et les plugins, j’ai installé wordfence et configuré il m’a fourni un rapport avec son adresse ip (Ukraine) cependant le hacker arrive à exploiter encore des failles (sur la racine du FTP) pour envoyer des mails massifs.
Sur mon hébergeur, il m’indique qu’il fait l’envoi de mails massifs via une faille à la racine de mon FTP mais je ne vois pas qu’est ce qu’il peut exploiter comme fichier…
Il est difficile de vous répondre sans analyser plus avant votre site.
Des scanners en ligne comme Sucuri ne décèlent pas de présence maligne.
Coté référencement votre site aura en tout cas de la difficulté à atteindre une bonne renommée (malgré All in one SEO Pack), surtout au regard de la dernière mise à jour de Google et de son algo Phantom 2 qui met en avant la qualité.
Votre homme propose pas moins de 16 domaines externes et 88 liens vers lesquels le visiteurs peut s’envoler
Beaucoup de contenu dupliqué (pas de réel personnalisation des pages par ville)
Beaucoup de contenu publicitaire.
Pas de mentions légales ni de contact (ce n’est pas du SEO, mais c’est la loi en l’occurrence)
Pas de call to action…ON se demande bien où et comment on va réparer ton cellulaire.
Je vous conseille de remettre votre site à plat et de clarifier votre offre.
Le fait de faire le ménage dans les fenêtre pub va potentiellement résoudre pas mal de soucis.
Bon courage
Bonjour
Tout d’abord merci pour toutes ces informations ,
en effet j’ai changé le nom de la répertoire Upload en utilisant la technique de définir le nom de la nouveau répertoire dans la fichier wp-config mais malheureusement
maintenant il n’est pas possible d’uploader une nouvelle image .ya t’il un moyen ou une technique pour résoudre ce problème ?
Essayez sinon de rajouter seulement
Avant la ligne
(soit vers la ligne 90 -120, en fond de page de wp-config.php
Merci pour cet article complet et bien écrit..j ai protégé le site d un de mes client avec Wordfence est ce suffisant ?
Difficile de se prononcer et d’affirmer que c’est suffisant, mais c’est en tout cas un bon début
Merci pour toute ses informations.
Bonjour Fabrice,
J’ai essayé d’appliquer à la lettre votre tuto pour renommer le ‘wp-content’.
Surprise: plus rien ne fonctionnait.
Plus de traduction en français, retour à la version anglaise native ;
Plus d’accès au plugin ;
Plus un thème disponible;
Bref, aucun accès au contenu du dossier !
J’ai du faire machine arrière,dommage…
Ou est le bug ?
Merci, et merci pour ce tuto très clair
(tout le reste fonctionne parfaitement bien :)
Michaël
Bonjour Michael
j’ai pris du temps pour retester cette solution ce matin sur un site en développement. Il y avait des espaces manquants dans le code, mais qui à mon sens ne gênaient que les grammairiens PHP. J’ai donc normalisé cela, et de mon coté cela fonctionne fort bien. Je vous invite à re-tester la manip.
Note : il est évidemment capital d’ajouter tous les dossiers présents dans wp-content avant de lancer ce changement de route, sans quoi ni les plugins, ni la traduction n’apparaitront.
Bonjour,
Concernant le fichier functions.php de votre thème, méfiez vous des mises à jour, car il faudra vérifier si elles ne l’auront pas modifié. Je vous conseille de créer un thème enfant pour ne plus avoir à vous en soucier. De plus, si vous avez modifié la feuille de styles, ces modifs ne seront pas concernées et vous n’aurez plus de sueurs en constatant que tout se retrouve en désorde ;)
Bonjour Jean-Paul
Merci de votre commentaire. C’était pour moi implicite, mais je vais ajouter cette nuance dans l’article. Je parlais bien évidemment d’un fichier functions.php présent dans le thème enfant, et nulle part ailleurs.
Bonne continuation
Bonjour
Je vous remercie d’abords pour ce tuto très intéressant.
Maintenant il y’a certain ligne qui me font un retour d’erreur 500 quand je les ajoutes dans.htaccess
Ex: « Options All -Indexes »
ou encore:
<Files wp-config.php>
order allow,deny
deny from all
Merci par avance
</Files>
Bonjour Yacine
Merci de votre commentaire. Il n’y a pourtant pas de quoi provoquer une erreur 500 dans ce que vous avez ajouté :)
Je vous propose de juste ajouter
Options All -Indexes
Dans un premier temps, puis si tout va bien
<Files wp-config.php>
order allow,deny
deny from all
</Files>
pour protéger votre fichier wp-config
Tenez moi au courant…Très bonne journée
Merci pour votre retour rapide Fabrice.
Alors j’ai essayé ceci:
1/ J’ai juste ajouté Option All -Index => Toujours erreur 500 et je suis presque sûr que c’est lié à mon hébergeur.
2/Quand je supprime carrément le fichier .htacces il n’a plus de navigation interne :) mais je ‘oserais pas :)
Merci encore.
SI ça peut aider d’autres personnes, il suffit de réactiver la structure personnalisée des permaliens dans réglages.
J’ai le même soucis à chaque fois que je modifie le fichier .htaccess !
Merci pour tous ces éléments précis…long et fastidieux de se protéger mais possible et rapide de se faire pirater
Attention la version Acunetix WP Security plugin 4.0.3 ne fonctionne pas Chez O.V.H et d’après les forum WP cela touche d’autres hébergeurs…
Merci de cette information importante P.M !
Bonjour,
Je rencontre une difficulté notable avec Better WP Security (Renommé Acunetix). Bien que je coche le fait de masquer la version de wordpress, elle est toujorus disponible via le code source du site, étant connecté en tant qu’admin ou (sur un autre poste). Quelqu’un a-t-il constaté la même chose?
Il en va de même pour le « masquage » des autre données liées à la version. Elles sont toutes disponibles.
J’ai d’abord cru à un pb lié au thème (testé d’abord sur Twentythrteen) mais le problème persiste sur tous les thèmes. Du cou cela devient gènant d’utiliser ce plugin s’il faut manuellement modifier certaines ligne de code.
Votre avis?
Bonjour Jerem
Il ne faut pas perdre de vue que Better WP Security est un simplificateur pour votre sécurité. Bien des opérations proposées par le plugin peuvent être remplacées par une démarche sur vos fichiers, ou un ajout de code dans functions.php (en l’occurrence, le chapitre Masquez votre version dans mon article aborde ce problème).
Dans la doc de Better WP security, il est indiqué « Display a random version number to non administrative users anywhere version is used« . Est-ce que la version affichée correspond à la réalité de votre installation, ou est-elle fantaisiste ?
Bonjour et merci pour votre réponse rapide.
J’ai en effet opté pour la version manuelle de modification de fichier, ne trouvant pas la source du pb avec le plugin en question. Mea culpa, j’étais en train d’expérimenter le plugin « Acunetix » (anciennement appelé « WP Security Scan »). Je suis en trin d’expérimenter Better WP security qui semble très bien fonctionner :)
Merci beaucoup pour cet article de qualité. Pour une débutante comme moi, malgré tous les tutos que j’ai vu sur le sujet, j’ai trouvé que celui ci était simple à comprendre et à mettre en pratique. Je ne connaissais pas le hotlinking. Pour une fois j’ai hâte de m’affairer à la sécurité de mon blog!
Merci beaucoup Fabrice, c’est vraiment très clair :)
bonjour
c’est toujours très instructif d’avoir des conseils de sécurité. Je gère plusieurs site WP avec des template différents, j’ai un soucis avec un site ou les hackers mettent un fichier index.php sur le ftp, je n’ai donc plus accès au site. Ce n’est pas bien méchant par contre c’est vraiment pénible tous les 15 jours cela me prends 10mn pour mettre le bon fichier.
Auriez vous une solution?
Merci de votre réponse
Bonjour Syl20
Si vous avez sécurisez votre site en modifiant l’ensemble des mots de passe qui le régisse (pour des plus complexes), et ajouté les quelques verrous proposés dans cet article, vous devriez être en relative sécurité.
Je ne suis pas un grand spécialiste, mais si un hacker peut encore parvenir à forcer votre accès, il est probable qu’il y ait une ‘backdoor’ présente sur votre site, soit sous la forme d’un petit fichier que vous n’avez pas encore supprimé, soit à cause d’un plugin défaillant qui provoque une grosse brèche de sécurité.
Je peux difficilement vous répondre. Vous pouvez utilisez Better WP Security pour constater qui intervient de façon récurrente sur votre site. Bannissez son IP si elle est fixe (ce qui est peu probable). Réduisez en tout cas au maximum la voilure concernant l’utilisation de plugins.
Bon courage !
Merci pour la citation Fabrice. Pour ce qui concerne la protection des répertoires, il y a plus simple que rajouter un fichier index.html vide ou presque dans chaque dossier. Il faut insérer une règle dans le .htaccess à la racine de l’installation (le .htaccess principal du site):
Options All -Indexes
Avec ça pas de navigation possible dans les dossiers
Merci Julien :) …j’ai fait la correction suite à ton commentaire
Merci énormément concernant la solution au problème :
/homez.335/lamicali/www/wp-content/plugins/wp-native-dashboard/langswitcher.php on line 28
En effet en ajoutant le ‘-old’ juste derrière le plugin dashboard via filezilla j’ai pu accéder à nouveau à mon site.
Il y a des chances que je revienne sur votre site qui est très intéressant.
Bonne continuation.
Pour info, j’ai dû supprimé complètement native dashboard sur deux de mes trois sites sécurisés grâce à cet article de Fabrice. Je ne comprends pas trop pourquoi cela fonctionne sur un, mais l’important, c’est qu’on puisse accéder au pannel sans difficultés. ;o)
Bon, j’suis vraiment désolée de vous déranger à nouveau. Je rencontre un problème différent sur un autre de mes sites où j’ai installé Wordfence http://franceanne.hannicar.com . Le site à ouvert, j,ai tenté de me connecté via le widget et l’erreur suivant est apparue sur une page blanche HTTP/1.0 401 Authorization Required
Maintenant, je n’ai plus accès au site, je n’ai que cette erreur… Une idée?
Décidément vous allez me trouver bête… désolée. Tout semble rentré dans l’ordre!! merci pour tout ce temps et désolée!!!
Meuuh non…Qui suis-je pour vous trouver « bête » ; j’ai moi-même encore beaucoup à apprendre.
Excellente continuation France-Anne !
Merci! Vous êtes gentil! À vous aussi! ;)
Bonjour!
Merci pour toutes ces infos!! Un ami m’a fait peur hier en me disant que les sites WP ne pouvaient pas être bien sécurisés. Comme je gère plusieurs sites, ça m’a vraiment inquiétée! Vous m’avez rassurez!
Sinon, question hors sujet : Vous pouvez m’expliquer votre Widget « Témoignages » c’est un widget texte? Merci!!
Merci de votre commentaire France-Anne
La vulnérabilité de WP vient également du fait que c’est un CMS ouvert et très popularisé, mais comme vous l »avez bien compris, si vous appliquez les consignes de base et que vous gérez avec discernement votre site, vous serez protégée contre la plupart des attaques.
Le plugin que j’utilise pour afficher les témoignages n’est pas une adaptation du widget texte, mais une extension à part entière qui se nomme Testimonials Widget par Michael Cannon
Merci beaucoup!
Bon, j’ai un gros problème. Je n’arrive pas à ouvrir mon panel contrôle. Pas non plus à me déloguer ou me reloguer. Après quelques lectures il semble que Wordfence soit à l’origine du problème. Voici l’erreur qu’on me donne :
Fatal error: Call to a member function add_menu() on a non-object in /home/franceanne/helenelaplante.com/www/wp-content/plugins/wp-native-dashboard/langswitcher.php on line 28
J’ai supprimé native dashbord par mon ftp et dans ma base de données sans succès. Vous avez une idée de ce que je dois faire?
Merci de m’aider…
Bonjour France-Anne
Il est bizarre que le problème perdure alors que vous avez supprimé physiquement le plugin en ftp.
En indiquant l’adresse http://www.helenelaplante.com/wp-content/plugins/wp-native-dashboard/screenshot-1.png sur un navigateur, on tombe sur un des fichiers du plugin…Vous ne l’avez donc pas supprimé complètement.
→ Via ftp, ajoutez un ‘-old’ derrière le nom du plugin dans wp-content/plugins et retenter de rentrer ensuite sur votre admin
Bon, vous aviez raison, il n’avait pas tout supprimé. MERCI!
Maintenant, sur la page des extensions il est inscrit en haut en rose : L’extension wp-native-dashboard/wp-native-dashboard.php a été désactivée suit à l’erreur : Le fichier de l’extension n’existe pas.
Ça veut dire qu’il y a quelque chose que je n’ai pas supprimé dans MySQL? Et autres question bête, je pourrai réinstaller le native ensuite où ce plugin entre en conflit par défaut avec Wordfence?
Bon, plus de message en haut de ma page d’extension. Merci!! Si vous pouviez seulement me dire maintenant si je peux réinstaller l’extension sans que ça cause problème.
re…
Pour l’inscription rose, ce n’est pas grave, cela se va se résoudre tout seul.
Par rapport à d’éventuels conflits entre vos 2 extensions, je ne pourrais pas vous répondre (et pas sûr que beaucoup puisse le faire, car il faudrait maîtriser toutes les interactions entre des deux plugins). Vous pouvez remettre votre extension native-dashboard en fonction si vous le désirez ; au pire si cela ne fonctionne pas, vous la supprimerez comme vous l’avez déjà fait.
Si vous rencontrez des soucis, je vous conseille de contacter l’auteur de l’extension sur le site code-styling.de (faite le en Allemand ou en Anglais) et de lui préciser votre message d’erreur et votre parc d’extension. Il pourra alors faire éventuellement un correctif si l’erreur est générée par son plugin.
Bonjour,
J’ai exactement le même problème depuis que j’ai mis à jour mon site aujourd’hui. Etant novice je n’ai aucune idée de la méthode pour supprimer ce plugin via le ftp ( je ne sais même pas ce qu’est un ftp)
Fatal error: Call to a member function add_menu() on a non-object in /homez.548/memoireef/www/wp-content/plugins/wp-native-dashboard/langswitcher.php on line 28
J’espère pouvoir obtenir de l’aide assez rapidement et au passage me mettre à niveau…
Merci,
Cordialement Julien.
Bonjour Julien
Contactez moi sur mon formulaire de contact si le problème persiste.
Cordialement
Fabrice
Vous êtes hébergé chez OVH. Je vous propose de retrouver votre mot de passe ainsi
1/ Aller sur https://www.ovh.com/managerv3/ pour accéder à votre espace client
2/ Sélectionner votre nom de domaine dans le menu déroulant en haut de l’écran.
3/ Cliquez sur Hébergement > Explorateur FTP . Vous trouverez ici votre login
4/ Revenez sur l’écran précédent ou Cliquez sur ‘Hébergement’ dans la sidebar
5/ Cliquez sur Mot de passe FTP (icone ‘trousseau de clef’), puis de redéfinissez votre mot de passe.
Téléchargez ensuite Filezilla sur https://filezilla-project.org/
Consultez la leçon
https://www.fabricecourt.com/blog-fabrice-court/archiver-son-site-wordpress-partie-1-sur-2/
Puis paramétrer votre accès ainsi :
Hôte : Typiquement http://ftp.votrenomdedomaine.ext (soit http://ftp.memoireethistoire.com pour vous )
Identifiant : Le login que vous aurez trouvé au point 3/
mot de passe : Votre mot de passe défini au point 5/
Consultez le tuto filezilla sur https://www.fabricecourt.com/blog-fabrice-court/archiver-son-site-wordpress-partie-1-sur-2/
pour mieux connaitre l’appli
Archivez TOUT le dossier wp-content en local pour assurer vos arrières :)
Une fois cette précaution assurée, allez sur /wp-content/plugins/ pour supprimer le plugin indésirable.
Reposter si problème :)
Bonjour
Billet très intéressant, on se croit en sécurité et ces quelques précautions s’avèrent ne pas être superflus !!
Merci
Merci pour toutes ces indications et Bravo ,
Paula