¿Cuáles son las recomendaciones, las mejores prácticas y las tareas pendientes relacionadas con el manejo de cadenas de conexión en aplicaciones web? ¿Qué cosas nunca se deben hacer?
Mejor opción: no use una contraseña para la base de datos, sino que utilice la autenticación integrada (Windows) si es posible, y por supuesto aísle la identidad de la aplicación autorizada para la base de datos. De esa manera, el sistema operativo / servidor web / SCM gestionará su identidad de forma muy segura.
Si no es posible seguir el camino de IWA, deberá cifrar de forma segura la conexión, preferiblemente utilizando algo como DPAPI (para no tener que administrar la clave de cifrado) y almacenar el valor cifrado en un Registro protegido clave con ACL fuertes.
Si está en ASP.NET (de sus comentarios, pero no de OP), hay herramientas integradas para hacerlo automáticamente (aspnet_setreg, aspnet_regiis, etc., según la versión ...)
cosas que nunca debes hacer
cosas que debes hacer.
Recomendaría almacenar su cadena de conexión fuera del directorio raíz del sitio web.
Si está usando ASP.NET, su archivo web.config estará en el directorio raíz del sitio web, pero puede encripta una sección de su archivo web.config utilizando la API de protección de datos, que almacena la clave de descifrado de forma segura.
¿Qué marco de trabajo está utilizando para su aplicación web?
Como opción, intente usar función de la aplicación para acceder al servidor SQL
Beneficios:
Lea otras preguntas en las etiquetas web-application appsec databases