Quelles sont les recommandations, les meilleures pratiques et les dons en ce qui concerne la manipulation des chaînes de connexion dans les applications Web? Quelles sont les choses que l'on ne devrait jamais faire, jamais?
Meilleure option: N'utilisez pas de mot de passe pour la base de données, mais utilisez plutôt une authentification intégrée (Windows) si elle est possible, et bien sûr isoler l'identité de l'application autorisée pour la base de données. De cette façon, vous avez le système d'exploitation/serveur Web/SCM gère votre identité, de manière très sécurisée.
S'il n'est pas possible d'aller la voie de I Ntiquegrated W Indows A uthentication (IWA), vous devrez crypter de manière sécurisée la Connstring, de préférence en utilisant quelque chose comme DPAPI (vous n'avez donc pas à gérer la clé de cryptage) et de stocker le Valeur cryptée dans une clé de registre protégée avec des ACL fortes.
[.____] Si vous êtes sur ASP.NET (de vos commentaires, mais pas OP), il existe des outils intégrés pour le faire automatiquement (aspnet_seg, aspnet_regiis, etc. en fonction de la version ...)
choses que vous ne devriez jamais faire
choses que vous devriez faire.
Je vous recommanderais de stocker votre chaîne de connexion en dehors du site Web du site Web.
Si vous utilisez ASP.NET, votre fichier Web.config se trouve dans le répertoire racine du site Web, mais vous pouvez chiffrer une section de votre fichier web.config à l'aide de l'API de protection des données, qui stocke la clé de décryptage solidement.
Quel cadre utilisez-vous pour votre application Web?
En option, essayez d'utiliser rôle d'application pour accéder à SQL Server
Avantages: