La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Algunos tips en Seguridad ASP.NET 2.0 Jorge Oblitas

Presentaciones similares


Presentación del tema: "Algunos tips en Seguridad ASP.NET 2.0 Jorge Oblitas"— Transcripción de la presentación:

1 Algunos tips en Seguridad ASP.NET 2.0 Jorge Oblitas

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

3 Validación del ingreso de datos No confiar solamente en ASP.NET request validation. No confiar solamente en ASP.NET request validation. Validar el input por longitud, rango, formato y tipo. Validar el input por longitud, rango, formato y tipo. Validar el input de todas las fuentes como QueryString, cookies, y controles HTML controls. 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. No confiar solamente en la validación del lado del cliente. Evitar usar un nombre de archivo ingresado o una ruta. Evitar usar un nombre de archivo ingresado o una ruta. No hacer ECO de un input que no es de confianza. 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 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 Membership providers en lugar de autenticación personalizada. Usar SSL para proteger las credenciales y las cookies de autenticación. 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. Si no es posible usar SSL, considerar reducir el tiempo de vida de la sesión. Validar la información de Login del usuario. Validar la información de Login del usuario. No almacenar las passwords directamente en el user store. No almacenar las passwords directamente en el user store. Obligar a usar strong passwords. Obligar a usar strong passwords. Poteger el acceso a las credenciales. Poteger el acceso a las credenciales. No persistir las cookies de autenticación. No persistir las cookies de autenticación. Restrigir los tickets de autenticación a las conexiones HTTPS. Restrigir los tickets de autenticación a las conexiones HTTPS. Considerar dividir el sitio web en áreas públicas y áreas restringidas Considerar dividir el sitio web en áreas públicas y áreas restringidas Usar nombres únicos para las cookies y paths Usar nombres únicos para las cookies y paths

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

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

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

8 Manejo de Excepciones Usar manejo de excepciones estructurado. Usar manejo de excepciones estructurado. No revelar detalles de la excepción al cliente. No revelar detalles de la excepción al cliente. Usar global error handler para capturar excepciones no manejadas 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. No tomar decisiones de seguridad basados en parámetros que puedan ser accedidos en el lado del cliente. Validar todos los inputs parámetros. Validar todos los inputs parámetros. Evitar almacenar data sensible en el ViewState. Evitar almacenar data sensible en el ViewState. Encriptar ViewState si contiene data sensible. 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. No confiar solamente en las opciones de administración del estado del lado del cliente. Proteger el servicio de estado fuera del proceso. Proteger el servicio de estado fuera del proceso. Proteger SQL Server session state. Proteger SQL Server session state.

11 Preguntas Justin Smith

12 Gracias


Descargar ppt "Algunos tips en Seguridad ASP.NET 2.0 Jorge Oblitas"

Presentaciones similares


Anuncios Google