Outils pour utilisateurs

Outils du site


Panneau latéral

Traductions de cette page:

VEILLE

docs:securisation_wordpress

Sécurisation Wordpress

Note : compilation d'infos diverses pour améliorer la sécurisation d'un site sous Wordpress

Le compte Admin

En premier lieu, quelque soit la méthode d’installation choisie, créez toujours un nouveau compte ADMIN avec un login + mot de passe ultra sécurisé. Si possible évitez de choisir un login avec votre prénom ou la racine de votre domaine.

Restreindre le nombre d’essais d’identification

Installez une extension qui bloque les tentatives répétées d’une même adresse IP. (Login Lock Down par exemple).

Masquer la version de votre WordPress

Dans le fichier function.php de votre thème, ajoutez ce bout de code :

remove_action(“wp_head”, “wp_generator”);

Le numéro de version WP se trouve également dans le fichier readme.html situé à la racine de votre WordPress (fichier à supprimer également)

Ajouter les clefs de sécurité secrètes

Les clés d’authentification SALT créent un cookie d’identification qui protège votre installation.

Si ces codes ne sont pas présents dans votre fichier wp-config.php, vous pouvez les générer et les ajouter en vous rendant sur https://api.wordpress.org/secret-key/1.1/salt/

Protégez vos fichiers et bloquez la navigation dans vos dossiers WordPress.

Par défaut, n’importe qui peut accéder au contenu de vos dossiers WordPress (wp-content) via un simple navigateur.

Pour protéger le fichier wp-config via votre htaccess, ajoutez:

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

Pour cacher les répertoires sensibles toujours via le htaccess:

Options All -Indexes

Enfin pour protéger le fichier htaccess lui-même:

<Files .htaccess>
 order allow,deny
 deny from all
</Files>

Restreindre droits sur répertoires et fichiers

Répertoires :

find /path/to/your/wordpress/install/ -type d -exec chmod 750 {} \;

Fichiers :

find /path/to/your/wordpress/install/ -type f -exec chmod 640 {} \;

Empêcher exécution PHP dans Uploads

# Kill PHP Execution
<Files ~ "\.ph(?:p[345]?|t|tml)$">
   deny from all
</Files>

Empêcher exécution Includes

# Block the include-only files.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^wp-admin/includes/ - [F,L]
RewriteRule !^wp-includes/ - [S=3]
RewriteRule ^wp-includes/[^/]+\.php$ - [F,L]
RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]
RewriteRule ^wp-includes/theme-compat/ - [F,L]
</IfModule>
</file>

Changez le préfixe “wp_” par défaut des tables de la base MYSQL.

Ce préfixe est connu de tous et peut être vulnérable en cas d’injection. Retrouvez un tuto complet pour le changement de ce préfixe chez http://sql.sh/1205-wordpress-changer-prefixe-tables

Masquez les erreurs de connexion

WordPress renvoie un message bien trop explicite en cas de problème de connexion, ajouter la ligne suivante à votre functions.php du thème permet d’afficher un message d’erreur banalisé: <code> add_filter('login_errors',create_function('$a', “return null;”));

Désactiver l’éditeur de fichiers

Empêchez l’édition de vos fichiers directement depuis WordPress, ajouter simplement la ligne suivante à votre functions.php:

define('DISALLOW_FILE_EDIT',true);

Déplacer votre PhpMyAdmin

Désactiver XML-RPC

Dans functions.php :

add_filter( 'xmlrpc_enabled', '__return_false' ); remove_action( 'wp_head', 'rsd_link' );

source : http://www.geekpress.fr/desactiver-rest-api-xml-rpc-wordpress/

Déplacer votre page de login

plugin tel que WPS Hide Login ou SF Move Login

Passer en HTTPS

Tester son site

Plugins WP sécu

Docs en ligne

docs/securisation_wordpress.txt · Dernière modification: 2018/09/13 13:39 par ssa