Seguridad en las Aplicaciones Web (Entornos J2EE)

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

1.320€ - ($917.304)
+ 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

Realiza el Curso de Seguridad en las Aplicaciones Web. Este curso apunta a formar a aquellos que desarrollan, diseñan y realizan arquitecturas de páginas web. Fórmandote en la seguridad en Java y J2EE aprenderás como tener este tan importante factor en cuenta y cómo poder trabajar en la web. Esto, no sólo te permitirá desarrollarte profesionalmente, sino que comportará más ganancias para ti y tranquilidad para tus clientes.

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

Temario

Motivación

Las aplicaciones web en Internet en general y de comercio electrónico en particular se están convirtiendo en un importante motor de la economía digital. Según numerosos estudios, la seguridad es el aspecto que más limita el crecimiento de la actividad económica en la Red. Los sistemas de información en línea y de realización de transacciones económicas a través de medios telemáticos se enfrentan a numerosas amenazas. Los ataques de piratas contra las tecnologías de la información son cada vez más frecuentes y sus efectos más devastadores. Por estos motivos resulta de crucial importancia poseer la capacidad de detectar y bloquear ataques en tiempo real contra los propios sistemas de información.

Según un estudio realizado durante los últimos cuatro años por Imperva, tan solo un 10 por ciento de las aplicaciones web pueden considerarse seguras ante cualquier tipo de ataque. En estos datos se incluyen sitios de comercio electrónico, banca online, B2B, sitios de la Administración, etc. Los estudios realizados han concluido que al menos un 92% de las aplicaciones web eran vulnerables a algún tipo de ataque. Los problemas más comunes son las vulnerabilidades de cross-site scripting (80%), inyección SQL (62%) y falsificación de parámetros (60%).

Contando con la formación adecuada, estos ataques podrían evitarse fácilmente en la fase de desarrollo, sin necesidad de recurrir a costosas soluciones basadas en IDS y cortafuegos de aplicación implantadas ya en la fase de producción. ISI considera que la mejor inversión en seguridad consiste en formar adecuadamente al personal implicado en el desarrollo de aplicaciones web. A largo plazo resulta más viable desarrollar aplicaciones seguras que intentar proteger aplicaciones inseguras.

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 mejor manera de evitarlos. Se hace especial incidencia en las ventajas respecto a la seguridad de un buen diseño de la aplicación en las tres capas de presentación, lógica de negocio y datos. Se ofrecen numerosas herramientas, técnicas y alternativas para que el desarrollador cuente con un amplio abanico de recursos y utilice posteriormente lo más adecuado en función de las características del problema concreto.

Características generales

El curso es eminentemente práctico. A la hora de explicar todos los conceptos presentados, se parte de una aplicación web consistente en una tienda electrónica, plenamente funcional, pero desarrollada sin tener en cuenta consideraciones de programación segura. A lo largo del curso, se va trabajando progresivamente sobre esta aplicación que presenta las vulnerabilidades más frecuentes en el mundo real hasta conseguir una aplicación robusta desde el punto de vista de la seguridad.

Los alumnos reciben un CD-ROM con el código de la tienda y del resto de prácticas, con las numerosas herramientas de ataque y protección utilizadas durante el curso, y con una extensa colección de documentos, artículos y capítulos de libros en formato PDF.

Como plataforma se utiliza Windows 2000, con Apache, Tomcat y Oracle.

1. Introducción a la seguridad en Java y J2EE

La plataforma J2EE 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 del modelo de seguridad de Java y sus primitivas criptográficas

  • Arquitectura de aplicaciones web con J2EE
    • Diseño en capas: Presentación,Negocio, Integración, Datos
    • Arquitectura de seguridad de EJB
  • Seguridad en componentes Java
    • Modelo de seguridad de Java
    • Autenticación y autorización con JAAS
    • Criptografía con JCE

2. Protección del extremo cliente

