
Wettbewerbsinfrastrukturverwaltung
Framework zur automatischen Infrastruktur für Sicherheitswettbewerbe

Laforge ermöglicht die schnelle Entwicklung von Infrastruktur für Informationssicherheitswettbewerbe. Mit einer einfachen und intuitiven Konfigurationssprache verwaltet Laforge einen Abhängigkeitsgraphen und den Zustand und ermöglicht eine hochproduktive Zusammenarbeit aus der Ferne. Die Laforge-Engine verwendet einen benutzerdefinierten Loader für mehrdimensionale, zerstörungsfreie Konfigurationsüberlagerungen. Eine gute Analogie hierfür ist Docker – wenn du einen Docker-Container baust, baut er ihn schichtweise auf. Diese Kraft hat uns dazu inspiriert, Laforge zu entwickeln. Es ist sicherlich ein Nischenprojekt, aber wir haben definitiv eine unglaubliche Verwendung dafür gefunden.
HINWEIS – Derzeit befinden wir uns in einer Vorabversion von v0.0.1. Die APIs können sich ändern (obwohl ich das Minimieren versuchen werde) und du wirst wahrscheinlich auf Fehler stoßen. Bitte melde sie, und noch besser, sende mir einen Pull-Request :)
Laforge ist ein Framework, mit dem du Sicherheitswettbewerbe skalierbar, gemeinsam und unterhaltsam entwerfen und umsetzen kannst! Du schreibst Konfigurationen in der Laforge Config Language und verwendest das CLI-Tool, um die entfernte Infrastruktur zu inspizieren, zu validieren, zu bauen und mit ihr zu verbinden. In der Vergangenheit hat es hauptsächlich Terraform als sein „Backend“ unterstützt (generiert anspruchsvolle Terraform-Konfigurationen), aber das wird sich in den kommenden Wochen und Monaten schnell ändern. Laforge betreibt derzeit die gesamte Infrastrukturverwaltung für den National Collegiate Penetration Testing Competition und hat Spielebereitstellungen mit >1400 eindeutigen Knoten unterstützt.
Drei Gründe:
Es besteht keine Notwendigkeit, einen Flamewar über dieses oder jenes Tool zu führen. Ehrlich gesagt mögen wir sie. Unsere größte Beschwerde ist, dass es aufgrund ihrer Zersplitterung schwer ist, in einem davon wirklich gut zu sein. Wir schätzen Terraform und es war von Anfang an unser primäres Backend.
Wir haben die verschiedenen Iterationen von LaForge verwendet, um Wettbewerbsumgebungen mit Hunderten von Hosts für fast 30 Teams zu generieren. Kurz gesagt, es kann so groß skalieren, wie es deine Vorstellungskraft (und dein Budget/deine Ressourcen) erlauben. Darüber hinaus haben wir dieses Tool in einem Team von über 15 freiwilligen Entwicklern eingesetzt, die jeweils an ihren eigenen Komponenten arbeiten, und haben dieses Feedback in den neuesten Versionen berücksichtigt.
Abhängig von der Komplexität deiner Umgebung kann das Erstellen der LaForge-Ausgabe Sekunden oder Minuten dauern. Letztendlich wirst du mehr Zeit damit verbringen, Systeme in der von dir gewählten Umgebung hochzufahren (mit Terraform oder Vagrant), als die entsprechenden Konfigurationen für diese zu generieren.
Wenn du mit Produktion die Entwicklung von Live-Wettbewerbsumgebungen meinst, so wird LaForge seit über drei Jahren in einer „Produktions“-Kapazität eingesetzt. Wenn du Live-Systeme in deinem Unternehmen oder deiner Organisation meinst, wird es wahrscheinlich gut funktionieren, aber die Nutzung erfolgt auf eigenes Risiko.
$ go get github.com/gen0cide/laforge/cmd/laforge
laforge configure
laforge init
laforge example <modell>
buildconfiguredepsdownloadMentoren, Mitwirkende und großartige Freunde von Laforge
dumpenvexampleexplorerinitqueryserveshellstatusuploadBuilder entworfenBuildEngine fertigBuildIssuevalidationsnull (derzeit Spezifikation)