Recherche…


Remarques

Les sites Web WordPress sont fréquemment piratés. Cette rubrique concerne les techniques et les pratiques qui augmentent la sécurité de votre installation WordPress au-delà de ce qui est réalisé dans une installation de base.

En dehors de ce sujet, un autre bon endroit pour lire sur la sécurisation d'une installation WordPress est la page Hardening WordPress Codex .

Désactiver l'éditeur de fichier

L'éditeur de fichiers fourni avec WordPress est un risque de sécurité. Si un attaquant obtient un accès administrateur à votre site WordPress, il pourra facilement insérer du code malveillant dans les fichiers de thème et de plug-in. C'est également un risque pour les clients qui ne savent pas ce qu'ils font. Une fois le côlon mal placé dans l'éditeur de fichiers peut casser un site et le rendre inaccessible depuis le navigateur.

Dans votre fichier WordPress wp-config.php , désactivez l'éditeur de fichiers en ajoutant la ligne de code suivante.

define( 'DISALLOW_FILE_EDIT', true );

Cette ligne aura l'effet désiré lorsqu'elle sera ajoutée au fichier functions.php votre thème, mais il est préférable d'ajouter à wp-config.php .

Si vous utilisez WordPress CLI pour installer WordPress, vous pouvez utiliser la commande suivante pour créer un fichier wp-config.php avec une modification de fichier désactivée.

/* declare variables beforehand or substitute strings in */
wp core config --dbname="$MYSQL_DBNAME" --dbuser="$MYSQL_USERNAME" --dbpass="$MYSQL_PASS" --dbprefix="$WP_DBPREFIX"_ --locale=en_AU --extra-php <<PHP
define( 'DISALLOW_FILE_EDIT', true );
PHP

Cette méthode est utile si vous installez WordPress avec un script.

Déplacer wp-config.php

Les informations les plus sensibles d'une installation WordPress sont stockées dans le fichier wp-config.php . Si un pirate a accès à ce fichier, il contrôle totalement votre site Web.

Par défaut, wp-config.php est stocké dans le dossier d'installation de WordPress. Pour rendre ce fichier plus difficile à voler, vous pouvez le sortir du dossier accessible par le Web. Si vous ne le déplacez que d'un seul dossier, WordPress le trouvera automatiquement. Si vous déplacez wp-config.php vers un autre emplacement, créez un fichier vide appelé wp-config.php dans le dossier d'installation de WordPress. Puis ajoutez les éléments suivants:

define('ABSPATH', dirname(__FILE__) . '/');
// '../../wp-config.php' defines location two folders above installation folder.
// Substitute with actual location of wp-config.php file as necessary.
require_once(ABSPATH . '../../wp-config.php');

Vous devrez peut-être faire en sorte que php exécutable dans le dossier dans lequel vous placez wp-config.php. Vous devriez créer un exécutable php dans le moins de dossiers possible. Un bon système place l’installation de WordPress dans /path/to/wordpress/install/ et la configuration dans /path/to/wordpress/config . Assurez-vous que le dossier de configuration n'est pas accessible sur le Web et ne placez aucune autre information sensible placée dans /path/to/ ou plus haut dans la hiérarchie des dossiers. Dans ce cas, vous écrivez une ligne similaire à la suivante dans votre php.ini :

open_basedir = "/path/to/wordpress/install/;/path/to/wordpress/config"

Cette technique est controversée et certaines personnes ne pensent pas que cela améliore la sécurité. Une discussion approfondie sur le sujet peut être lue à cette question WordPress StackExchange .

Définir un préfixe personnalisé pour les tables WordPress

Lorsque vous installez WordPress sur votre serveur, le script d'installation place un préfixe devant tous les noms de tables MySQL WordPress. Ce préfixe est défini sur 'wp_' par défaut. La table des publications WordPress s'appellera par exemple wp_posts . En modifiant le préfixe de la table, vous pouvez créer une certaine sécurité par obscurité. De cette façon, lorsqu'un pirate tente d'attaquer des attaques par injection SQL, il devra deviner le préfixe de votre table plutôt que d'utiliser simplement «wp_». Vous pouvez définir ce préfixe comme vous le souhaitez.

Définir le préfixe dans une nouvelle installation WordPress

Si vous utilisez une installation de 5 minutes, changez le préfixe dans le champ pendant l'installation.

entrer la description de l'image ici

Si vous installez via WordPress CLI, utilisez la commande suivante:

// set other variables above, or substitute your strings in.
WP_DBPREFIX=foo
wp core config --dbname="$MYSQL_DBNAME" --dbuser="$MYSQL_USERNAME" --dbpass="$MYSQL_PASS" --dbprefix="$WP_DBPREFIX"_ --locale=en_AU

Modifier le préfixe dans une installation existante

Changer le préfixe est un peu plus difficile. Tout d'abord, utilisez un programme FTP tel que FileZilla pour éditer le fichier wp-config.php . Changez l'entrée $table_prefix = 'wp_'; à $table_prefix = 'foo_'; substituer «foo» à votre préfixe désiré.

Ensuite, nous devrons modifier la base de données. Si vous avez accès à phpMyAdmin, connectez-vous et procédez comme suit:

  • Sélectionnez la base de données WordPress entrer la description de l'image ici
  • Sélectionnez toutes les tables et, dans la liste déroulante, sélectionnez le préfixe de la table. entrer la description de l'image ici
  • Dans "De" tapez "wp_". Dans "À" tapez votre préfixe, "foo_" dans cet exemple et appuyez sur "Soumettre". entrer la description de l'image ici
  • Les tableaux doivent maintenant ressembler à ceci: entrer la description de l'image ici

Si vous ne pouvez pas utiliser phpMyAdmin, utilisez la commande MySQL suivante:

RENAME table `wp_comments` TO `foo_comments`

Vous devrez exécuter cette commande pour chaque table, en remplaçant les autres noms de table par des commentaires.

Ensuite, nous devons modifier quelques entrées dans certaines tables. Exécutez cette requête sur la table 'foo_options'

SELECT * FROM  foo_options WHERE option_name LIKE '%user_roles%'

Une entrée avec option_name de 'wp_user_roles' devrait apparaître. Dans cette entrée, remplacez l'entrée 'nom_option' de wp_user_roles par foo_user_roles .

Ouvrez ensuite le tableau 'foo_usermeta' et trouvez chaque entrée avec 'wp_' au début. entrer la description de l'image ici et changez-le en 'foo_'. Le nombre d'entrées à modifier dépend du nombre d'utilisateurs que vous avez. entrer la description de l'image ici

Cela devrait être tout ce dont vous avez besoin pour changer le préfixe dans une installation existante



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow