
Gestión de Infraestructura de Competiciones
Marco de automatización de infraestructura para competiciones de seguridad

Laforge permite el desarrollo rápido de infraestructura para competiciones de seguridad informática. Mediante un lenguaje de configuración simple e intuitivo, Laforge gestiona un grafo de dependencias y el estado del sistema, permitiendo una colaboración remota altamente productiva. El motor de Laforge utiliza un cargador personalizado para realizar superposiciones de configuración multidimensionales y no destructivas. Una buena analogía es Docker: cuando construyes un contenedor Docker, se construye por capas. Esa potencia nos ha inspirado para crear Laforge. Ciertamente es un proyecto de nicho, pero sin duda le hemos encontrado un uso increíble.
NOTA: Actualmente estamos en una versión preliminar de v0.0.1. Las API están sujetas a cambios (aunque intentaré minimizarlos) y es probable que encuentres errores. Por favor, repórtalos y, mejor aún, envíame un pull request :)
Laforge es un marco que permite diseñar e implementar competiciones de seguridad de forma escalable, colaborativa y divertida. Escribes configuraciones en el Lenguaje de Configuración de Laforge y usas la herramienta CLI para inspeccionar, validar, construir y conectarte a infraestructura remota. Históricamente, ha sido compatible principalmente con Terraform como su "backend" (genera configuraciones sofisticadas de Terraform), pero esto cambiará rápidamente en las próximas semanas y meses. Actualmente, Laforge impulsa toda la gestión de infraestructura para la National Collegiate Penetration Testing Competition y ha soportado despliegues de juegos con más de 1400 nodos únicos.
Tres razones:
No hace falta entrar en una guerra de opiniones sobre una herramienta u otra. Francamente, nos gustan. Nuestra queja principal es que, dada su fragmentación, es difícil ser realmente bueno en alguna de ellas. Disfrutamos Terraform y ha sido nuestro backend principal desde el principio.
Hemos utilizado las diversas iteraciones de LaForge para generar entornos de competición con cientos de hosts en total para casi 30 equipos. En resumen, puede escalar tanto como tu imaginación (y presupuesto/recursos) lo permita. Además, hemos usado esta herramienta con un equipo de más de 15 desarrolladores voluntarios, cada uno trabajando en sus propios componentes, y hemos utilizado esa retroalimentación en las versiones más recientes.
Dependiendo de la complejidad de tu entorno, la generación del resultado de LaForge puede tomar segundos o minutos. Al final, pasarás más tiempo poniendo en marcha sistemas en el entorno de tu elección con Terraform o Vagrant que generando las configuraciones relevantes para cualquiera de ellos.
Si por producción te refieres a desarrollar entornos de competición en vivo, LaForge se ha utilizado durante más de tres años en capacidad de "producción". Si te refieres a sistemas en vivo en tu empresa u organización, probablemente funcionará bien, pero úsalo bajo tu propio riesgo.
$ go get github.com/gen0cide/laforge/cmd/laforge
laforge configure
laforge init
laforge example <model>
buildconfiguredepsmentores, colaboradores y grandes amigos de Laforge
downloaddumpenvexampleexplorerinitqueryserveshellstatusuploadBuilder diseñadaBuildEngine terminadoBuildIssuevalidationsnull (especificación por ahora)