Seguridad en las Aplicaciones Web (Entornos Asp.Net)

Instituto para la Seguridad en Internet
En Madrid (España)

1.320€ - ($943.868)
+ IVA
¿O prefieres llamar ahora al centro?
+34 9... Ver más
Compara este curso con otros similares
Ver más cursos similares

Información importante

  • Curso
  • Madrid (España)
  • 20 horas de clase
Descripción


Dirigido a: Desarrolladores y arquitectos de aplicaciones, encargados de diseñar y desarrollar sistemas y, por lo tanto, de incorporar la seguridad desde el principio. También se dirige a jefes de proyecto, ya que el diseño y desarrollo de una aplicación segura requiere un esfuerzo y unos tiempos de realización mayores, que deben ser tenidos en cuenta en la planificación y elaboración de plazos de entrega.

Información importante
Instalaciones

¿Dónde se da y en qué fecha?

comienzo Ubicación
Consultar
Madrid
C/ Rafael Bergamin 20B, Local 2, 28043, Madrid, España
Ver mapa

Preguntas Frecuentes

· Requisitos

VB.NET o C#, ASP.NET y SQL Server.

Temario

Motivación

La creciente importancia que se da a los aspectos de seguridad en los servicios que se ofrecen en Internet hace que en general los administradores de sistemas estén concienciados respecto a la necesidad de dotar a sus servidores de una arquitectura de seguridad que les proteja frente a las amenazas de la red. Sin embargo es por desgracia un hecho frecuente el que los criterios de seguridad se pierdan a la hora de desarrollar las aplicaciones que se ejecutan en los servidores Internet. Si los administradores son conscientes de los peligros de la red los programadores no suelen serlo tanto, por otra parte éstos están sometidos a las presiones de los responsables de negocio para desarrollar nuevos servicios en Internet en tiempos muy reducidos (“Time to Market”) por imperativo de mercado Internet.

Es un hecho conocido el que gran parte de los ataques e intrusiones a servidores Internet se realizan no a través de vulnerabilidades de los sistemas operativos y servicios asociados, sino a través de las aplicaciones propietarias que se ofrecen en el servidor.

El desarrollo de aplicaciones web seguras se está convirtiendo en una tarea cada vez más difícil debido a la creciente complejidad y variedad de servicios ofrecidos a través de Internet. La seguridad de las aplicaciones web no es sólo responsabilidad del administrador de sistemas, encargado de la infraestructura y redes, sino también del desarrollador. ASP.NET y .NET Framework ofrecen una gran variedad y riqueza de funcionalidades de seguridad, como la seguridad de acceso a código y la seguridad basada en roles, soporte nativo para autenticación basada en formularios, herramientas para creación de servicios web seguros, acceso seguro a bases de datos y un largo etcétera tratado en profundidad a lo largo de este curso.

Objetivo

Al finalizar el curso los programadores deben ser capaces de conocer los errores de seguridad más comunes que se cometen al desarrollar aplicaciones web, así como la manera de evitarlos. Se hace especial incidencia en las ventajas respecto a la seguridad de una buen diseño de la aplicación en las tres capas de presentación, lógica de negocio y datos. Se presta atención a las nuevas características de seguridad introducidas por .NET Framework.

Características generales

Se entrega un manual de documentación en castellano y un CD-ROM con las numerosas herramientas utilizadas durante el curso. Cada asistente dispone de un ordenador con .NET Server y SQL Server 2000.

El curso es eminentemente práctico y parte de una aplicación web existente y que se ha escrito sin tener en cuenta consideraciones de programación segura. Sobre esta aplicación que presenta las vulnerabilidades más frecuentes en el mundo real se va trabajando hasta conseguir una aplicación robusta desde el punto de vista de seguridad.

1. Introducción a la seguridad en la plataforma .NET

La plataforma .NET proporciona como una de sus características más destacadas una robusta infraestructura de seguridad que facilita tanto a los desarrolladores, como administradores y usuarios finales, un mayor control sobre el código que se ejecuta en sus sistemas. En este primer módulo aprenderá los fundamentos de la seguridad en el acceso a código (CAS), basada en la identidad de código, en oposición a la identidad de usuario

  • Restricciones de seguridad: identidad de código vs. identidad de usuario
  • Autenticación: acumulación de evidencias para identificación del código
  • Autorización: clases de permisos en .NET
  • Inspección de pila
  • Directivas de seguridad de código, grupos de código y niveles de directiva
  • Nombres fuertes y firma de ensamblados de código
  • Verificación y validación de ensamblados
  • Modelo de seguridad para aplicaciones ASP.NET
