¿Qué tan seguros son los proveedores de rol y membresía ASP.NET predeterminados para el servidor Sql?

8

Tengo una idea muy básica de cómo funcionan estos. Las he usado muchas veces cuando necesitaba un sistema de administración de usuarios en lugar de escribir el mío. ¿Pero debo usar estos para un sistema de producción? ¿Las cuentas de usuario de Windows proporcionarían realmente más seguridad que estas cuentas en las tablas de la base de datos, dada una pequeña base de usuarios con verificación de nuevos usuarios antes de la activación?

Creo que este sistema es, por supuesto, más seguro que cualquier cosa que pueda escribir, pero ¿hay alguna medida de protección que deba tomar o un proveedor externo que sea mucho mejor?

    
pregunta Peter Smith 17.06.2011 - 23:07
fuente

1 respuesta

3

La seguridad con la que se encuentren depende totalmente de contra qué quiere defenderse y de qué quiere defender. La defensa contra un empleado interno que desea ver los registros de ventas de sus colegas es diferente de un atacante externo que quiere robar la información del cliente, que es diferente a la defensa contra un gobierno que quiere robar sus diseños patentados.

en términos generales, estos proveedores no son inseguros ya que siguen las recomendaciones básicas, como contraseñas de salazón, lo que le permite cambiar el algoritmo de hash, etc. (incluso cosas no criptográficas también). Sin embargo, luego se meten en problemas de configuración, como asegurarse de que la conexión a SQL sea segura, la página en la que PUBLICÓ sus credenciales es sobre SSL, o que las cookies de sesión estén protegidas a través de SSL, el acceso a la base de datos sea seguro, etc. / p>

Comparativamente, Windows Auth tiene problemas similares, y luego te metes en problemas de límites de seguridad, ya que se convierte en una molestia de usar Windows Auth a través de Internet.

En teoría , es probable que un almacén de Active Directory sea más seguro que una base de datos de SQL Server promedio, pero en realidad si todo lo que usa es la autenticación de usuario en un sitio web público, es probable MUY inseguro porque probablemente no sea tratado tan bien como el AD corporativo. Por otra parte, es probable que la AD corporativa tampoco sea bien tratada (en general, no necesariamente en su caso).

Las bases de datos SQL son propensas a ataques de inyección SQL, las tiendas de Active Directory son propensas a ataques específicos de Windows. Las bases de datos SQL tienden a llevar a la expansión de la identidad ... múltiples cuentas de usuario para múltiples aplicaciones distribuidas en múltiples bases de datos. Active Directory lleva cuentas centralizadas. Cualquiera puede ser bueno o malo, depende de lo que estés tratando de lograr.

Por lo general, no se recomienda escribir a sus propios proveedores, ya que no han pasado por un escrutinio público, mientras que los proveedores integrados en .NET sí lo han hecho. Los proveedores de terceros se encuentran con el mismo problema básico. ¿Cómo se han probado?

Y, a continuación, aparece una pregunta sobre por qué dejas que la aplicación maneje la autenticación. Tal vez sea mejor dejar que alguien más lo haga a través de la autenticación basada en reclamaciones. Esto empuja el riesgo a otro sistema como Google, Facebook o Windows Live.

    
respondido por el Steve 20.06.2011 - 18:00
fuente

Lea otras preguntas en las etiquetas