25 Sep. 18 Cybersécurité

Comment sécuriser son site en wordpress en 16 points

sécurité WordPress - Guide pour sécuriser votre site en 16 points

WordPress est un outil de gestion de contenu (en Php/Mysql). Les fonctionnalités de WordPress permettent de publier simplement un site web ou un blog. En 2018, WordPress représente 30% de sites web publiés. La sécurisation de ce type de site est donc primordiale.

Cette article présente des méthodes pour sécuriser votre site WordPress et ainsi garantir un bon niveau de sécurité pour votre système d’information.

 

Comment sécuriser mon site ? Comment sécuriser WordPress en 16 Etapes ? Comment conserver un bon niveau de sécurité dans le temps pour mon site vitrine ? créer un site internet sécurisé. 

 

Voici nos conseils pour sécuriser votre site et éviter la compromission.

La Sécurisation du système

1. Désactivation du listage des répertoires

Description :

Pour limiter la fuite d’information il est important de désactiver le listage des répertoires au niveau du site.

 

Méthode :

Modification du fichier .htaccess et ajout de la ligne :

options –Indexes

2. Activation de SSL

Description :

Il est important de chiffrer les échanges entre votre site et vos clients. 

 

Méthode :

Fichier wp-config.php

define(‘FORCE_SSL_ADMIN’, true);

Fichier .htaccess

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]

 

3. Positionner les Bonnes Permissions sur les Fichiers

Description :

Il est important de positionner les bonnes permissions au
niveau de l’arborescence WordPress pour limiter une
compromission inter-sites WordPress.
 

Méthode :

Permissions UNIX sur les répertoires 755
Permission sur les fichiers 655

 

4. Désactiver PHP dans le Répertoire uploads

Description :

Le répertoire /uploads est sensible car de nombreuses
fonctions permettent de déposer des documents. Il est
important de filtrer les extensions PHP au niveau de ce
répertoire.
 

Méthode :

Création d’un fichier .htaccess dans /wp-contents/
uploads/

php_flag engine off
<Files ~ « \.ph(?:p[345]?|t|tml)$ »>
deny from all
</Files>

5. Sauvegarder

Description :

Mise en œuvre d’une solution de sauvegarde du site doit être déployée.

 

Méthode :

Sauvegarde du site et de la base MySQL

Solution :
Mise en œuvre d’un agent
Mise en œuvre d’un plugin
 

6. Changer de Préfixe Base de Données

Description :

Le nom des tables WordPress commence généralement par wp_, il est préconisé de modifier ce paramètre à l’installation.


Méthode :
Remplacer le préfixe proposé par WordPress à l’installation par un préfixe aléatoire.

La Sécurisation des Plugins

7. Nettoyer Plugins et Thèmes

Description :

De nombreuses vulnérabilités sont présentes dans les thèmes et plugins.
La bonne pratique est donc de limiter la présence de ces
plugins ou thèmes.

 

Méthode :
Supprimez les thèmes et le plugins non utilisés.

 

8. Gérer la Mise à Jour

Description :

il est important de faire une mise à jour automatique des différents composants.

 

Méthode :
Vérification des lignes dans votre fichier wp-config.php
Pour le core :

define( ‘WP_AUTO_UPDATE_CORE’, true );

Pour les plugins :

add_filter( ‘auto_update_plugin’, ‘__return_true’ );

Pour les thèmes :

add_filter( ‘auto_update_theme’, ‘__return_true’ );

 

9. Désactiver l’édition de fichiers dans WordPress

Description :

L’édition en ligne de fichiers dans l’interface de WordPress expose fortement votre installation. La préconisation est donc de désactiver cela.

 

 

Méthode :

Edition du fichier wp-config.php

define(‘DISALLOW_FILE_EDIT’, true);
 

10. Filtrer ou Nettoyer les Fichiers inutiles

Description :

Supprimer les fichiers non utilisés ou interdire l’accès (readme/changelog/backup).

 

Méthode :
Connexion à votre wordpress et recherche de ces fichiers orphelins
Ajout du code suivant dans votre fichier htaccess :

<FilesMatch « .
(bak|config|sql|fla|psd|ini|log|sh|inc|~|swp)$ »> Order
allow,deny Deny from all Satisfy All </FilesMatch>

 

11. Sécuriser la Connexion à votre serveur

Description :

Il est important de chiffrer les échanges entre votre poste et le serveur.

 

Méthode :
Pour vos connexions, privilégiez :

SSH à Telnet
SFTP ou FTPS à FTP
HTTPS à HTTP

 

La Protection de vos Comptes

12. Forcer la complexité de mots de passe

Description :

Exiger un mot de passe fort pour vos utilisateurs.

 

Méthode :
Utilisation de plugins :

force-strong-passwords

13. Mécanisme de Verrouillage de Comptes

Description :

Protégez vos comptes contre le brute force en instaurant une limitation sur les échecs d’authentification.

 

Méthode :
Utilisation de plugins :

Login Lockdown
Limit Login Atempts
Jetpack Protect

 

14. Changer le Compte Admin

Description :

Le compte admin de WordPress est souvent ADMIN.
Il est préconisé de renommer le compte pour éviter des tentatives de compromissions de comptes.

 

Méthode :

Plusieurs solutions :

création d’un nouveau compte et suppression du compte admin
utilisation du plugin username-changer
changer le login admin directement en base

 

15. Filtrer l’Énumération des Utilisateurs

Description :

Une astuce permet d’énumérer les utilisateurs d’un WordPress.
Il est donc préconisé de limiter cette exposition pour éviter un brute force sur vos comptes WordPress.

 

Méthode :
Modification du fichier .htaccess :

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/wp-admin [NC]
RewriteCond %{QUERY_STRING} author=\d
RewriteRule (.*) $1? [L,R=301]

 

16. Gérer les Permissions WordPress

Description :

Octroyer les bonnes permissions pour vos utilisateurs pour limiter la surface d’attaque.

 

Méthode :

Admin : accède à toutes les fonctionnalités
Éditeur : publie et gère les pages de tous les utilisateurs
Auteur : publie et gère ses propres pages uniquement
Contributeur : écrit et gère ses propres articles sans pouvoir les publier
Abonné : possède simplement un profil qu’il peut modifier

Aller plus loin pour sécuriser votre site