¿Cuál es la mejor práctica? Cifrado RSA frente a la autenticación de Windows

1

Tengo dos máquinas que ejecutan el sistema operativo Windows con IIS y el sistema operativo Windows con MS SQL. En el archivo web.config de producción, configuro el IIS para usar un nombre de usuario y una contraseña cuando me conecto a la base de datos y luego lo cifro con una clave utilizando RSA. La clave se generará utilizando aspnet_regiis y se exportará a todas las máquinas IIS. Cada servidor de producción contiene solo el archivo web.config cifrado (y una clave importada en el seguro en el IIS).

El otro enfoque será definir en la web.config una conexión usando la autenticación de Windows. Esto será mucho menos trabajo de mi parte.

¿Qué práctica es mejor? ¿Cuál es más seguro?

    
pregunta Bick 25.02.2013 - 07:47
fuente

2 respuestas

2

Realmente no hay suficiente información aquí para responder eso. Si tiene un medio seguro de almacenamiento de claves (como un buen TPM (Trusted Platform Module) o un HSM (Hardware Security Module) que puede almacenar claves en hardware, tener un archivo de configuración cifrado sería más seguro que tener la autenticación en el claro.

Dicho esto, la información necesaria para interrumpir cualquiera de los sistemas está presente en la computadora, ya que IIS puede acceder a ella. Si un atacante tiene el control suficiente del sistema, ninguno de los dos le ayudará tanto, ya que pueden enmascararse como IIS y enviar el descifrado.

Honestamente, creo que la configuración de la autenticación de Windows correctamente estaría bien, pero lo haría si el sitio se ejecutara como un usuario en particular. Luego, solo dé a ese usuario permiso para conectarse a la base de datos. Para que un atacante no pueda acceder al sistema, necesitaría obtener acceso a una cuenta que tenga acceso a las credenciales de la cuenta de servicio (en ese momento tendrían el control de la aplicación de cualquier manera) y si tienen el control de la aplicación, obtener la llave no va a ser tan difícil.

No conozco otras formas más elaboradas de agregar seguridad a la configuración, aunque alguien más puede tener una idea mejor que yo.

    
respondido por el AJ Henderson 25.02.2013 - 15:17
fuente
2

"Menos trabajo" debería ser un incentivo suficientemente poderoso ...

Regla genérica: jugando menos juegos con criptografía, reduce los riesgos de cometer errores. En la criptografía, "menos" significa "mejor".

En este caso específico, deseará que su máquina pueda reiniciarse de forma desatendida (por ejemplo, después de un corte de energía en las primeras horas de la noche). Entonces, lo que contiene su máquina es suficiente para acceder a la base de datos, y está protegido solo por la capa de seguridad intrínseca del sistema operativo. Quienquiera que tenga acceso administrativo a sus servidores podrá obtener los datos de la base de datos, independientemente de si realizó una danza ritual complicada con claves RSA o simplemente utilizó la autenticación de Windows.

Ya que no hay una diferencia real para la seguridad, entonces también puede elegir la estrategia simple de usar la autenticación de Windows. Bonificación: no se le puede culpar por la rotura cuando sigue las reglas de Microsoft.

    
respondido por el Tom Leek 25.02.2013 - 22:20
fuente

Lea otras preguntas en las etiquetas