asp.net - sirve - odbc connection string sql server
Cadenas de conexión Mejores prácticas (4)
¿Cuál es la mejor manera de administrar cadenas de conexión en una aplicación web, desde un punto de vista de seguridad? Lo he hecho de varias maneras diferentes. Los he almacenado como texto sin formato web.config teclas de configuración. También he creado una clase de "Constantes" que tiene propiedades públicas de cadena de solo lectura para cada cadena de conexión.
¿Alguien tiene alguna recomendación para administrar cadenas de conexiones de tal manera que no me preocupe que se descubran maliciosamente? Definitivamente estoy abierto para el cifrado.
@vartec: No es del todo un SNAFU.
IIS puede leer texto cifrado si lo cifra utilizando un mecanismo de cifrado estándar de .NET que no rompa ninguna codificación UTF8 o Unicode. Microsoft también está fomentando esto como una mejor práctica.
Puede ver una muestra en la cadena de conexión de cifrado de esto:
"Cómo: Asegurar cadenas de conexión cuando se usan controles de origen de datos"
Puede cifrar y descifrar secciones de su web.config usando la herramienta de línea de comandos aspnet_regiis:
Cifrar: aspnet_regiis -pef "connectionStrings" "c: / folder /"
Descifrar: aspnet_regiis -pdf "connectionStrings" "c: / folder /"
Si tiene control total sobre el servidor, también puede almacenar la cadena de conexión en su Machine.Config. Esto puede ser útil si tiene muchas aplicaciones que funcionan con el mismo servidor DB.
No estoy seguro de si vale la pena cifrarlo, ya que, en primer lugar, tiene que acceder al servidor para ver el archivo machine.config. Y si su servidor se ha visto comprometido, la Encyrption no impedirá que un pirata informático extraiga las credenciales del archivo de configuración.
puede cifrar sus cadenas de conexión en su archivo web.config.
almacenar cadenas de conexión en una clase como una propiedad o una constante no es seguro. cualquier persona que use un desensamblador puede ver su cadena de conexión.
La mejor manera es el cifrado de configuración.