1.- DATOS DE LA ASIGNATURA Nombre de la asignatura: Seguridad en aplicaciones y servidores Web Ingeniería en Sistemas Computacionales Carrera: DPM0704 Clave de la asignatura: 3-2-8 Horas teoría-horas práctica-créditos 2.- HISTORIA DEL PROGRAMA Observaciones Lugar y fecha de Participantes elaboración o revisión Instituto Tecnológico (cambios y justificación) de Comisión de la academias Villahermosa. de Sistemas y Computación Agosto-Septiembre 2006 3.- UBICACIÓN DE LA ASIGNATURA a). Relación con otras asignaturas del plan de estudio Anteriores Asignaturas Programación Web . Posteriores Temas Asignaturas Temas b). Aportación de la asignatura al perfil del egresado Conoce los riesgos principales a la seguridad computacional así como las contramedidas disponibles para enfrentarlos. Aprende a revisar y validar aplicaciones Web. Conoce las tecnologías adecuadas para hacer un diagnóstico y revisión de seguridad de una aplicación Web y de los servidores subyacentes. 4.- OBJETIVO(S) GENERAL(ES) DEL CURSO El estudiante aplicará los conceptos y tecnologías de seguridad importantes para el desarrollo e implantación de aplicaciones web, y la configuración de servidores web. 5.- TEMARIO Unidad Temas Subtemas 1. Seguridad 1.1. 1.2. 1.3. 1.4. 1.5. 1.6. 2. Tecnologías de seguridad. 2.1. 2.2. 2.3. 2.4. 2.5. 3. Aplicaciones web seguras 3.1. Identificando perfiles de aplicaciones. 3.2. Ataques a aplicaciones conocidas. 3.3. Programación segura Amenazas y vulnerabilidades. Ataques a la seguridad. Servicios de seguridad. Mecanismos de seguridad. Políticas y procedimientos. Auditorias. Criptosistemas. Firmas y Certificados digitales. Hashing. Cifrador de correo y archivos (PGP). Protocolos de seguridad. 2.5.1. SSL/TLS. 2.5.2. HTTP sobre SSL (HTTPS). 2.5.3. SET. 2.5.4. IPSec. 2.6. Sistema de Detección de Intrusos (IDS). 2.7. Sistema de control de cambios. 2.8. Sistemas Señuelo (HoneyPot). 2.9. Cortafuegos. 2.10. Analizador de puertos. 2.11. Scanner de vulnerabilidades. 2.12. Analizadores de registros de sucesos 2.13. Analizador de control de acceso 2.14. Husmeador de paquetes. 2.15. Crackers de contraseñas. 3.3.1. Fallos y errores de programación 3.3.2. Seguridad en la programación del lado del servidor. 3.3.3. Programación segura con CGI, API e ISAPI 3.4. Seguridad en ASP.net 3.5. Seguridad en Java 3.6. Seguridad en PHP 5.- TEMARIO (Continuación) Unidad Temas Subtemas 4. Servidores web seguros 4.1. Identificando perfiles de servidores. 4.2. Ataques a servidores web, al servicio de HTTP o a otros servicios disponibles. 4.3. Estrategias de control de acceso al servidor. 4.3.1. Control de acceso por URL oculto. 4.3.2. Control de acceso por dirección IP, nombre de host y dominio. 4.3.3. Control de acceso por nombre de usuario y contraseña. 4.4. Instalación y configuración segura de servidores. 4.5. Caso practico: Servidor Web Apache. 6.- APRENDIZAJES REQUERIDOS Desarrollar aplicaciones de software de cualquier dominio. Experiencia utilizando el World Wide Web. Desarrollar y administrar sistemas de información que utilizan las tecnologías Web. Conocer arquitecturas que involucran distintos servidores. Aplicar nuevas tecnologías a la solución de problemas de su entorno laboral. 7.- SUGERENCIAS DIDÁCTICAS Propiciar la búsqueda y selección de información sobre tecnologías de seguridad y sus estándares, analizarlas y discutirlas por equipos en clase. Utilizar el aprendizaje basado en problemas, trabajando en grupos pequeños, para sintetizar y construir el conocimiento necesario para resolver problemas relacionados con situaciones reales. Solicitar al estudiante propuestas de problemas a resolver y que sean significativas para él. Desarrollar una aplicación Web implementándole servicios de seguridad. Implementar una configuración segura a un servidor Web. Formar equipos de trabajo para la exposición de investigaciones y tareas 8.- SUGERENCIAS DE EVALUACIÓN Ponderar tareas Participación y desempeño en el aula y el laboratorio. Dar seguimiento al desempeño en el desarrollo del programa (dominio de los conceptos, capacidad de la aplicación de los conocimientos en problemas reales, transferencia del conocimiento). Participación en actividades individuales y de equipo. Participación en dinámicas grupales (mesas redondas, conferencias, lluvia de ideas, debate, entre otras). Actividades de auto evaluación. Exámenes teórico práctico. 9.- UNIDADES DE APRENDIZAJE UNIDAD 1: Seguridad Objetivo Educacional Conocerá los conceptos fundamentales de seguridad, riesgos principales, así como los mecanismos de seguridad. Actividades de Aprendizaje Buscar y seleccionar información sobre seguridad y analizarlo en grupo. Realizar una síntesis sobre las clasificaciones de ataques a la seguridad. Fuentes de Información 1, 2 UNIDAD 2: Tecnologías de seguridad Objetivo Educacional Señalar las herramientas y tecnologías adecuadas para hacer un diagnóstico y revisión de seguridad de una aplicación Web y de los servidores subyacentes. Actividades de Aprendizaje Buscar y seleccionar información sobre tecnologías y herramientas de seguridad. Discutir, en el grupo, las diferentes tecnologías y herramientas de seguridad disponibles. Fuentes de Información 1,2, 3, 4, 5 Unidad 3: Aplicaciones Web seguras Objetivo Educacional Señalar los riesgos principales de las aplicaciones Web y los fundamentos de una programación segura para la defensa en ataques internos y externos. Actividades de Aprendizaje Analizar, por equipo, los riesgos de las aplicaciones Web. Identificar los principales fallos y errores de programación. Desarrollar una aplicación Web aplicando los conceptos de seguridad. Fuentes de Información 6, 7, 8 UNIDAD 4: Servidores Web seguros Objetivo Educacional Señalar los riesgos principales de los servidores Web y los fundamentos de una configuración segura para defenderlos de ataques externos e internos. Actividades de Aprendizaje Analizar, por equipo, los riesgos de los servidores Web. Identificar los principales ataques a servidores Web. Configurar un servidor Web implementando los conceptos de seguridad. Realizar practicas de ataques a un servidor Web. Fuentes de Información 5, 9, 10 10. FUENTES DE INFORMACIÓN 1. Maiwald, Eric (2005). Fundamentos de Seguridad de Redes. Ed. McGraw-Hill. 2. Simson Garfinkel and Gene Spafford (2000) Seguridad y Comercio En La Web Ed. McGraw-Hill. ISBN 970-10-2142-8 3. Fuster A., Martínez D. (1998) Técnicas Criptográficas de protección de datos. Ed. Computec-Rama. 4. Stephen A. Thomas SSL & TLS Essentials: Securing the Web Ed. Wiley. ISBN 0471383546 5. Stephen A. Thomas and Stephen Thomas HTTP Essentials: Protocols for Secure, Scaleable Web Sites Ed. Wiley. ISBN 6. Jamie Jaworski, Paul J. Perrone (2001) Seguridad En Java - Edicion Especial Descarga Web Ed. Prentice Hall. ISBN 8420531340 7. Gutiérrez Abraham y Bravo, Gires. PHP 4.0 a través de ejemplos. Alfa Omega, ISBN 970-15-0955-2. 8. Payne Chris. Aprendiendo ASP.NET en 21 dias. Pearson ISBN 97-0260-340-4. 9. Cauldwell. Profesional Web Services. Wrox Press Ltd. ISBN 186100-509. 10. Melanie Hoag Servidor Web Usando Apache