Les 20 meilleures pratiques pour sécuriser votre site WordPress

Nicolas Lecocq /
securise votre site wordpress

L’ère numérique a apporté une vague d’innovations passionnantes, mais également son lot de défis. Parmi ces défis, la sécurité des sites web se révèle primordiale. Alors que WordPress reste la plateforme de gestion de contenu la plus populaire, représentant plus de 40% de tous les sites Internet, sa popularité en fait également une cible privilégiée pour les cybercriminels. C’est pourquoi, si vous faites partie des millions de personnes utilisant WordPress, la sécurité de votre site doit être une priorité.

Cet article a pour but d’explorer en détail les meilleures pratiques pour sécuriser votre site WordPress. Nous aborderons des sujets allant de l’importance de maintenir votre site à jour, en passant par le choix de mots de passe forts, l’utilisation de plugins de sécurité de qualité, et bien plus encore. Que vous soyez un blogueur individuel, un propriétaire de petite entreprise, ou un administrateur de site pour une grande organisation, ces conseils vous aideront à protéger votre présence en ligne contre les menaces potentielles.

Pour ceux qui sont moins familiarisés, WordPress est une plateforme de gestion de contenu (CMS) qui permet de créer et de gérer facilement un site web. Bien qu’elle soit extrêmement facile à utiliser, la sécurisation d’un site WordPress peut nécessiter une certaine connaissance technique. C’est là que cet article intervient, offrant un guide détaillé des mesures de sécurité que vous pouvez mettre en place dès maintenant.

L’objectif de cet article est donc de vous aider à comprendre et à naviguer dans les complexités de la sécurité WordPress, et de vous fournir des recommandations claires et pratiques pour renforcer la sécurité de votre site. Alors, sans plus tarder, explorons ensemble les meilleures pratiques pour sécuriser votre site WordPress.

Note : Avant toute chose, réalisez un backup de votre site, nous allons voir ensemble les codes à ajouter dans différents fichiers, à la moindre mauvaise manipulation, votre site pourrait devenir inaccessible. Nous ne serons pas tenus responsable si vous décidez de passer outre ce conseil.

Comprendre la sécurité sur WordPress

Sécurisé votre site WordPress

Comprendre la sécurité de votre site WordPress est la première étape pour le protéger efficacement. Avant d’aborder les mesures spécifiques que vous pouvez prendre pour sécuriser votre site, il est essentiel de comprendre pourquoi la sécurité de WordPress est si importante, quelles sont les menaces courantes et quelles pourraient être les conséquences d’une attaque.

Pourquoi la sécurité WordPress est-elle essentielle ?

La sécurité de WordPress est essentielle pour plusieurs raisons. D’abord, les cyberattaques sont monnaie courante et elles sont en constante évolution. En raison de sa popularité, WordPress est une cible attrayante pour les cybercriminels. De plus, les sites web non sécurisés peuvent facilement être compromis, ce qui peut avoir de graves conséquences, tant sur le plan financier qu’en termes de réputation.

Ensuite, un site web compromis peut être utilisé pour mener des attaques contre d’autres sites ou pour diffuser du contenu malveillant, ce qui peut entraîner des problèmes juridiques. Enfin, en raison des réglementations strictes en matière de protection des données, comme le RGPD, les propriétaires de sites web ont la responsabilité de protéger les informations de leurs utilisateurs.

Les menaces communes aux sites WordPress

1. Injection SQL : Il s’agit d’une technique utilisée par les hackers pour manipuler la base de données de votre site en insérant du code malveillant.

2. Attaques par force brute : Ces attaques consistent à essayer un grand nombre de combinaisons de noms d’utilisateur et de mots de passe jusqu’à ce que la bonne combinaison soit trouvée.

3. Scripts intersites (XSS) : Ce type d’attaque se produit lorsque des scripts malveillants sont injectés dans des sites web de confiance, les scripts peuvent alors être utilisés pour voler des informations sensibles.

4. Attaques DDoS : Une attaque par déni de service distribué (DDoS) se produit lorsque votre site est inondé de trafic dans le but de le rendre inaccessible.

5. Exploitation des failles de sécurité des plugins : De nombreux sites WordPress utilisent des plugins pour ajouter des fonctionnalités, mais si ces plugins ne sont pas maintenus à jour, ils peuvent présenter des failles de sécurité qui peuvent être exploitées par les hackers.