Algunos fallos de seguridad causados por la aplicación web afectan al extremo cliente, concretamente a la confidencialidad de los datos de usuario en su ordenador, generados durante la operación con el servidor web; a la integridad de los datos de usuario; a la disponibilidad de sus datos y de sus recursos computacionales, incluyendo su conexión a Internet.

  • Fallos de seguridad
    • Ataques típicos: XSS, GET vs. POST, Caché, Historial, Máquina Virtual
    • Mala configuración
    • Bugs del navegador
  • Configuración segura

3. Protección del transporte de datos

Durante la transmisión de datos entre ambos extremos, cliente y servidor, debe velarse porque la confidencialidad e integridad de los mismos se encuentre a salvo. El protocolo SSL constituye el mecanismo tradicionalmente utilizado en este contexto.

  • Fallos de seguridad
    • Ataques típicos: sniffers, MITM, etc.
    • Mala configuración de SSL en el servidor web
    • Bugs del navegador
  • Configuración segura de las comunicaciones de red
    • Configuración de SSL en el servidorweb para Internet
    • Utilización de JSSE

4. Protección del Servidor Web y Aplicaciones

Este módulo está destinado a explicar los aspectos de seguridad relativos al servidor web, encargado de la capa de presentación de datos. Se tratan los aspectos básicos de seguridad como autenticación, autorización, auditoría, administración, gestión de sesiones y gestión de excepciones.

  • Autenticación
    • Básica
    • Digest
    • Certificados digitales
    • Integrada contra la base de datos
    • Integrada contra LDAP
    • Formularios contra la base de datos
    • Cracking de contraseñas
    • SSO
  • Autorización
    • Permisos de archivos
    • Control por IP
    • Control por Cabeceras
    • Permisos web
  • JAAS
  • Auditoría
    • Logs del servidor web
  • Fallos de seguridad
    • Explotación de vulnerabilidades conocidas contra el servidor web
    • Mala configuración del servidor web
    • Bugs del servidor web
  • Administración
    • Gestión remota del servidor web
    • Publicación de páginas web
    • Monitorización del funcionamiento del servidor
    • Configuración del servidor
  • Gestión de sesiones
    • Testigos de sesión en el URL
    • Testigos de sesión en las cookies
    • Variables de sesión
    • Ataques contra los testigos
  • Validación de entrada/salida
    • Expresiones regulares
    • Validación en cliente (JavaScript) y servidor (JSP)
  • Gestión de excepciones
    • Personalización de páginas de error
    • Registro de eventos

5. Protección del Servidor de Base de Datos

Este módulo está destinado a explicarlos aspectos de seguridad relativos al servidor de base de datos, encargado de la capa de datos. Se tratan los aspectos básicos de seguridad como autenticación, autorización, auditoría, administración y protección frente a los ataques más frecuentes

  • Introducción a Bases de Datos SQL
  • Autenticación
    • Inicios de sesión
    • Cadenas de conexión
  • Autorización
    • Roles
    • Permisos sobre objetos: tablas, vistas, procedimientos almacenados
  • Auditoría
    • Logs de la base de datos
  • Fallos de seguridad
    • Ataques típicos: inyección de SQL
    • Mala configuración
    • Bugs y vulnerabilidades conocidas
  • Administración
    • Gestión
    • Publicación
    • Monitorización
    • Configuración

6.Análisis de seguridad

Es importante detectar y bloquear los ataques durante su transcurso o poder reconstruirlos una vez finalizados. Los sistemas de detección de intrusiones y los cortafuegos de aplicaciones web sirven al primer propósito, mientras que el análisis forense sirve al segundo. Paralelamente, con el fin de minimizar la superficie de ataque, conviene bastionar la plataforma y los servidores utilizados.

  • Auditoría
    • Análisis de los logs
    • Sistemas IDS
    • Cortafuegos a nivel de aplicación
  • Bastionado
    • Plataforma
    • Servidor web
    • Servidor de base de datos

7. Criptografía en Java

Se introducen los conceptos de criptografía básicos que se utilizan en prácticamente toda aplicación web, particularizados para Java.

  • Algoritmos de cifrado simétrico o clave secreta
  • Algoritmos de cifrado asimétrico o clave pública
  • Algoritmos de hash
  • Certificados digitales y firma de mensajes

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