2. Acceso seguro a datos en ASP.NET

La mayor parte de aplicaciones web hoy en día necesitan acceder a bases de datos para obtener información sobre productos, servicios, clientes, etc., y presentar a partir de ella páginas dinámicas. En este módulo aprenderá cómo configurar el servidor web (IIS y ASP.NET) y utilizar ADO.NET para acceder a los datos de forma segura. Se explica además cómo almacenar y acceder a secretos de forma segura.

  • Acceso a BD de datos mediante ADO.NET
  • Acceso no autorizado a BD a través de la revelación de la cadena de conexión
  • Formas seguras de acceder a la BD
  • Almacenamiento seguro de secretos
3. Autenticación mediante formularios en ASP.NET

La autenticación y autorización resultan fundamentales en toda aplicación web en la que se desee restringir lo que los usuarios pueden hacer. La autenticación permite conocer la identidad de quienes se conectan al servidor. La autorización permite verificar qué privilegios tiene asignados cada usuario y saber así qué acciones le están permitidas. Una vez detectada la necesidad de autenticar y autorizar a los usuarios, surge la importante cuestión de decidir cómo se llevan a cabo. ASP.NET incluye todo un conjunto de nuevas funcionalidades para simplificar la creación de aplicaciones que autentican a sus usuarios mediante formularios.

  • Autenticación mediante formularios básica
  • Autenticación mediante formularios y XML
  • Autenticación mediante formularios y base de datos
  • Autenticación mediante formularios y tickets personalizados
  • Autenticación mediante formularios sin cookies
  • Protección de contenido distinto de páginas .aspx
  • Autenticación mediante formularios y autorización basada en roles
  • Autenticación mediante formularios en granjas de servidores
  • Directivas de seguridad de contraseñas
  • Conservación de información de sesión
  • Ataques contra las distintas formas de autenticación y defensa
4. Autenticación mediante Windows en ASP.NET

La autenticación y autorización mediante Windows resulta mucho más segura que mediante formularios. En los casos en los que se puede utilizar, se explica cómo configurarla correctamente e integrarla con las aplicaciones ASP.NET.

  • Autenticación básica
  • Autenticación mediante resúmenes
  • Autenticación integrada de Windows
  • Protección de directorios y documentos
  • Representación de usuario
  • Ataques contra las distintas formas de autenticación
5. Autenticación mediante certificados en ASP.NET

Los certificados digitales constituyen una de las formas más seguras y flexibles para autenticar a los visitantes de un sitio web. En este módulo se introducen los conceptos y herramientas necesarios para configurar una solución segura basada en certificados.

  • Introducción a los certificados digitales
  • Criptografía con .NET
  • Autoridades de certificación
  • Canales seguros con SSL
  • Autenticación mediante certificados digitales
  • Acceso a la información de los certificados desde ASP.NET
6. Ataques de entrada de usuario

Uno de los medios de ataque más utilizados y eficaces consiste en enviar parámetros inesperados a una página ASP.NET, de manera que no pueda procesarlos y entre en un estado inestable o bien ejecute acciones indeseadas, como cambiar el precio a productos, borrar tablas de una base de datos o acceder a datos confidenciales de otros usuarios. El ejemplo más explotado en ASP.NET consiste en la manipulación de formularios. En este módulo se repasan algunos de los ataques más comunes y peligrosos y la manera de protegerse ante ellos.

  • Consultas maliciosas (inyección de SQL)
  • Cadenas de entrada hostiles
  • Cross Site Scripting e inyección de código
  • Cookies
  • Cabeceras HTTP
  • Comprobaciones locales y campos ocultos
  • Técnicas de validación de entrada en cliente y servidor
7. Seguridad en SQL Server

El modelo de seguridad de SQL Server ha evolucionado de forma considerable durante los últimos años, hasta llegar a integrarse casi completamente con la seguridad de Windows XP. Sin entrar en los detalles complejos de administración de bases de datos, este módulo explica las principales características de seguridad que resultan de importancia para el creador de aplicaciones web, de manera que se garantice el acceso a los usuarios autorizados, a la vez que se evita el acceso no autorizado a la información de la base de datos.

  • Introducción a la seguridad en SQL Server
  • Administración de usuarios y roles
  • Creación de vistas
  • Programación de procedimientos almacenados
  • Comunicaciones seguras



Compara este curso con otros similares
Ver más cursos similares