Les conséquences d’une attaque sur un site WordPress

Les conséquences d’une attaque sur votre site WordPress peuvent être désastreuses. Outre la perte de données et de temps pour la restauration du site, votre réputation peut être gravement touchée si les informations de vos utilisateurs sont exposées. Cela peut entraîner une perte de confiance de la part de vos utilisateurs et un impact sur votre classement dans les moteurs de recherche. Dans certains cas, vous pourriez également être tenu responsable des pertes financières ou des dommages causés par une attaque sur votre site.

En conclusion, la sécurité de WordPress ne doit jamais être prise à la légère. Un site web sécurisé est un élément crucial de toute présence en ligne réussie. Dans les sections suivantes, nous explorerons les mesures spécifiques que vous pouvez prendre pour renforcer la sécurité de votre site WordPress.

Les meilleures pratiques pour sécuriser votre site WordPress

Meilleures pratiques de sécurités

Maintenant que nous avons établi pourquoi la sécurité de WordPress est essentielle, explorons les meilleures pratiques pour sécuriser votre site WordPress. Ces mesures pratiques vous aideront à protéger votre site contre les menaces potentielles et à garantir que vos données, ainsi que celles de vos utilisateurs, restent sécurisées.

Activer SSL/HTTPS

Je pense que c’est le point le plus important mais il existe encore des sites sans SSL. La plupart des hébergeurs vous le proposent gratuitement grâce à Let’s Encrypt qui est gratuit. Si vous ne savez pas comment l’activer, contactez votre hébergeur qui le fera pour vous. Une fois fait, n’oubliez pas d’aller dans votre dashboard WordPress, puis de cliquer sur Réglages > Général, afin de changer l’adresse de votre site en y ajoutant https:// à la place de http:// dans les deux options Adresse web de WordPress (URL) et Adresse web du site (URL).

Une fois cette étape effectuée, ouvrez le fichier .htaccess qui se trouve à la racine de votre site, dans votre éditeur de texte et ajoutez-y ce code :

RewriteCond %{HTTPS} !=on
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Cela va permettre de rediriger les URLs non sécurisés vers leurs versions sécurisées.

Utiliser l’une des dernières versions PHP

Il en existe de moins en moins comparé à quelques années mais il existe toujours quelques sites qui utilisent PHP 5.6 qui est une version si ancienne qu’elle n’a plus de support de sécurité et est exposée à des vulnérabilités de sécurité non corrigées. Les bons hébergeurs n’utilisent même plus cette version donc il y a peu de chances que vous rencontriez ce problème, mais ça ne vous coûte rien de vérifier et mettre à jour à la version 8.1 si votre hébergeur le propose.

Mise à jour régulière du noyau de WordPress, des thèmes et des plugins

La mise à jour régulière de votre site WordPress est l’un des moyens les plus efficaces de le sécuriser. Le noyau de WordPress, les thèmes et les plugins reçoivent régulièrement des mises à jour pour corriger les bugs et les failles de sécurité. Assurez-vous donc de toujours utiliser la dernière version.

Pour effectuer des mises à jour, accédez simplement à votre tableau de bord WordPress, où vous verrez une notification si une mise à jour est disponible. Vous pouvez alors choisir de mettre à jour automatiquement ou manuellement. Si vous avez peur de rendre votre site inaccessible dû à une mise à jour et une incompatibilité, ou si vous souhaitez simplement fournir la maintenance de votre site WordPress à des experts pour vous occuper pleinement de faire fructifier votre business, n’hésitez pas à nous contacter.

Mise en place d’un système de sauvegarde

La sauvegarde de votre site est essentielle pour la récupération en cas d’attaque. Vous devriez avoir un système en place qui effectue des sauvegardes régulières de votre site. Un plugins tel que UpdraftPlus peux faciliter ce processus.

Choix de mots de passe forts et sécurisés

Cela devrait être logique mais j’ai énormément eu affaire à des clients avec un mot de passe si simple qu’il n’est qu’une question de temps avant qu’ils ne se fassent hacker leurs sites s’ils ne le changent pas maintenant.

