web-dev-qa-db-fra.com

Comment mettre à jour correctement le mot de passe de la base de données Wordpress?

Un site que je gère a récemment été compromis et je suis en train de suivre les étapes pour le renforcer et le sécuriser à nouveau. J'aimerais changer le mot de passe de la base de données MySql et m'assurer de ne pas démonter le site (plus d'une minute).

Je crains également que si je modifie manuellement le mot de passe de la base de données directement dans le fichier wp-config.php , il sera visible et non chiffré. Par exemple, si mon mot de passe initial lors de l'installation était " please ", il apparaîtrait dans le fichier wp-config.php comme " aDQps4txy ".

Quel est donc le meilleur moyen de mettre à jour le mot de passe de la base de données?

Merci d'avance.

1
MagRat

C'est techniquement difficile. WordPress must a accès à votre mot de passe DB en texte brut. Avoir accès au contenu de wp-config.php constitue déjà une violation de la sécurité en cours.

Il existe d’autres méthodes de configuration, telles que le chargement des informations d’identité via des variables d’environmanet, mais elles sont en pratique utilisées très rarement car le fichier PHP de configuration est déjà une solution raisonnable.

Pourquoi ne supposez-vous pas que quelqu'un aura accès à la configuration? En tant que fruit à portée de main, vous pouvez le placer en dehors du répertoire accessible par le Web. WordPress recherchera la configuration d’un niveau de répertoire au-dessus de lui-même. Pour les installations de sous-répertoires, vous pouvez utiliser require pour charger du contenu de configuration ailleurs, mais même cela est rarement fait.

2
Rarst

Votre mot de passe de base de données actuel est stocké non chiffré dans le wp-config.php, c’est-à-dire si votre mot de passe est foobar, la ligne correspondante dans wp-config.php est la suivante:

/** MySQL database password */
define('DB_PASSWORD', 'foobar');

Comme l'a souligné @Rarst:

Avoir accès au contenu de wp-config.php est déjà une atteinte à la sécurité en cours.

En effet, PHP est un hypertexte pré-processeur. Quiconque accédera à wp-config.php via son navigateur Web fera acheminer le fichier par l’interprète côté serveur _ PHP. L'interprète transmet uniquement les données sur le client (le navigateur Web) qu'il a été chargé de générer. Le mot de passe de la base de données n'est pas généré par PHP. Lorsque j'accède à mon wp-config.php par le biais de mon navigateur, une page vide ne contenant aucun code source s'affiche car ce fichier ne génère rien du tout.

Cependant, il n'est pas vrai que le fait de stocker le mot de passe de la base de données non chiffré ne présente aucun risque. Toute personne qui aura la possibilité de contourner l’interprète PHP et, par conséquent, de lire la source du fichier aura accès à votre mot de passe. C’est aussi ce que @Rarst voulait dire. Pour être clair, cela peut aussi être un homme au milieu qui écoute votre connexion FTP non cryptée. Au moment où vous téléchargez wp-config.php via une connexion FTP non sécurisée (par opposition à une connexion SFTP chiffrée) afin de la modifier et de la télécharger à nouveau sur votre serveur, la possibilité que votre mot de passe soit espionné existe.

Le moyen le plus simple de prévenir la plupart des attaques consiste à maintenir votre serveur à jour au moyen de mises à jour de sécurité et à vous assurer de toujours utiliser des protocoles sécurisés (HTTP/FTP sur TLS = HTTPS/FTPS au lieu de HTTP/FTP, alternativement SFTP, et SSH au lieu de Telnet) lors du traitement de données sensibles, c'est-à-dire lorsqu'il agit en tant qu'administrateur.

Plus d'informations sur https://codex.wordpress.org/Hardening_WordPress .

0
Frank Kottler