2009-03-25 26 views
5

Me falta algo ...¿Encriptar web.config usando la configuración protegida no tiene sentido?

Así que estoy en el proceso de descifrar la mejor manera de encriptar la cadena de conexión de la base de datos y la información de conexión de estado de la sesión sql en web.config. Rápidamente me encuentro un paseo a través de MSDN que explican mediante la configuración protegida para cifrar partes del web.config: MSDN walkthrough on using Protected Configuration

Así que estoy pensando en grande, hay un mecanismo para hacer esto y se ve muy simple. Llego al final del tutorial y proporcionan el código fuente de una página aspx que se puede utilizar para descifrar todas las cadenas de conexión.

¿Cuál es el punto? No tengo ningún servicio ftp ejecutándose en este servidor web, la única forma en que cualquiera va a ver web.config es si tienen acceso al sistema de archivos donde se publica el sitio web. Si tienen eso, entonces todo lo que tienen que hacer es usar el código provisto para desencriptar.

¿Qué me estoy perdiendo? ¿Hay una mejor manera de encriptar estos? Si lanzo una solución personalizada, ¿funcionará para la parte de estado de la sesión sql? (no crea que se elimine el bastón de web.config)

Respuesta

6

Necesita al menos acceso de escritura al sistema de archivos para poder descifrarlo, suponiendo que está utilizando el proveedor DPAPI. Maneras de descifrar que incluyen:

  • Copiar una página aspx que contiene código de descifrado al servidor y navegar hacia él
  • iniciar su sesión en el servidor y ejecutar una aplicación para descifrarlo.

Pero protege contra el descifrado por un usuario no autorizado que tiene acceso de lectura al sistema de archivos o una copia de seguridad del sistema de archivos.

Normalmente, configuraría sus servidores de producción para que solo los administradores autorizados puedan iniciar sesión en el servidor o escribir en su sistema de archivos.

Los desarrolladores pueden tener acceso de lectura remota para fines de soporte, y no podrían descifrar el archivo de configuración de forma remota.

El cifrado/descifrado es sencillo con las bibliotecas estándar: la parte difícil es garantizar que solo las personas autorizadas tengan acceso a las claves.

Si está utilizando DPAPI, básicamente está delegando la administración de las claves de seguridad de Windows. Si usa otro proveedor como RSA, debe guardar la clave en algún lugar y protegerla contra el acceso no autorizado, por ejemplo, usando una ACL.

Cuestiones relacionadas