Un mot de passe fort est votre première ligne de défense contre les attaques. Assurez-vous que tous les comptes administratifs ont des mots de passe uniques et complexes. Utilisez une combinaison de lettres, de chiffres et de symboles pour rendre votre mot de passe plus robuste.

Voici un outil très utile pour vous aider à générer un mot de passe fort : Dashlane

Utiliser un nom d’utilisateur sécurisé

L’une des erreurs les plus courantes consiste à utiliser des noms d’utilisateur faciles à deviner, tels que admin, administrateur ou test. Cela expose votre site à un risque plus élevé d’attaques par force brute. De plus, les hackers utilisent également ce type d’attaque pour cibler les sites WordPress qui n’ont pas de mots de passe forts. Alors si cela est votre cas, cliquez sur Comptes > Ajouter, sélectionnez Administrateur dans Rôle et entrer un identifiant facile à retenir pour vous mais pas pour les hackers, puis supprimez votre ancien compte admin.

Changer l’URL de connexion de l’administrateur WordPress

Il est vrai que par habitude, je préfère utiliser le moins de plugins possibles mais pour masquer la page de connexion par défaut, il faudrait modifier un fichier core de WordPress qu’il faudra remodifier après chaque mise à jour de celui-ci, c’est pour cette raison que je recommande fortement l’utilisation du plugin WPS Hide Login qui permet très facilement d’ajouter votre propre accès login.

Après l’installation du plugin, allez dans Réglages > WPS Hide Login puis ajoutez votre URL de connexion et votre URL de redirection.

Lorsqu’une personne essayera d’accéder à votre site via wp-admin ou wp-login.php, il sera renvoyé vers l’URL de redirection. Attention, surtout, retenez bien votre nouvelle URL de connexion.

Approfondir la sécurité WordPress avec des pratiques avancées

Pratiques de sécurité avancées

Une fois que vous avez mis en œuvre les meilleures pratiques de base pour la sécurité de votre site WordPress, vous pouvez envisager d’adopter des mesures de sécurité plus avancées. Ces mesures nécessitent généralement une certaine connaissance technique, mais elles peuvent offrir une protection supplémentaire contre les menaces de sécurité.

Refuser l’accès à vos fichiers wp-config et .htaccess

Les fichiers wp-config et .htaccess sont deux des fichiers les plus cruciaux de votre site qui donnent toutes sortes d’autorisations et imposent des restrictions.

Ouvrez votre fichier .htaccess et ajoutez-y ce code juste après # END WordPress :

<files wp-config.php>
    order allow,deny
    deny from all
</files>

<Files ~ “^.*\.([Hh][Tt][Aa])”>
     Order Allow,Deny
     Deny from all
     Satisfy all
</Files>

Un élément à prendre en compte, certains plugins comme WP Rocket ont besoin d’écrire du code dans ses fichiers, je vous conseille d’ajouter leurs codes manuellement pour plus de sécurité.

Désactiver les indices de connexion dans les messages d’erreur

Par défaut, la page de connexion WordPress affiche un message d’erreur lorsque quelqu’un saisit le mauvais nom d’utilisateur ou mot de passe. Cependant, ces messages d’erreur peuvent aider les pirates à deviner votre nom d’utilisateur, votre adresse e-mail ou votre mot de passe.

Entrez ce code dans le fichier functions.php de votre thème ou thème enfant :

function vaya_no_wordpress_errors() {
    return 'Le nom d&rsquo;utilisateur ou mot de passe est incorrect !';
}
add_filter( 'login_errors', 'vaya_no_wordpress_errors' );

Limiter les tentatives de connexion

La limitation des tentatives de connexion peut aider à prévenir les attaques par force brute. Vous pouvez utiliser un plugin pour limiter le nombre de tentatives de connexion à partir d’une même adresse IP. Mais comme j’aime utiliser le moins de plugins possible sur les sites de mes clients, voici le code à ajouter dans le fichier functions.php de votre thème pour limiter la connexion à 3 erreurs :

function vaya_check_attempted_login( $user, $username, $password ) {
    if ( get_transient( 'attempted_login' ) ) {
        $datas = get_transient( 'attempted_login' );

        if ( $datas['tried'] >= 3 ) {
            $until = get_option( '_transient_timeout_' . 'attempted_login' );
            $time = vaya_time_to_go( $until );
            return new WP_Error( 'too_many_tried',  sprintf( __( '<strong>ERREUR</strong>: Vous avez atteint la limite d&rsquo;authentification, vous pourrez réessayer dans %1$s.' ) , $time ) );
        }
    }
    return $user;
}
add_filter( 'authenticate', 'vaya_check_attempted_login', 30, 3 ); 

