Descripción Completa [Sept. 17, 2011, 8:10 a.m.]
1. Objetivos de Aprendizaje
Estudiaremos vulnerabilidades típicas de aplicaciones web y como prevenrilas cuando desarrola aplicaciones.
2. Justificación
Proteger la privada, autenticidad e integridad de la información es fundamental en toda aplicación, pero especialmente desafiante con aplicaciones web que son accesibles públicamente, dado que muchas personas se dedican a explotar vulnerabilidades y diariamente se descubren nuevas vulnerabilidades y se desarrollan nuevas formas de explotar, herramientas y prácticas.
Metodología
Usaremos material de diversas fuentes, pero especialmente de OWASP, una organización reconocida, que produce --entre otros-- un buen Estándar para verificar seguridad de aplicaciones web. OWASP también produce WebGoat, una aplicación para aprender sobre seguridad de aplicaciones web que estaremos usando durante este curso. Algunas lecciones de WebGoat requieren que se modifiquen las fuentes en java de esa aplicación, esas lecciones no son obligatorias.
En cada una de las 10 semanas de este habrá una lección con un tema, un laboratorio práctico y una breve discusión sobre el tópico. Al final del semestre nos embarcaremos en un proyecto que emplee buena parte de lo que aprendió en las lecciones previas.
- Semana 1. SQL (definiciones, ejemplos de creación de tablas, creación de índices y ejemplos de consultas) y PostgreSQL (uso de la interfaz plana psql, operaciones de configuración y mantenimiento típicas). Creación del módelo para la base de datos y llenado inicial. Uso inicial de interfaz para la línea de comandos de php.
- Semana 2. Lo básico de programación en PHP (Apache y PHP, generación de páginas HTML, asignación, expresiones, ciclos, funciones). Conexión a base de datos para presentar los datos. Algunos ejemplos pueden hacerse en http://codepad.org/
- Semana 3. Continuando lo básico de programación en PHP (funciones, objetos, interacción con formularios HTML). Boton nuevo y formulario para crear un nuevo contacto. Algunos ejemplos pueden hacerse en línea en http://codepad.viper-7.com/ o en http://www.coderun.com/ide/
- Semana 4. Repaso. Mejoras a la aplicación. Seguridad en datos de entrada y sálida.
2. Aspectos metodológicos y logísticos
El curso se basa en la lectura, el material provendrá entre otras de estas fuentes:
- Ayudas para el desarrollo de programas. Disponible en http://structio.sourceforge.net/guias/ayudadesprog/ayudadesprog.html
-
La distribución Aprendiendo de Jesús de OpenBSD como Servidor y Cortafuegos http://structio.sourceforge.net/guias/servidor_OpenBSD/
De las cuales estudiaremos rápidamente varios capítulos durante 3 semanas. Las lecturas se complementarán con ejercicios prácticos que el facilitador retroalimenta de manera personalizada por correo y que darán lugar a puntaje, el cual a su vez da lugar a becas, premios y oportunidades laborales. La última semana se dedicará a recapitular y completar.
2.1. Cronograma y temas:
Semana | Fechas | Temas |
5.Ago.2011 - 20.Ago.2011 | Inscripciones (tarea de inscripción) | |
1 | 20.Ago.2011 - 26.Ago.2011 | SQL y PostgreSQL |
2 | 27.Ago.2011 - 2.Sep.2011 | Básico de PHP |
3 | 3.Sep.2011 - 9.Sep.2011 | Continúa lo básico de PHP |
4 | 10.Sep.2011 - 16.Sep.2011 | Repaso y Mejoras |
2.2 Prerequisitios y tarea de inscripción
Se requiere operar con fluidez el interprete de comandos, emplear un editor como vim, hacer páginas HTML extra-sencillas, instalar y configurar PostgreSQL, Apache, PHP con módulo de PostgreSQL. La tarea de ingreso tiene por objeto evaluar esto.
2.3. Participante y Seguidor
En este curso puede ser bien seguidor o bien participante, de acuerdo al botón que presione (Seguir o Participar), pero también de acuerdo a si hace o no la tarea de inscripción.
De un participante esperamos que realice las tareas semanales, de un seguidor no lo esperamos pero también los apoyamos en todo lo posible y les daremos retroalimentación cuando intenten realizar y enviar las tareas.
2.4. Actividad semanal
Como parte de la capacitación virtual gratuita se propone semanalmente:
- Lecturas de contenidos con licencias abiertas
- Ejercicios retroalimentados por el facilitador de manera personalizada por correo.
- Intervenir en la reunión de teleconferencia de 1 hora ---ver cronograma más adelante.
- Emplear las páginas de las tareas para realizar preguntas y dar respuestas referentes a las lecturas y ejercicios de cada tarea. Para realizar sugerencias y aportes para los contenidos, herramientas y metodología por favor comente esta descripción.
- Emplear infraestructura de P2PU para interactuar.
- Emplear su computador para instalar Apache, PHP y PostgreSQL y usarlo o emplear una máquina virtual.
Durante las 4 semanas del curso, se espera una dedicación semanal de 5 horas para la realización de lecturas, prácticas y ejercicios.
2.5 Horarios para teleconferencia (hora colombiana, GMT -5:00)
Semana |
Fecha y Hora |
1 | Lunes 23.Ago.2011 8:00PM a 9:00PM |
2 | Lunes 30.Ago.2011 8:00PM a 9:00PM |
3 | Lunes 5.Sep.2011 8:00PM a 9:00PM |
4 | Lunes 12.Sep.2011 8:00PM a 9:00PM |
Para la teleconferencia por favor ingresar al canal #p2pu-153-m7-fundame en la red de IRC de Freenode, bien con un cliente de IRC o bien con un navegador desde http://www.p2pu.org/es/chat/
3. Otras aclaraciones
- Este módulo de capacitación se ofrece en el marco de un plan general de capacitaciones para 2011.
- Este módulo de capacitación tiene un complemento presencial retribuido, uno virtual retribuido y este virtual gratuito, pueden consultar detalles sobre los componentes retribuidos en: https://www.pasosdejesus.org/index.php?pag=m7
- Nos resulta posible enviar los materiales del curso a algunos paises (lecturas, CDs de instalación, DVD con imagen de disco duro), si está interesad@ por favor escriba a vtamara@pasosdeJesus.org
4. Términos y Condiciones Especiales
Este escrito se cede al dominio público de acuerdo a la legislación colombiana, agradeciendo se de crédito a Pasos de Jesús. Ver https://www.pasosdejesus.org/dominio_publico_colombia.html.
Este escrito se dedica a Dios igual que este curso.
Por favor haga comentarios sobre esta descripción completa para adaptar los temas propuestos a sus necesidades.