1 / 12

Algunos tips en Seguridad ASP.NET 2.0

Algunos tips en Seguridad ASP.NET 2.0. Jorge Oblitas joblitas@microsoft.com. Qué hay de nuevo en ASP.NET 2.0. Autenticación por formularios y membresía Role Manager DPAPI managed Wrapper Cambios en los archivos de configuración Encriptamiento de archivos de configuración Health Monitoring

Download Presentation

Algunos tips en Seguridad ASP.NET 2.0

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Algunos tips en SeguridadASP.NET 2.0 Jorge Oblitas joblitas@microsoft.com

  2. Qué hay de nuevo en ASP.NET 2.0 • Autenticación por formularios y membresía • Role Manager • DPAPI managed Wrapper • Cambios en los archivos de configuración • Encriptamiento de archivos de configuración • Health Monitoring • Code Access Security • Permisos SMTP (Full, High y Medium) • Mejoras en el MachineKey

  3. Validación del ingreso de datos • No confiar solamente en ASP.NET request validation. • Validar el input por longitud, rango, formato y tipo. • Validar el input de todas las fuentes como QueryString, cookies, y controles HTML controls. • No confiar solamente en la validación del lado del cliente. • Evitar usar un nombre de archivo ingresado o una ruta. • No hacer ECO de un input que no es de confianza. • Si tenemos qeu escribir data en la que no confiamos, primero hacerle un encode

  4. Autenticación por formularios • Usar Membership providers en lugar de autenticación personalizada. • Usar SSL para proteger las credenciales y las cookies de autenticación. • Si no es posible usar SSL, considerar reducir el tiempo de vida de la sesión. • Validar la información de Login del usuario. • No almacenar las passwords directamente en el user store. • Obligar a usar strong passwords. • Poteger el acceso a las credenciales. • No persistir las cookies de autenticación. • Restrigir los tickets de autenticación a las conexiones HTTPS. • Considerar dividir el sitio web en áreas públicas y áreas restringidas • Usar nombres únicos para las cookies y paths

  5. Autorización • Uno puede estar autorizando contra: • Recursos del sistema • Recursos de la aplicación • Recursos del usuario • Role Manager

  6. Code Access Security • Elegir un nivel que no exceda los requerimientos de la aplicación • Crear una política personalizada si la aplicación necesita permisos adicionales • Usar Medium trust policy en entornos de hosting compartido • Considerar Code access security para aplicaciones con Partial Trust

  7. Acceso a Datos • Encriptar las cadenas de conexión • Usar cuentas de menor privilegio para e acceso a datos • Usar autenticación Windows en donde sea posible. • Si se usa autenticación Windows, usar una cuenta trusted service. • Si no puedes usar una cuenta del dominio, considerar una cuenta espejo. • Al usar SQL authentication, usar strong passwords. • Al usar SQL authentication, proteger las credenciales a través de la red. • Al usar SQL authentication, proteger las credenciales en los archivos de configuración. • Validar el input que no es de confianza que pasa a los métodos de acceso de nuestra data. • Al construir queries SQL queries, usar parámetros SQL type safe • Evitar queries dinámicos que aceptan input del usuario

  8. Manejo de Excepciones • Usar manejo de excepciones estructurado. • No revelar detalles de la excepción al cliente. • Usar global error handler para capturar excepciones no manejadas

  9. Manipulación de Parámetros • No tomar decisiones de seguridad basados en parámetros que puedan ser accedidos en el lado del cliente. • Validar todos los inputs parámetros. • Evitar almacenar data sensible en el ViewState. • Encriptar ViewState si contiene data sensible.

  10. Administración de la sesión • No confiar solamente en las opciones de administración del estado del lado del cliente. • Proteger el servicio de estado fuera del proceso. • Proteger SQL Server session state.

  11. Preguntas Justin Smith justins@wintellect.com

  12. Gracias

More Related