function vaya_login_failed( $username ) {
    if ( get_transient( 'attempted_login' ) ) {
        $datas = get_transient( 'attempted_login' );
        $datas['tried']++;

        if ( $datas['tried'] <= 3 ) {
            set_transient( 'attempted_login', $datas , 300 );
        }
    } else {
        $datas = array(
            'tried'     => 1
        );
        set_transient( 'attempted_login', $datas , 300 );
    }
}
add_action( 'wp_login_failed', 'vaya_login_failed', 10, 1 ); 

function vaya_time_to_go( $timestamp ) {
    // convertir l'horodatage mysql en heure php
    $periods = array(
        "second",
        "minute",
        "hour",
        "day",
        "week",
        "month",
        "year"
    );
    $lengths = array(
        "60",
        "60",
        "24",
        "7",
        "4.35",
        "12"
    );
    $current_timestamp = time();
    $difference = abs( $current_timestamp - $timestamp );
    for ( $i = 0; $difference >= $lengths[$i] && $i < count( $lengths ) - 1; $i ++ ) {
        $difference /= $lengths[$i];
    }
    $difference = round( $difference );
    if ( isset( $difference ) ) {
        if ( $difference != 1 ) {
            $periods[$i] .= "s";
            $output = "$difference $periods[$i]";
            return $output;
        }
    }
}

Protection DDoS

Les attaques DDoS sont l’une des attaques les plus difficiles. Ajoutez ce code dans le fichier .htaccess qui se trouve à la racine de votre site :

<Files xmlrpc.php>
order deny,allow
deny from all
</Files>

À coller juste après # END WordPress.

Empêcher le Hotlinking

Le hotlinking d’images est une pratique qui peut affecter négativement les performances de votre site et vos résultats. Cependant, il peut parfois être difficile de remarquer qu’il y a un problème jusqu’à ce que le mal soit fait. C’est pourquoi il est important d’empêcher les liens d’image dans WordPress avant que cela ne devienne un problème.

Ajoutez ce code dans votre fichier .htaccess :

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?votresite.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?google.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?linkedin.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?facebook.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?twitter.com [NC]
RewriteRule \.(jpg|jpeg|png|gif|webp)$ - [F]

Veillez bien à remplacer votresite.com par l’URL de votre site. Cela va empêcher les sites autres que votre propre site, Google, LinkedIn, Facebook et Twitter d’accéder à vos images. Vous pouvez bien entendu copier l’une de ses lignes et y ajouter une autre URL.

Installation et configuration d’un pare-feu d’application Web (WAF)

Un pare-feu d’application Web (WAF) agit comme un bouclier entre votre site web et le trafic entrant. Il analyse le trafic et bloque les activités suspectes, protégeant ainsi votre site contre les attaques. Des plugins de sécurité WordPress, tels que Wordfence et Sucuri, offrent des fonctionnalités WAF.

Désactivation de l’édition de fichier

WordPress permet aux administrateurs d’éditer les fichiers de thèmes et de plugins directement à partir du tableau de bord. Cependant, cette fonctionnalité peut être exploitée par des personnes mal intentionnées si elles obtiennent un accès à votre tableau de bord. Vous pouvez désactiver l’édition de fichier en ajoutant cette ligne de code à votre fichier wp-config.php :

define( 'DISALLOW_FILE_EDIT', true );

Mise en place de l’authentification à deux facteurs

L’authentification à deux facteurs (2FA) ajoute une couche supplémentaire de sécurité en exigeant une deuxième forme de vérification lors de la connexion. Vous pouvez mettre en place une 2FA sur votre site WordPress en utilisant un plugin.

Changer le préfixe de base de données WordPress par défaut

La base de données WordPress contient et stocke toutes les informations cruciales nécessaires au fonctionnement de votre site. Par conséquent, les pirates ciblent souvent la base de données avec des attaques par injection SQL. Cette technique injecte du code nuisible dans la base de données et peut contourner les mesures de sécurité de WordPress et récupérer le contenu de la base de données.

