2011-04-21 1 views
0

Je développe une petite application qui aidera les utilisateurs à obtenir facilement des informations auprès de leur fournisseur d'isp, en supprimant leur page de compte isp. Pour que ce soit possible, j'ai besoin de leur nom d'utilisateur et mot de passe stocker dans mon DB. Pour garder leur mot de passe en sécurité, j'utiliserai une clé publique openssl pour l'encoder dans mon db et une clé privée pour le décoder avant que mon scrapper ne se connecte à sa page de compte.Comment sécuriser une clé privée utilisée par un serveur Web pour décrypter le stockage de chaîne dans une base de données?

Je me demande où mettre ma clé privée pour que les mots de passe soient sûrs même si quelqu'un prend le contrôleur de mon serveur web? Parce que ce serait tout à fait inapproprié de laisser simplement la clé privée sur le serveur web ...

TKS

Répondre

0

Si quelqu'un prend le contrôle total de votre serveur et est intéressé par ces mots de passe, il réussira. Toujours prendre cela en considération et faire des plans sur ce qu'il faut faire dans ce cas. Maintenant, pour rendre le plus difficile possible et improbable pour y parvenir, je suggère de stocker la clé (ou mieux, les mots de passe) dans une sorte de table de mémoire: comme un Ramdisk, un script qui ne donnera qu'un seul mot de passe par minute et supprimer lui-même si appelé plus que cela etc

Je ne vois aucun effet positif de l'utilisation du cryptage à clé publique ici, la clé à décrypter doit être stockée sur le serveur, peu importe ce que vous utilisez. Vous pouvez rechercher des howtos qui décrivent le problème des certificats https, ils doivent être protégés par des mots de passe et doivent être lus au démarrage du serveur - le problème est lié.

Probablement une bonne solution serait de se connecter au serveur, de stocker le fichier de mot de passe dans un disque virtuel et de se déconnecter. Répéter sur le redémarrage du serveur, le crash ou le changement de mot de passe.

Questions connexes