LatamTour2013-SecureInfrastructureAsCode

Hace un par de meses dedique bastante tiempo a re-escribir el site de w3af.org, para lo que utilice las siguientes herramientas:


 * Fabric http://fabric.readthedocs.org/en/1.6/
 * Boto https://readthedocs.org/projects/boto/
 * Amazon EC2 http://aws.amazon.com/ec2/
 * Metodologia TDD http://en.wikipedia.org/wiki/Test-driven_development
 * Python
 * Wordpress

Basicamente lo que logre es tener un script hecho en Fabric que al correrlo crea una nueva instancia de EC2 que tiene un Ubuntu 12.04 sin ninguna configuracion especial y luego corre una serie de comandos para crear un web server que tiene todo el contenido de w3af.org. Todo el codigo PHP de wordpress, configuraciones de daemons y contenido del sitio se encuentra en un servidor GIT en bitbucket, los backups se realizan tambien con GIT, etc.

En relacion a lo que es TDD, genere una serie de tests que verifican que el site se encuentre correctamente configurado, como por ejemplo:
 * Solo estan abiertos los puertos TCP y UDP que necesito
 * Corro nikto y verifico los resultados
 * El contenido de una serie de paginas clave del site es el correcto
 * Verificar que todas las cookies son httponly
 * Verificar que mod_security esta habilitado y funcionando correctamente
 * El apache web server no envie el Server header
 * Y muchos otros tests.

Mi idea es introducir a la audiencia a "Infrastructure as code" [0] y como esto puede ser utilizado para hacer que sus sistemas y aplicaciones sean mas seguros, faciles de testear si funcionan correctamente, etc.

[0] http://www.agileweboperations.com/the-implications-of-infrastructure-as-code