Instituto para la Seguridad en Internet

Instituto Seguridad Internet

Página de inicio

Buscar :: Cursos :: Quiénes somos :: Contacto

 Servicios

:: Curso de migración a ASP.NET ::
Seguridad Internet en servidores Windows 2000
Motivación

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.

Audiencia

El curso está dirigido a desarrolladores y arquitectos de aplicaciones familiarizados con conceptos de seguridad en aplicaciones web desarrolladas en ASP en entornos Microsoft, que estén pensando en migrar o hayan empezado a desarrollar en la plataforma .NET.

Este curso está especialmente indicado para los asistentes al curso anterior "Desarrollo de aplicaciones Internet seguras con tecnologías Microsoft”, ya que cubre los aspectos nuevos de ASP.NET, sin repetir contenidos anteriores.

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 en ASP.NET, 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 Windows 2003 Server, SQL Server 2000 y Visual Studio .NET.

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.

Requisitos: VB o C, ASP y SQL Server.

Duración
La duración del curso es de 13 horas.
Autores e Instructores

Gonzalo Álvarez Marañon, Doctor Ingeniero de Telecomunicación e investigador del CSIC es un prestigioso investigador de la seguridad en Internet. Creador del sitio de seguridad CRIPTONOMICON (http://www.iec.csic.es/criptonomicon) ha presentado sus trabajos sobre seguridad en numerosos congresos y revistas especializadas y es autor del libro “Los mejores trucos para Internet”.

Contenido
  1. Introducción a la seguridad en la plataforma .NET
  2. Conexión segura a BD y almacenamiento de secretos
  3. Autenticación mediante formularios
  4. Criptografía en ASP.NET
  5. Seguridad en servicios web XML

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
  • Recorridos 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

PRÁCTICAS

Identidad de código vs. identidad de usuario
Se explica de forma práctica con ejemplos el funcionamiento de ambos modelos: el clásico, basado en la identidad del usuario que intenta ejecutar el código, frente al basado en la identidad del propio código que va a ejecutarse.

Recorridos de pila
Se muestra el funcionamiento de los recorridos de pila, que permiten verificar que todas las funciones en la cadena de llamadas poseen permiso para acceder a un recurso.

Permisos, autorización y directivas de seguridad de código
Mediante algunos programas de ejemplo se muestra cómo se obtienen evidencias cuando se carga un ensamblado y cómo se definen las listas de conjuntos de permisos a todos los niveles de directiva.

Implantación de un ensamblado seguro
Se utilizan los mecanismos de seguridad de .NET explicados y se trabaja con los nombres fuertes (SN) para crear un ensamblado seguro.

2. Acceso seguro a datos y almacenamiento de secretos 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

PRÁCTICAS

Acceso a la BD desde las páginas ASP.NET
Se crearán páginas de acceso a BD utilizando ADO.NET.

Ataque a la BD
En aquellos casos en los que el nombre de usuario y contraseña de acceso a la BD quedan revelados en la cadena de conexión, por codificarse ésta en la propia página ASP.NET o componente .NET o almacenarse en un fichero include separado o en el "global.asax", es posible acceder directamente a la BD. Se demuestran algunas formas de hacerse con esta información y cómo explotarla para conectarse directamente a la BD sin pasar por el servidor web.

Diseño de componentes de acceso seguro a la BD
Para solucionar las limitaciones de los métodos de acceso anteriores se diseñan varios componentes .NET de conexión a la base de datos. Se muestran las ventajas del uso de componentes frente a la codificación en ASP.NET. También se crea un componente COM+ con cadena de construcción.

Acceso a secretos con DPAPI
Se crea una biblioteca de funciones para acceso a secretos mediante los métodos de la DPAPI (Data Protection API). Después se crean varias aplicaciones diferentes para utilizar la biblioteca anterior desde ASP.NET.

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

PRÁCTICAS

Autenticación mediante formularios en ASP.NET
Se muestran varias soluciones con diferentes niveles de seguridad: almacenamiento de la información de usuario en el archivo Web.Config, en un archivo XML, en una base de datos, con y sin cookies, utilizando o no roles para autorizar el acceso, con tickets personalizados, etc.

Almacenamiento de contraseñas
Se desarrolla un mecanismo para no almacenar contraseñas en la base de datos.

Validación de contraseñas
Se examinan distintas soluciones para proteger la información a la que pueden acceder los usuarios autenticados en un sitio web.

Conservación de información de sesión en ASP.NET
Mantener la información de los usuarios resulta fundamental para seguir su sesión con el servidor. Se explican las formas alternativas de conservación de sesión de usuarios introducidas por ASP.NET.

Ataques contra las distintas formas de autenticación
Se realizan ataques contra las formas de autenticación analizadas y cómo defenderse ante ellos. En especial, se atacarán los distintos tipos de testigos de sesión.

4. Criptografía en ASP.NET

Hasta la llegada de .NET, programar aplicaciones que incorporasen sencillas operaciones criptográficas, como cifrar o calcular hashes, se convertía en una tarea complicada y propensa a errores. Gracias a .NET, ya no es necesario recurrir al uso de la críptica CryptoAPI o al costoso diseño desde cero. Las nuevas clases de .NET que se explican en este módulo facilitan sobremanera la programación de criptografía.

  • Clases criptográficas de .NET
  • Criptografía de clave secreta
  • Hashes y hashes con clave
  • Criptografía de clave pública autenticación

PRÁCTICAS

Utilización de criptografía con la plataforma .NET
Se crean varios ejemplos para aprender el funcionamiento de las clases de criptografía proporcionadas por .NET para cifrado/descifrado, cálculo de hashes y generación de números pseudoaleatorios. Más adelante, estas clases se utilizarán en muchas aplicaciones.

5. Seguridad en servicios web XML desarrollados con .NET

Los servicios web XML facilitan la comunicación entre sitios web y aplicaciones que necesitan acceder a los contenidos ofrecidos por el sitio web. Diseñados sobre estándares abiertos como HTTP, XML y SOAP, permiten la comunicación independientemente de la plataforma utilizada. Pero al exponer interfaces y estar disponibles para todo el mundo y fácilmente accesible, se plantean nuevos desafíos de seguridad. En este módulo se explican algunas de las formas más eficientes de proteger sus servicios web utilizando la plataforma .NET.

  • Introducción a los servicios web
  • Seguridad en el acceso a servicios web: mecanismos de autenticación
  • Seguridad en las comunicaciones con servicios web: SSL
  • Firmas, cifrado y especificaciones de gestión de claves en XML

PRÁCTICAS

Creación de servicios web con Visual Studio .NET
Se utilizará por su simplicidad y rapidez el entorno integrado Visual Studio .NET para crear servicios web que serán utilizados por la aplicación web de ejemplo.

Seguridad en servicios web
Se repasarán las cuestiones de seguridad planteadas por el uso de servicios web en la aplicación. Se verá cómo mejorar la seguridad y controlar el acceso a los servicios web creados.

Opciones de autenticación para servicios Web XML
Los servicios Web XML creados mediante ASP.NET disponen de varias opciones para la autenticación de clientes. Se repasan Windows básica (con o sin SSL), Windows integrada, certificados de cliente, encabezados SOAP.

Criptografía en XML
Se repasan las firmas digitales, el cifrado y la gestión de claves en XML.

Calendario e inscripciones

Complete el siguiente formulario para enviarnos su consulta:

Precio: 850 euros + IVA
Fechas: Consultar en info@instisec.com
Nombre y apellidos:
Empresa:
CIF:
Dirección:
Ciudad:
Provincia:
Código postal:
Correo electrónico:
Teléfono:
Fax:

Los datos personales contenidos en el presente formulario formarán parte de un fichero propiedad de ISI. Dicho fichero será tratado y protegido según lo establecido en la LO 15/1999, de 13 de diciembre, de Protección de Datos de carácter personal. Queda garantizada la confidencialidad de la información aportada, así como su uso exclusivo para las gestiones precisas en la facturación y gestión de los cursos. Este fichero no será cedido a terceros. Los interesados que lo deseen podrán ejercitar los derechos de acceso, rectificación o cancelación de los datos aportados.

Política de privacidad :: Instalaciones :: Publicidad

© Instituto Seguridad Internet, 2001-2003. Todos los derechos reservados