Mysql
 sql >> Base de données >  >> RDS >> Mysql

Où dois-je conserver les informations d'identification de ma base de données ?

Tout d'abord, sachez que quoi que vous fassiez, si un attaquant parvient à accéder aux fichiers de votre serveur, il pourra voler le mot de passe.

Si vous utilisez la source de données d'un serveur d'applications, vous déplacez simplement l'emplacement du mot de passe en clair vers un autre fichier.

Si vous utilisez une forme de cryptage pour éviter de stocker un mot de passe en clair, votre application devra toujours le décrypter avec un autre mot de passe qu'elle aura déjà. Si un attaquant se donne beaucoup de mal pour accéder à votre système, vous pouvez être assez sûr qu'il le saura également. Ce que vous faites est de l'obscurcir (et d'acquérir un faux sentiment de sécurité) plutôt que de le sécuriser réellement.

Une solution plus sécurisée consiste pour un utilisateur à fournir le mot de passe (ou un mot de passe pour déchiffrer le mot de passe de la base de données) lors du démarrage de votre application, mais cela rendra l'administration très difficile. Et si vous êtes déjà paranoïaque (le bon type de sécurité, pas le genre fou) que quelqu'un ait accès à votre serveur, vous devriez considérer que le mot de passe DB résidera dans la mémoire système.

En dehors de cela, conservez votre mot de passe dans votre fichier de configuration (que vous pouvez être sûr que le serveur ne montrera pas au monde extérieur), verrouillez votre système et n'accordez à l'utilisateur de la base de données que les autorisations minimales requises.