AWS SecurityHubで開発環境のセキュリティコンプライアンスを可視化する
TL;DR
- 開発環境ってみんなでいじるよね
- AWSの知識も人それぞれ、セキュリティの知識も同じく
- ガチガチすぎると作業効率が落ちる
- ガチガチに固めることはせず、はみ出した状況を可視化して対策しよう
AWS Security Hubとは(2020/2/11 現在)
- 2019年6月24日 一般提供開始(東京リージョンでも利用可能)
- AWSアカウントのセキュリティアラート、コンプライアンス状況を可視化
- Amazon GuardDuty、Amazon Inspector、Amazon Macieの結果も Security Hubからまとめて確認可能
- 3rd パーティ製品のセキュリティアラート、スキャン結果にも対応
- Insightで独自のダッシュボードを作成可能
- 1000までのアカウントをまとめて可視化できる
- CIS AWS Foundation Benchmarkに対して環境が準拠しているかチェックできる
詳細は公式のサービスページを確認。 https://aws.amazon.com/jp/security-hub/
やりたいこと
各開発プロジェクト用の開発環境AWSアカウントのセキュリティコンプライアンス・セキュリティリスクを可視化・管理したい。
開発環境の特性(組織や環境によって差はある)
- プロジェクト立ち上げと新規構築の頻度がほぼ同一
- 開発環境だから本番環境よりもセキュアでなくても良いということは 許されない
- 開発速度、スケジュールも重要(ガチガチのルールを適用するのは難しい)
- チーム、ロケーションにより環境に対する制約も変わる
- ベースライン、ルール、教育はあるものの全ての開発エンジニアが AWSのプロフェッショナルという訳ではない
- 回避できず低減、受容などの対応を選択することもある
AWS SecurityHubを使うことで実現出来たところ
- アラートの正規化が不要
- 複数アカウントのセキュリティアラートを可視化・集中管理できる
- 特に定期的なセキュリティチェックはかなり楽になる
- カスタムアクションとの組み合わせで対象アカウントにログインせず修復することができる
- 実際、そこまではやっていない
特に複数アカウントをまとめて管理できるところは嬉しい。 今回適用した各開発アカウントは全てOrganizationに入れているので導入も難しくなかった。
AWS SecurityHubにがんばってほしいところ
- カスタムアクションの自動実行
- CIS AWS Foundation以外の対応
- Insightでパイチャートなど他のグラフ描画への対応
- Control Tower との連携
アカウント作るときに別の手段で自動化しちゃえばよいのだけど、SecurityHub有効した状態でアカウント作れると作業が楽かなー、と。
また、しばらく運用して、どこかで話して見ようと思います。