
セキュリティ競技インフラ自動化フレームワーク

Laforgeは、情報セキュリティ競技のためのインフラストラクチャを迅速に開発することを可能にします。シンプルで直感的な設定言語を使用し、依存関係グラフと状態管理を管理し、高い生産性のリモートコラボレーションを実現します。Laforgeエンジンはカスタムローダーを使用して、多次元的かつ非破壊的な設定オーバーレイを実行します。これに類似したものとしてDockerが挙げられます。Dockerコンテナを構築する際、レイヤーごとに積み上げていくのと同様のパワーが、Laforgeを構築する原動力となりました。これは確かにニッチなプロジェクトですが、私たちは非常に優れた用途を見出しています。
注 - 現在、v0.0.1のプレビューリリース段階です。APIは変更される可能性があります(最小限に抑えるよう努めます)が、バグに遭遇する可能性があります。バグ報告をいただくか、さらに良い方法としてプルリクエストを送ってください :)
Laforgeは、セキュリティ競技をスケーラブルで共同作業が可能、かつ楽しい方法で設計・実装できるフレームワークです!設定を Laforge Config Language で記述し、CLIツールを使ってリモートインフラの検査、検証、構築、接続を行います。これまでは主にTerraformを「バックエンド」としてサポートしてきました(高度なTerraform設定を生成します)が、今後数週間から数ヶ月で急速に変化する予定です。現在、Laforgeは National Collegiate Penetration Testing Competition のインフラ管理全体を支えており、1400を超えるユニークノードのゲーム展開をサポートしてきました。
3つの理由があります:
このツールかあのツールかで激しい議論をする必要はありません。実際、私たちはそれらが好きです。最大の不満は、断片化されているため、どれか一つに本当に 熟達 するのが難しいことです。私たちはTerraformを楽しんでおり、当初から主要なバックエンドとして使用しています。
LaForgeの様々なイテレーションを使用して、30チーム近くに対して数百台のホストを持つ競技環境を生成してきました。要するに、想像力(と予算/リソース)が許す限りスケールできます。さらに、15人以上のボランティア開発者からなるチームで各自がコンポーネントを開発し、そのフィードバックを最新バージョンに活かしてきました。
環境の複雑さにもよりますが、LaForgeの出力の生成には数秒から数分かかる場合があります。結局のところ、TerraformやVagrantで目的の環境にシステムを立ち上げる時間の方が、それらの設定を生成する時間よりも長くなります。
本番環境がライブの競技環境を意味するのであれば、LaForgeは3年以上「本番」で使用されています。会社や組織のライブシステムを意味するのであれば、おそらく問題なく動作しますが、自己責任で使用してください。
$ go get github.com/gen0cide/laforge/cmd/laforge
laforge configure
laforge init
laforge example <model>
build サブコマンドconfigure サブコマンドdeps サブコマンドdownload サブコマンドメンター、コントリビューター、そしてLaforgeの素晴らしい友人たち
dump サブコマンドenv サブコマンドexample サブコマンドexplorer サブコマンドinit サブコマンドquery サブコマンドserve サブコマンドshell サブコマンドstatus サブコマンドupload サブコマンドBuilder インターフェースの設計BuildEngine の完了BuildIssue エラータイプvalidations パッケージnull ビルダー実装(現時点では仕様)