LoginSignup
4
7

More than 1 year has passed since last update.

Baseline Environment on AWS(BLEA)ざっくり説明

Last updated at Posted at 2022-06-02

CDKざっくり説明

プログラム言語でAWSのリソースを定義出来ます。
JavaScript、TypeScript、Python、Java、C#、Go(開発者プレビュー)がサポートされています。
コードをデプロイするとCloudFormation(CFn)のスタックが作成されAWSリソースが作成されます。
CFnで書いくのと比べて可読性が高く、コード量を減らすことが出来ます。

BLEAざっくり説明

AWSのセキュリティのベストプラクティスを実装したテンプレートです。CDKで実装されています。
ガバナンスベース(共通設定)とゲストシステム(システム固有の設定)の2層になっています。
提供されているガバナンスベースのテンプレートをデプロイすると下記リソースが自動的に作成されます。また標準的なゲストシステムのサンプルも提供されています。
環境によるカスタマイズは必要ですが、標準的なセキュリティ設定適用の自動化が可能になります。

ガバナンスベーステンプレートで設定される内容

  • CloudTrail による API のロギング
  • AWS Config による構成変更の記録
  • GuardDuty による異常なふるまいの検知
  • SecurityHub によるベストプラクティスからの逸脱検知 (AWS Foundational Security Best Practice, CIS benchmark)
  • デフォルトセキュリティグループの閉塞 (逸脱した場合自動修復)
  • AWS Health イベントの通知
  • セキュリティに影響する変更操作の通知(一部)
  • Slack によるセキュリティイベントの通知

BLEAを試してみた理由

「BLEAはCDKの学習用途」もあるようです。(下記AWS BlogやAWSサミットのBLEA解説の動画より)
これからCDKを勉強するときに最初から書くのは大変だなと思っていましたが、提供されているサンプルがあったり、サンプルの中のコメントがしっかり書かれているため、CDK学習のハードルが少し下がりました。TypeScriptはしっかり勉強しようと思いました。。

BLEAざっくり手順

デフォルトで提供されるガバナンスベースのテンプレートをデプロイしてみます。
下記のようにお試しであれば複雑な手順なく実行可能です。

  • CDKの前提環境用意(Nodejs、VSCode、認証設定など)

  • リポジトリの取得(git clone)とプロジェクト初期化

  • AWS ChatBotの準備
    BLEAでは通知にSlackを使いますのでSlack上にチャネルを作成してChatBotの初期設定をします。

  • ガバナンスベースのデプロイ

詳細は下記公式のREADMEを参照下さい。

実行結果

  • スタック作成
    下記のようにCFnのテンプレートが作成後、AWSリソースが作成されます。
    なお既にリソースがある場合(例.AWS Configが既に有効可されていたり)はスタックデプロイ時にエラーとなりますのでリソース削除後に再実行してみます。

bl1.png

  • リソース作成
    AWS Config、Cloud Trailの証跡設定など、各種設定が実施されていることが確認出来ます。
    また、セキュリティアラートの通知が設定したSlackに通知されたことを確認出来ました。

bl2.png

4
7
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
7