Où stocker en toute sécurité les clés d'API et les mots de passe dans WordPress?

11

Je cherche à utiliser quelques API et beaucoup viennent avec des clés, des clés secrètes et des mots de passe nécessaires pour fonctionner. Où dans WordPress pouvez-vous stocker ces informations? En supposant que n'importe qui peut pirater votre base de données, existe-t-il de toute façon que WordPress rende la sauvegarde de ces informations plus sûre? Envisagez également la possibilité de changer ces clés très souvent, donc je devrais mettre à jour les clés sur une page d'options.

MISE À JOUR

jgraup
la source

Réponses:

9

Il n'existe aucun moyen absolument sûr de stocker ces informations de façon permanente.
Vous avez deux options pour augmenter un peu la sécurité:

  1. Utilisez le tableau des options et cryptez les données

    Utilisez une méthode de chiffrement renforcée et associez-la à:

    • votre mot de passe lorsque vous souhaitez utiliser l'appel API uniquement lorsque vous êtes connecté, ou
    • une clé secrète stockée dans votre wp-config.php- alors un attaquant a besoin des deux, le code PHP et la base de données
  2. Stockez les informations d'accès en dehors de WordPress

    Si vous utilisez un système de déploiement automatique, par exemple basé sur Composer et wpstarter , vous avez probablement une sorte de serveur de déploiement comme Envoyer qui crée un fichier avec des variables de configuration importantes qui est stocké en dehors de la racine du document du serveur de site .
    Ensuite, vous pouvez utiliser le backend du serveur de déploiement au lieu du backend WordPress pour modifier ces données.

Les deux options ne sont pas complètement sûres. Vous devez toujours surveiller l'utilisation réelle de l'API pour détecter les activités involontaires. Assurez-vous qu'il existe un journal qui ne peut pas être compromis par une personne ayant un accès complet à votre site Web.

fuxia
la source
Existe-t-il un moyen d'intégrer quelque chose comme Azure Key Vault dans WP?
PoorInRichfield
4

La réponse est non. Si votre base de données peut être espionnée, votre code peut probablement l'être aussi, même si vous cryptez des données, elles peuvent être décryptées.

Si vous allez stocker des données sensibles, il n'y a pas de solution de bas niveau pour vous aider et il vous suffit de sécuriser l'ensemble de votre application pour rendre la question du stockage non pertinente.

En fait, j'ai rencontré une exigence de chiffrement des données, donc si la sécurité de l'application est violée et que vous n'accédez qu'à la base de données, vous ne pouvez pas utiliser ces données, mais dans la vraie vie, vous êtes plus susceptible d'être piraté au niveau de wordpress qu'au niveau de la base de données .

Mark Kaplun
la source