こんにちは! サブスクペイのシステム基盤チームの高尾です。
システム基盤チームではアプリケーションやシステムインフラの基礎部分の構築や管理、メンテナンス、性能改善などを行っています。
今回はAWS構成をベストプラクティスに近づけることを目的に、 AWS Security Hub を導入したときの手順を共有します。
AWS Security Hubとは
AWS Security Hubは、AWS構成やリソース設定をセキュリティ業界標準(CIS BenchmarkやPCI DSSなど)やAWSベストプラクティス項目との比較結果を可視化してくれるサービスです。
各比較項目(以下、セキュリティコントロールと呼びます)には重要度のラベルもついているため、基準に満たなかったものの中から何を優先的に取り組めばよいか目安をつけやすいのも特徴です。
またOrganization構成の場合、組織内の特定アカウントに各アカウントからセキュリティコントロールの確認結果を集約することも可能なので、アカウント別の状況把握もスムーズにできます。
Security Hub導入前にやること
では早速Security Hubの導入を!と思うかもしれませんが、これを実行するには次の前提があります。
Security Hubを有効化するアカウントおよびリージョン(今回は東京リージョン)での AWS Config の有効化です。
実はセキュリティコントロールというのは、AWS Config からのサービスリンクのルールを使用するため、事前にAWS Configにてリソースを記録する必要があるのです。
ということでSecurity Hubを有効化したい各アカウントの東京リージョンにてConifgを有効化しました。
Config有効化の際、Configの記録先となるS3バケットを指定する必要があります。
今回はログ集約用アカウントのバケットを指定し、そのバケットのバケットポリシーにてConfigを有効化する各アカウントからのアクセス許可設定をしました。
参考:https://docs.aws.amazon.com/ja_jp/config/latest/developerguide/s3-bucket-policy.html
Security Hub導入
ではConfigの有効化ができたので、いよいよSecurity Hubの導入をします。
Organization構成の場合、Security Hub有効化の対象アカウントは下記のようになります。
1. 管理アカウント
2. セキュリティチェック集約用アカウント
管理アカウントでの設定事項
初めてSecurity Hubを開くと、セキュリティ基準を選択する画面が表示されます。
セキュリティ基準には2024年06月時点で下記を含む7つの基準があり、複数選択することも可能です。
セキュリティ基準:
* AWS 基礎セキュリティのベストプラクティス v1.0.0
* CIS AWS Foundations Benchmark v1.2.0
* PCI DSS v3.2.1
セキュリティ基準を選択したら、次に同じ画面内にある「委任された管理者」という項目にセキュリティチェックを集約させたいアカウント番号を入力します。
これは管理アカウントとは別のアカウントにセキュリティチェックを集約させたい場合の設定となります。
以上の設定を保存することで管理アカウントでのSecurity Hub有効化は完了です。
下記はOrganizationの管理アカウントでのSecurity Hubの画面で、Security Hubの管理は別のアカウントに委任されている旨の文言が確認できます。
セキュリティチェック集約用アカウントでの設定事項
次に、管理アカウントからSecurity Hubの管理を委任されたアカウントにてSecurity Hubを開きます。
こちらではOrganization内の各アカウントのセキュリティチェックを集約するため、下記の手順で「中央設定」という設定を実施します。
1. 左ペインの「設定」をクリック
2. 下図の画面で「中央設定」を選択し、右下の「中央設定を開始」ボタンをクリック
3. 中央設定のポリシーを設定
* カスタムポリシー:
「コントロール」にて、セキュリティコントロールを全て適用するのか特定のものにするか選択
* アカウント:集約の対象を選択
* ポリシーの詳細:中央設定のポリシー名、説明を記載
これにてSecurity Hubの設定は完了となります。
Security Hubはコントロールにもよりますが、チェック・判定に時間がかかるため有効化してから24時間以降に結果を確認することをお勧めします。
まとめ
改めて今回実施した作業を簡単に記載します。
1. Security Hubを有効化したいアカウントおよびリージョンにて、Configの有効化が必要
2. Security Hubの有効化は2段階ある
* 組織の管理アカウントでSecurity Hubの管理を委任するアカウントを指定する
* Security Hubの管理をするアカウントにて中央設定を設定する
こう見るとシンプルですが、事前のConfig設定に関してはS3バケットポリシーやOrganizationのSCPが関わってくるため、権限設定の把握が作業の円滑度を左右するかと思われます。
ただ、Security Hubの有効化までできれば、その先はよりセキュアなAWS構成・設定への道筋が見えてくると思います!
セキュリティに関する報道も多くなっているこのご時世なので、Security Hubを活用することも一つの手段と思い、今回は有効化の手順を記載してみました。
まだSecurity Hubを使っていない場合、この記事が参考になると幸いです。
最後まで読んでいただき、ありがとうございました!
We are hiring!!
ROBOT PAYMENTでは一緒に働く仲間を募集しています!!!
speakerdeck.com
www.robotpayment.co.jp