2012-03-08 4 views
6


He visto algunos desarrolladores de asp.net cifrar ConnectionStrings que se incluyó en el archivo de configuración separado.
¿Por qué hicieron eso? Sé que los archivos de configuración no se pueden leer desde el lado del cliente/navegador. ¿Es posible acceder a este tipo de archivos?¿Por qué algunos desarrolladores de asp.net encriptan ConnectionStrings?

+1

Puede cifrar _any_ secciones de configuración. No tiene que estar en un archivo de configuración separado. – Oded

+0

Lo sé, pero dije eso para ser claro. – dotfreelancer

Respuesta

15

No se puede descartar que el buzón web esté en peligro. Además, no desea que los administradores web conozcan las contraseñas de las bases de datos.

Debe recordar que los archivos de configuración no pueden ser obtenidos por el navegador simplemente porque la extensión .config está en la lista de restricciones en los metadatos de IIS. Es posible obtenerlos del servidor de otra manera o algún problema de configuración incorrecta puede permitir que se descarguen.

3

Si carga su archivo web.config con errores personalizados establecidos en "off", cualquier error producido por su aplicación web mostrará su código. Esto podría incluso incluir líneas de sus archivos de configuración y esto podría incluir las "cadenas de conexión" haciéndolas visibles para el público.

+4

Este es un problema diferente, creo. Sus excepciones contendrán la cadena de conexión completa en texto sin formato, incluso si la sección de configuración está encriptada. –

+0

+1 Muy buen punto Zishan –

4

Se puede acceder por personal de mantenimiento, operadores de copia de seguridad u otros que tienen acceso al disco sin pasar por el sitio web. Ese es un ejemplo.

3

Para todas las organizaciones que lo más importante para ellos es sus datos

  1. Esto se hace cuando hay múltiples desarrolladores que trabajan en la misma aplicación
  2. A veces, los nuevos desarrolladores también están inscritos en el equipo. La exposición de cada & todos los aspectos de su base de datos, sistema, nombre de usuario, nombre de la máquina no es un buen enfoque
  3. hay posibilidad de fuga de información en la producción, las pruebas Q/A de fase, etc.
  4. Esto viene muy útil cuando hay un robo de código dentro de una organización, permite que sus datos estén seguros de una intrusión externa ya que las cadenas de conexión fueron encriptadas
  5. ¿Puede usted arriesgarse si alguien tiene acceso a su base de datos & realizar una caída de tabla/esquema o eliminar todo de su ¿mesas? MSDN: How to secure connection strings when using a datasource
Cuestiones relacionadas