Plus de 50 % des cyberattaques consistent en injection SQL, ce qui en fait l’une des plus grandes menaces. Les pirates exécutent cette attaque car de nombreux utilisateurs oublient de modifier le préfixe de base de données par défaut wp_.

Il est assez simple de remédier à ce problème mais cela est assez complexe pour un débutant alors je vous conseille de contacter votre hébergeur pour lui demander s’il peut le faire pour vous. Vous pouvez également nous contacter si vous souhaitez un travail rapide et de qualité !

Masquer la version WordPress

Les pirates peuvent pénétrer plus facilement dans votre site s’ils savent quelle version de WordPress vous utilisez. Ils peuvent utiliser les vulnérabilités de cette version pour attaquer votre site, surtout s’il s’agit d’une ancienne version de WordPress.

Ajoutez ce code dans le fichier functions.php de votre thème :

function vaya_remove_version() {
return '';
}
add_filter( 'the_generator', 'vaya_remove_version' );

remove_action( 'wp_head', 'wp_generator' );

Désactiver l’exécution de fichiers PHP dans certains répertoires WordPress

Une autre façon de renforcer votre sécurité WordPress consiste à désactiver l’exécution des fichiers PHP dans les répertoires où il n’est pas nécessaire, tels que /wp-content/uploads/.

Pour cela, ouvrez votre éditeur de texte comme Visual Code et ajoutez ce code :

<Files *.php>
deny from all
</Files>

Sauvegardez ce fichier en .htaccess et ajoutez-le dans votre dossier /wp-content/uploads/ via FTP.

Utilisation d’un plugin de sécurité WordPress de qualité

Un plugin de sécurité peut ajouter une couche supplémentaire de protection à votre site WordPress. Des plugins tels que Wordfence, All-In-One Security, Sucuri Security et iThemes Security offrent une gamme de fonctionnalités de sécurité, y compris les pare-feu, les scanners de malware, les blocages d’IP et bien plus encore.

Surveillance et audit de la sécurité du site

La surveillance de la sécurité et la tenue d’un registre des activités sur votre site peuvent vous aider à détecter les activités suspectes et à réagir rapidement. Plusieurs plugins de sécurité offrent des fonctionnalités d’audit et de surveillance.

Conclusion

La sécurité est une préoccupation majeure pour tout propriétaire de site WordPress, mais, comme nous l’avons vu, il existe de nombreuses étapes que vous pouvez suivre pour protéger votre site contre les menaces potentielles. De la mise à jour régulière de votre site et l’utilisation de mots de passe forts, à l’installation d’un plugin de sécurité de qualité et la mise en place d’un système de sauvegarde, chaque mesure contribue à renforcer la sécurité globale de votre site.

N’oubliez pas, cependant, que la sécurité de votre site WordPress ne s’arrête pas à la mise en œuvre de ces meilleures pratiques. La sécurité est un processus continu qui nécessite une vigilance constante et l’adaptation aux nouvelles menaces et techniques de défense. Les pratiques avancées que nous avons explorées, telles que l’installation d’un pare-feu d’application Web, la sécurisation du fichier wp-config.php et la mise en place de l’authentification à deux facteurs, peuvent fournir des niveaux supplémentaires de protection.

La clé est d’adopter une approche proactive de la sécurité, plutôt que de réagir aux problèmes après qu’ils se soient produits. Avec un effort conscient et continu pour maintenir la sécurité de votre site WordPress, vous pouvez vous assurer que votre site reste sécurisé, fonctionnel et fiable pour vos utilisateurs.

Nous espérons que cet article vous a fourni une bonne compréhension des meilleures pratiques pour sécuriser votre site WordPress et vous a donné les outils nécessaires pour renforcer la sécurité de votre site. N’hésitez pas à partager vos expériences, questions ou conseils supplémentaires dans les commentaires ci-dessous. Ensemble, nous pouvons contribuer à faire de l’internet un lieu plus sûr pour tous.

Note éditoriale : Nous pouvons gagner une commission lorsque vous visitez des liens sur notre article.
Nicolas Lecocq

Bonjour ! Je suis Nicolas, le pilier de Vayalis. Je façonne votre espace en ligne et partage mon expertise WordPress. Des interrogations ou des impressions post-lecture ? L'espace commentaires vous attend !

1 Commentaire

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *