¿Posibles agujeros en este diseño de seguridad de ASP.NET?

4

Por lo tanto, planeo actualizar algunos datos a través de un servicio web ASMX en un servidor web a través de programas .NET que se ejecutan en otros lugares. La principal preocupación de seguridad es que este servicio web debe generar un proceso para manejar los datos. Estoy utilizando el sistema integrado de autenticación de Windows y restringiendo el acceso al grupo de ventanas de un servidor web local. Planeo generar el proceso a través de la suplantación de identidad de un usuario con solo los permisos necesarios para realizar sus tareas. El usuario solo será utilizado para iniciar este programa. ¿Es este un diseño aceptable o tengo un problema evidente que he pasado por alto?

Detalles adicionales:

El usuario de suplantación está codificado en el programa. Si los datos se modifican en tránsito, no son particularmente catastróficos, el programa se ejecuta todas las noches sin que se envíen datos personales o seguros. Sería un problema si los datos siempre se modificasen, pero eso parece implicar un ataque permanente por parte del hombre medio.

    
pregunta Peter Smith 06.04.2012 - 18:17
fuente

3 respuestas

3

Verifique las entradas al ASMX y los parámetros del EXE para que no cree una vulnerabilidad de tipo de inyección SQL. Dependiendo de la aplicación y de cómo el ASMX limpie el parámetro llamado EXE, es posible que esté abriendo la puerta a una amplia expolición del sistema.

Su aplicación puede ser vulnerable a un ataque de DOS ya que la suplantación de identidad en IIS generalmente no es tan escalable como otros métodos (como la autenticación basada en reclamaciones y el subsistema de confianza).

También puede ver los problemas de rendimiento de IIS / Process que pueden hacer DOS usted mismo cuando los trabajadores de recursos se cuelgan mientras ejecuta la aplicación. Puede que sea mejor envolver su aplicación de Caller y Win32 en WCF. Su autenticación debe fluir a través de la tubería WCF con bastante facilidad.

¿Cómo se llama el ASMX? Javascript o un cliente gordo?

Si se usa javascript, asegúrese de que se está protegiendo de los ataques CSRF (token Antiforgery + Cookie sobre HTTP POST o similar)

    
respondido por el random65537 09.04.2012 - 23:18
fuente
1

Bueno, por lo que dices, no puedo pensar de inmediato en algo que estás haciendo mal. Quiero decir, usted le otorga al proceso el menor privilegio posible para realizar la tarea, que es una de las reglas básicas de seguridad, y también restringe el acceso a un grupo. Solo asegúrese de que el usuario que utiliza para la suplantación no podrá realizar ninguna otra acción: ya que solo desea que este usuario pueda iniciar el programa, debe asegurarse de que no pueda realizar ninguna otra acción. en el mismo nivel de privilegio.

Es posible que también desee consultar la siguiente pregunta en Stackoverflow: enlace

    
respondido por el user1301428 09.04.2012 - 12:58
fuente
0

Le aconsejaría que coloque las credenciales de suplantación en el archivo web.config en lugar de codificarlo.

Además, es posible que desee considerar la limitación del acceso del usuario suplantado. Limitaciones como:

  1. accediendo a la red
  2. tiene acceso solo al directorio y / o base de datos / tabla que contiene los datos requeridos
respondido por el chuacw 13.04.2012 - 07:22
fuente

Lea otras preguntas en las etiquetas