
Gerenciamento de Infraestrutura de Competições
Framework de Automação de Infraestrutura para Competições de Segurança

O Laforge permite o desenvolvimento rápido de infraestrutura para competições de segurança da informação. Usando uma linguagem de configuração simples e intuitiva, o Laforge gerencia um grafo de dependências e o estado, permitindo colaboração remota altamente produtiva. O motor do Laforge utiliza um carregador personalizado para aplicar sobreposições de configuração multidimensionais e não destrutivas. Uma boa analogia é o Docker – quando você constrói um container Docker, ele é construído em camadas. Foi esse poder que nos inspirou a criar o Laforge. É certamente um projeto de nicho, mas encontramos um uso incrível para ele.
NOTA – Atualmente, estamos em uma versão de prévia da v0.0.1. As APIs estão sujeitas a mudanças (embora tentarei minimizá-las) e você provavelmente encontrará bugs. Por favor, reporte-os e, melhor ainda, envie um pull request :)
O Laforge é um framework que permite projetar e implementar competições de segurança de forma escalável, colaborativa e divertida! Você escreve configurações na Linguagem de Configuração Laforge e usa a ferramenta CLI para inspecionar, validar, construir e conectar-se à infraestrutura remota. Historicamente, ele suportou principalmente o Terraform como seu "backend" (gera configurações sofisticadas do Terraform), mas isso mudará rapidamente nas próximas semanas e meses. Atualmente, o Laforge alimenta todo o gerenciamento de infraestrutura da National Collegiate Penetration Testing Competition e já suportou implantações de jogos com mais de 1400 nós únicos.
Três razões:
Não há necessidade de entrar em uma guerra de fogo sobre esta ou aquela ferramenta. Francamente, gostamos delas. Nossa maior reclamação, de modo geral, é que, dada a fragmentação, é difícil ser realmente bom em qualquer uma delas. Gostamos do Terraform e ele tem sido nosso backend principal desde o início.
Usamos várias iterações do LaForge para gerar ambientes de competição com centenas de hosts no total para quase 30 equipes. Em resumo, ele pode escalar tão grande quanto sua imaginação (e orçamento/recursos) permitir. Além disso, usamos esta ferramenta em uma equipe de mais de 15 desenvolvedores voluntários, cada um trabalhando em seus próprios componentes, e usamos esse feedback nas versões mais recentes.
Dependendo da complexidade do seu ambiente, construir a saída do LaForge pode levar segundos ou minutos. No final, você gastará mais tempo iniciando sistemas no ambiente de sua escolha com Terraform ou Vagrant do que gerando as configurações relevantes para qualquer um deles.
Se por produção você quer dizer desenvolvimento de ambientes de competição ao vivo, o LaForge é usado há mais de três anos em capacidade "produtiva". Se você quer dizer sistemas ao vivo em sua empresa ou organização, provavelmente funcionará bem, mas use por sua conta e risco.
$ go get github.com/gen0cide/laforge/cmd/laforge
laforge configure
laforge init
laforge example <model>
buildconfiguredepsmentores, contribuidores e grandes amigos do Laforge
downloaddumpenvexampleexplorerinitqueryserveshellstatusuploadBuilder projetadaBuildEngine concluídoBuildIssuevalidationsnull (especificação por enquanto)