
Gestion d'infrastructure de compétition
Cadre d'automatisation d'infrastructure pour compétitions de sécurité

Laforge permet le développement rapide d'infrastructures destinées aux compétitions de sécurité informatique. Grâce à un langage de configuration simple et intuitif, Laforge gère un graphe de dépendances et un état, et facilite une collaboration à distance très productive. Le moteur Laforge utilise un chargeur personnalisé pour effectuer une superposition de configuration multi-dimensionnelle et non destructive. Une bonne analogie est Docker : lorsque vous construisez un conteneur Docker, il se construit couche par couche. C'est cette puissance qui nous a inspiré pour créer Laforge. C'est certes un projet de niche, mais nous lui avons trouvé une utilité incroyable.
NOTE – Nous sommes actuellement en version préliminaire v0.0.1. Les API sont susceptibles de changer (bien que j'essaierai de minimiser cela) et vous rencontrerez probablement des bugs. Veuillez les signaler et, mieux encore, envoyez-moi une pull request :)
Laforge est un framework qui vous permet de concevoir et de mettre en œuvre des compétitions de sécurité de manière évolutive, collaborative et amusante ! Vous écrivez des configurations en Langage de Configuration Laforge et utilisez l'outil en ligne de commande pour inspecter, valider, construire et vous connecter à des infrastructures distantes. Historiquement, il a principalement supporté Terraform comme "backend" (il génère des configurations Terraform sophistiquées), mais cela va changer rapidement dans les semaines et mois à venir. Laforge alimente actuellement toute la gestion d'infrastructure du National Collegiate Penetration Testing Competition et a pris en charge des déploiements de jeux de plus de 1400 nœuds uniques.
Trois raisons :
Inutile de lancer une guerre d'opinion sur tel ou tel outil. Franchement, nous les aimons. Notre plus grande plainte est qu'étant donné leur fragmentation, il est difficile d'être vraiment bon dans l'un d'eux. Nous apprécions Terraform et il a été notre backend principal depuis le début.
Nous avons utilisé les différentes itérations de Laforge pour générer des environnements de compétition avec des centaines d'hôtes au total pour près de 30 équipes. En bref, il peut évoluer aussi largement que votre imagination (et votre budget / ressources) le permet. De plus, nous avons utilisé cet outil avec une équipe de plus de 15 développeurs bénévoles, chacun travaillant sur ses propres composants, et avons intégré ces retours dans les versions les plus récentes.
Selon la complexité de votre environnement, la génération de la sortie de Laforge peut prendre quelques secondes ou minutes. Au final, vous passerez plus de temps à provisionner les systèmes dans l'environnement de votre choix avec Terraform ou Vagrant qu'à générer les configurations correspondantes pour l'un ou l'autre.
Si par production vous entendez le développement d'environnements de compétition en direct, Laforge est utilisé depuis plus de trois ans en capacité "production". Si vous parlez de systèmes en direct dans votre entreprise ou organisation, il fonctionnera probablement bien, mais utilisez‑le à vos risques et périls.
$ go get github.com/gen0cide/laforge/cmd/laforge
laforge configure
laforge init
laforge example <model>
buildconfiguredepsmentors, contributeurs et grands amis de Laforge
downloaddumpenvexampleexplorerinitqueryserveshellstatusuploadBuilder conçueBuildEngine terminéBuildIssuevalidationsnull (spécification pour l'instant)