AWS Security Hub - セキュリティチェックの自動化、セキュリティアラートの一元管理

2022年10月20日掲載

AWS Security Hub - セキュリティチェックの自動化、セキュリティアラートの一元管理

こんにちは。ソフトバンク株式会社の王文礼です。

本記事では、AWS 環境のセキュリティとコンプライアンス対応に役立つ AWS Security Hub について解説します。Security Hub の使い方を習得しようとする読者の皆さんに役立つことができたら、嬉しいです。

 

目次

本記事の内容

Security Hub を利用する前提として、AWS Config でリソースの記録を有効化する必要があります。そのため、「AWS Config でリソースの記録を有効化」、「AWS Security Hub を有効化」という順番で解説します。

Security Hub は、いろいろなサービスと連携して使うもので、現在 13 個の AWS サービスと 68 個の パートナーサービスと統合されています。AWS サービスとの統合に関して、AWS Config と AWS Trusted Adviser を例に挙げて説明しますが、これらの AWS サービス自体の説明は対象外とします。

なお、パートナーサービス自体やパートナーサービスとの統合についての説明も対象外としますので、ご了承ください。

AWS Security Hub とは

AWS Security Hub は、AWS 環境全体のリソースに対して、セキュリティのベストプラクティスをチェックしてくれるクラウドセキュリティ体制管理サービスです。

Security Hub は、AWS のセキュリティベストプラクティスと業界のコンプライアンスのチェックに加えて、複数の AWS サービス及びパートナーサービスからのセキュリティアラートを集約し、より簡単に修復アクションを講じることも可能です。

Security Hub 固有のセキュリティ標準

Security Hub と統合できる AWS のサービス及びパートナーサービス

  • 記事作成時点で、Security Hub は 13 個の AWS サービスと統合することができます。

例えば、Security Hub は、AWS Config や Amazon GuardDuty、Amazon Inspector、Amazon Macie、IAM Access Analyzer、AWS Firewall Manager など、有効化されている AWS セキュリティサービスからの検出結果を自動的に収集できます。

  • AWS サービス以外、68 個のパートナーサービスと統合することもできます。

例えば、IBM QRadar、McAfee MVISION Cloud Native Application Protection Platform、Slack などと統合して、検出結果を一元管理することができます。詳細は、パートナーサービスをご参照ください。

Security Hub を利用するまで、利用中の AWS サービスもしくはパートナーサービスに一々アクセスして、それぞれのコンソールで確認する必要がありますが、Security Hub の導入により、これらのサービスの一元管理が可能となり、作業の手間を省くことができます。

aws security hub の仕組み

AWS Config でリソースの記録を有効化

ここからは八つのセクションに分けて、Security Hub の使用方法について説明します。Security Hub を有効化するために、AWS Config でリソースの記録を有効化する必要があります。

AWS Config リソースの記録を有効化する手順:

① AWS Config コンソールを開きます。

② 一般設定のところ、下記の項目を選択します。

  • このリージョンでサポートされている全てのリソースを記録します
  • グローバルリソース (AWS IAM リソースなど) を含める
  • 既存の AWS Config サービスにリンクされたロールを使用

③ 配信方法のところ、適当に設定して、次へ をクリックします。

ルール ページで AWS マネージド型ルール を何も選択せず、次へ をクリックします。※必要な項目を選択しても問題ありません。

注)現状、リージョンにて初めて AWS Config を有効化する際に表示される画面において、複数のルールを選択することが可能ですが、それ以外の場合、一度に一つのルールしか追加できません。マネージド型ルールは 143 個もあるため、ここで何も選択しないままで進めると、今後もしマネージド型ルールを利用したいなら、ルールを一つづつ追加する必要があります。一応、YAML ファイルを作成して、必要なルールを一括で追加することが可能ですが、どちらも手間がかかります。

本記事では、AWS Config と Security Hub との統合を説明するために、マネージド型ルール を選択しないようにします。

レビュー ページで、記録するリソースタイプは すべてのリソース(グローバルリソースを含む) となっていることを確認し、確認 をクリックします。

これで、AWS Config でリソースの記録が有効化されました。

AWS Config の検出結果を確認

AWS Config リソースの記録を有効化できたら、ダッシュボードルール ページを確認してみます。

  • ダッシュボードを確認

前工程の ルール ページで マネージド型ルール を選択しなかったため、コンプライアンスの準拠結果が生成されません。

  • ルールページを確認

前工程の ルール ページで マネージド型ルール を選択しなかったため、リソース設定が該当ルールに準拠しているかどうかを評価できず、準拠結果が生成されません。

AWS マネージド型ルールを追加

試しに、二つのルールを追加して、準拠結果を確認してみます。

ルールを追加する手順:

ルール ページで、ルールを追加 をクリックします。

ルールタイプの選択 のところで、AWS によって管理されるルールの追加 を選択します。

AWS マネージド型ルール の検索バーに s3-bucket-public-write-prohibited を入力/選択して、次へ をクリックします。

ルールの設定 ページで、デフォルト設定のままで 次へ をクリックします。

⑤ 確認して、ルールを追加 をクリックします。

これで、一つ目のルールの追加が完了しました。

手順①〜⑤を繰り返して、二つ目のルール ec2-ebs-encryption-by-default を追加します。

再度 AWS Config の検出結果を確認

ルールを追加したら、再度 ダッシュボードルール を確認します。

s3-bucket-public-write-prohibited と ec2-ebs-encryption-by-default に関する検出結果が表示されていることが分かります。

注)検出結果が表示されない場合、ルール ページで、該当のルールを選択した状態で アクション > 再評価 の順にクリックして、手動で評価を実施してください。

AWS Security Hub を有効化

AWS Config でリソースの記録を有効化した後、Security Hub を有効化します。

Security Hub を有効化する手順:

① Security Hub コンソールを開きます。

② 必要なセキュリティ基準にチェックを入れて、Security Hub の有効化 をクリックします。

注)Security Hub 固有のセキュリティ基準

AWS セキュリティエキスパートによって精査され、高度にキュレートされたセキュリティに関するベストプラクティスです。

米国の CIS(Center for Internet Security)が発行している AWS を安全に利用するための構成基準及びベストプラクティスに関するガイドラインです。

略称、PCI DSS v3.2.1。クレジットカードデータを安全に取り扱うために策定されたクレジットカード業界のセキュリティ基準です。

セキュリティチェックを実行するタイミング

セキュリティ標準が有効化されると、Security Hub は全てのチェックを開始し、チェック完了まで最大 2 時間かかります。初回コントロールチェックの実行が完了するまで、ステータスは「No data」の状態となります。

初回チェックの後、各コントロールのチェックは、定期的にもしくはトリガーにより実行されます。

  • 定期チェックの場合、最後の実行から 12 時間以内に自動的に実行されます。周期を変更することはできません。
  • 変更によってトリガーされるチェックは、関連付けられたリソースの状態が変更されたときに実行されます。リソースの状態が変わらない場合でも、18 時間ごとに実行されます。

注)コントロールとは、有効化されたセキュリティ基準やマネージド型ルールのことです。

セキュリティスコアと重要度

セキュリティチェック完了後、Security Hub の概要ページを確認しましょう。

  • セキュリティ基準別のスコアと全体のセキュリティスコアが示されます。
  • リージョン別での検出結果に重要度付きで表示されます。数字 のところをクリックすると、詳細が表示されます。(現時点では、東京リージョンのみ Security Hub を有効化したため、東京リージョンの検出結果のみが表示されます。)

セキュリティスコアの計算方法

  • セキュリティスコアは、有効になっているコントロールのうち、合格のコントロールの割合を示します。

例えば、100 個のコントロールが有効になって、そのうち 65 個が合格である場合、セキュリティスコアは 65% になります。

  • 有効になっているコントロールのうち、結果がないコントロールを無視します。

例えば、110 のコントロールが有効になって、そのうち 65 個が合格で、 10 個が「No data」の場合、計算では「No data」のコントロールが無視され、セキュリティスコアは 65% になります。

  • 集約リージョンを設定している場合、全体のセキュリティスコアは、リンクされた全てのリージョンの結果を含めたスコアとなります。
  • Security Hub の管理アカウントの場合、セキュリティスコアには、全てのメンバーアカウント及び全てのリージョンのスコアが含まれます。

重要度の評価基準

コントロールの重要度は、二つの評価基準にもとづいて決定されます:

  • 攻撃者がコントロールに関連する構成上の脆弱性を利用して、不正行為を実施する際の難易度。

例えば、MFA(多要素認証)が設定されていないという脆弱性を利用して、アカウントに侵入する行為の難易度は、この評価基準に該当します。

  • 脆弱性が AWS アカウントまたはリソースの侵害につながる可能性。

上記の例では、MFA 認識が設定されていないため、侵害者はアカウント ID とパスワードを手に入れたら、AWS リソースにアクセスできてしまいます。 

重要度マトリックス

 

AWS アカウントまたはリソースへの侵害の可能性

非常に高い

高い

低い

非常に低い

不正行為の実施が非常に簡単

重大

重大

不正行為の実施がやや簡単

重大

不正行為の実施がやや難しい

不正行為の実施が非常に難しい

引用元:重要度の基準

重要度の定義

  • 重大:問題が深刻化しないように直ちに修復すべき
  • 高 :優先事項として、問題を早期に対処すべき
  • 中 :優先事項として、なるべく問題を早期に対処すべき
  • 低 :対処不要
  • 情報:脆弱性を未発見(ステータスは PASSED、WARNING、NOT AVAILABLE を含む)

クロスリージョン集約を有効化

クロスリージョン集約とは

クロスリージョン集約を使用すると、複数のリージョンからの検出結果、検出結果の更新、インサイト、コンプライアンスステータスの制御、及びセキュリティスコアを一つのリージョン(集約リージョン)に集約することができます。さらに集約リージョンからこれらのデータを管理することもできます。

例えば、東京リージョンを集約リージョンとして設定し、大阪リージョンとバージニア北部リージョンをリンクされたリージョンとして設定するとします。 東京リージョンの検出結果ページには、三つのリージョンの検出結果が表示されます。検出結果が更新されたら、三つのリージョンの検出結果ページにも反映されます。

クロスリージョン集約を有効化する手順:

クロスリージョン集約を有効するには、集約リージョンとなるリージョンから有効化する必要があります。

① Security Hub コンソール を開きます。

② AWS のリージョンを集約リージョンとして使用するリージョンに変更します。今回は東京リージョンにします。

③ Security Hub ナビゲーションメニューで、設定 > リージョン の順にクリックします。

アジアパシフィック (東京) - ap-northeast-1 を選択します。

⑤ リンクされたリージョンで、データの集約元となるリージョンを選択します。

  例えば、大阪とバージニア北部を選択します。

保存 をクリックします。

ご参照:

  • クロスリージョン集約を無効化するには、手順③のところで、集約リージョンなし に設定します。
  • 集約リージョンを変更するには、以下を実行する必要があります:
    • クロスリージョン集約を無効化します。
    • AWS のリージョンを新しい集約リージョンに変更します。
    • クロスリージョン集約を有効にします。

クロスリージョン集約を有効化したら、Security Hub の集約リージョン(東京)で確認すると、リンクされたリージョンの検出結果も反映されていることが分かります。

重要度の欄の数字は、ワークフローステータスが NEW または NOTIFIED の検出結果のみが含まれます。

重要度の欄の数字をクリックすると、詳細がリストされます。リストが重要度/リージョン/ワークフローステータス/レコードの状態でフィルタリングされます。

メンバーアカウントを追加

マルチアカウントを利用する場合、一つのアカウントを Security Hub の管理アカウント(委任管理アカウント)として指定し、他のアカウントをメンバーアカウントとして Security Hub の管理アカウントに追加することができます。

Security Hub の管理アカウントにメンバーアカウントを追加するには、二つの方法があります。

  • AWS Organizations を利用(via Organizations)

Security Hub の管理アカウントとメンバーアカウントは同じ組織に属する必要があります。

  • アカウントを招待(by Invitation)

組織内もしくは組織外のアカウントを追加できます。

メンバーアカウントの追加手順 - via Organizations:

AWS Organizations を利用して、メンバーアカウントを追加するには、まず、Security Hub の管理アカウントを指定する必要があります。次に、Security Hub の管理アカウントよりメンバーアカウントを追加します。

Security Hub の管理アカウントを指定するには、組織のマスターアカウントより実施します。

① マスターアカウントから Security Hub コンソールを開きます。

② Security Hub ナビゲーションメニューで、設定 > 一般 の順にクリックします。

委任された管理者アカウント ID のところにメンバーアカウント ID を入力して、委任 をクリックします。

④ Security Hub の管理アカウントを指定した後、管理アカウントコンソール > 設定 > アカウント ページに組織の全てのアカウントがリストアップされます。

注)組織のアカウントリストは、Security Hub の管理アカウントのみに表示されます。組織のマスターアカウントにアカウントリストを表示するにも、マスターアカウントを Security Hub の管理アカウントとして指定する必要があります。

続いて、Security Hub の管理アカウントより、メンバーアカウントを追加します。

⑤ Security Hub の管理アカウントから Security Hub コンソールを開きます。

設定 > アカウント の順にクリックします。

③ 対象のアカウントを選択します。

Actions > Add member の順にクリックします。

メンバーアカウントの追加手順 - by Invitation:

組織外のアカウントを追加する時、この方法を使います。まず、Security Hub の管理アカウントよりメンバーアカウントを招待します。次に、メンバーアカウントより招待を承認します。

Security Hub の管理アカウントより、メンバーアカウントを招待します。

① Security Hub コンソールを開きます。 

設定 > アカウント の順にクリックします。

③ 対象のアカウント ID を入力し、Add をクリックします。(Email を入力しなくても大丈夫です。手順の一部を省略させていただきます。)    

続いて、招待されたアカウントより、招待を承認します。

④ Security Hub コンソールを開きます。 

設定 > アカウント の順にクリックします。

Accept ボタンをオンにして、Accept Inviataion をクリックします。(拒否するには、Decline invitation をクリックします。)

他サービスとの統合

Security Hub コンソールの 統合 ページで、Security Hub と統合できる AWS サービスとパートナーサービスを確認/設定できます。

記事作成時点では、13 個の AWS サービスと 68 個のパートナーサービスとの統合が可能です。

注)パートナーサービスの詳細は、AWS Security Hub のパートナーをご参照ください。本記事では、パートナーサービスについての説明を対象外とします。

Security Hub と統合できる AWS サービス

Security Hub と統合できる 13 個の AWS サービスについて、Security Hub との送受信方向にもとづいて、大きく 2 種類に分類できます。

  • サービスの検出結果を Security Hub へ送信
  • Security Hub からの検出結果を受信

統合可能な AWS サービス

検出結果の送受信方向

AWS Chatbot

検出結果を Security Hub へ送信

AWS Firewall Manager

AWS Config

Amazon GuardDuty

AWS Health

AWS Identity and Access Management Access Analyzer

Amazon Inspector

Amazon Macie

AWS Systems Manager Patch Manager

AWS Audit Manager

Security Hub からの検出結果を受信

Amazon Detective

AWS Trusted Advisor

AWS Systems Manager Explorer and OpsCenter

Security Hub からの検出結果の受信及びアップデート

引用元:AWS サービスとの統合

これからは、2 種類のサービスからそれぞれ一例を挙げて説明します。 

  • 検出結果を Security Hub へ送信するサービスについて、AWS Config を例にします。
  • Security Hub からの検出結果を受信するサービスについて、AWS Trusted Adviser を例にします。

検出結果を確認 - AWS Config の例

AWS サービスの中で、検出結果が Security Hub へ送信される場合、Security Hub コンソールより、そのサービスの 結果を参照 をクリックして、検出結果を確認することができます。

例えば、AWS Config からの検出結果を確認すると、前の工程で設定した AWS Config ルール ec2-ebs-encryption-by-default についての評価結果が表示されます。

リストは、製品名/ワークフローステータス(NEW)/ワークフローステータス(NOTIFIED)/レコードの状態でフィルタリングされます。

検出結果を確認 - AWS Trusted Adviser の例

AWS Trusted Adviser は Secrity Hub からの検出結果を受信することができます。Security Hub を有効にすると、Trusted Advisor コンソールでセキュリティコントロールとその検出結果を確認できます。

① Trusted Adviser コンソールを開きます。

セキュリティ ページ、ソース のところで AWS Security Hub を選択します。

注)Security Hub が新しいコントロールを AWS 基礎セキュリティのベストプラクティス v1.0.0 に追加すると、Trusted Advisor でそれらを表示できるようになるまでに 2〜4 週間の遅延が生じる可能性があります。 

Service-linked ルール

Security Hub は、IAM service-linked ロールを使用します。 service-linked ロールは、Security Hub によって事前定義されており、Security Hub がユーザに代わって他の AWS サービスを呼び出すために必要な全てのアクセス許可が含まれています。

Security Hub を有効化した後、AWS Config のルールページを再度確認して、Security Hub を有効化した前と比べてみます。

前の工程で追加した二つのルール以外に、Security Hub によって作成された service-linked ルールがたくさん表示されていることが分かります。

これらのルールは、元のルール名の前に securityhub とルール名の後に一意の識別子が加えられます。

例えば、元の AWS Config の管理ルール s3-bucket-public-write-prohibited の場合、service-linked ルール名は securityhub-s3-bucket-public-write-prohibited-0e59a5aa になります。

検出結果

今まで、いろいろなところで検出結果を見てきましたが、このセクションでは、検出結果にフィルタをかけて、検出結果を絞ってみたいと思います。

検出結果となるデータソース

Security Hub では、以下のデータソースから検出結果を収集します。

  • 有効化されている Security Hub と統合できる AWS サービス
  • 有効化されている Security Hub と統合できるパートナーサービス
  • カスタマーサービス(BatchImportFindings API を使って、他のセキュリティ製品によって生成された検出結果を手動で Security Hub に送信できます。)
  • 有効化されているコントロール(Security Hub 固有のセキュリティ標準)
    • AWS 基礎セキュリティのベストプラクティス v1.0.0
    • CIS AWS Foundations Benchmark v1.2.0
    • PCI DSS v3.2.1

検出結果をフィルタリングしてみる

検出結果のページで、フィルタリングしていろいろな結果を抽出できます。

例えば、アカウント ID と重要度ラベル「CRITICAL」を指定して、特定のアカウントの特定重要度の検出結果のみを表示できます。

例えば、製品名「Config」を指定して、AWS Config からの検出結果のみを表示できます。

前の工程で、Config ルール s3-bucket-public-write-prohibited と ec2-ebs-encryption-by-default のみ有効化したため、検出結果に両者と関わる事項のみ表示されます。

インサイト

インサイト ページでは、複数のデータソースからの検出結果のうち、関係のあるものを同じカテゴリにまとめています。

2 種類のインサイトがあります。

  • 組み込みのマネージド型インサイト。(18 個あり、変更もしくは削除できません。)
  • カスタムインサイト。(ユーザ自身で作ったものです。)

各カテゴリをクリックすると、インサイトの詳細が表示されます。Security Hub では、最大 100 件のインサイト結果しか表示されません。100 を超えた場合、最初の 100 個のみ表示されます。

検出結果リストに加え、次のチャートも表示されます。

  • 重要度ラベル:各重要度ラベルの検出結果の数
  • AWS アカウント ID:検出結果の上位 5 つのアカウント ID
  • リソースタイプ:検出結果の上位 5 つのリソースタイプ
  • リソース ID:検出結果の上位 5 つのリソース ID
  • 製品名:検出結果の上位 5 つのデータソース

料金

Security Hub の料金は、二つのディメンションによって計算されます。

  • セキュリティチェックの数(異なる標準に共通するコントロールが同じリソースに対して評価された場合、課金は 1 回のみ)
  • 取り込まれた検出結果の数量

東京リージョンの料金

セキュリティチェック

料金

チェック/アカウント/リージョン/月あたり最初の 10 万回

0.0010USD/チェック

チェック/アカウント/リージョン/月あたり次の 40 万回

0.0008USD/チェック

チェック/アカウント/リージョン/月あたり 50 万回を超える場合

0.0005USD/チェック

取り込まれた検出結果

料金

Security Hub のセキュリティチェックに関連する、検出結果の取り込み

無料

イベント/アカウント/リージョン/月あたり最初の 1 万回

無料

イベント/アカウント/リージョン/月あたり 1 万回を超える場合

0.00003USD/イベント

料金についての補足情報

  • 集約リージョンを利用する場合、リンクされたリージョンから集約リージョンに検出結果を転送する際、別途で転送料が発生しません。Security Hub が新しいデータや更新を複製しても、請求は発生しません。
  • Security Hub で生成された結果は Security Hub のコンソールにて 90 日間保持されます。これに関する料金の発生はありません。
    • 90 日間以上結果を保管したい場合には、結果を Amazon S3 バケットにルーティングする EventBridge でルールを設定できます。この場合は、EventBridge 等、設定に利用したサービス分の料金が発生し得ます。
    • 検出結果は、最新の更新から 90 日後、または更新が行われない場合は作成日から 90 日後に削除されます。

まとめ

数多くの AWS セキュリティサービスからの検出結果をそれぞれのサービスで確認するのは、工数がかかる一方、検出されたセキュリティアラートに対して、どちらを優先的に対応すべきかを決めるにも手間がかかります。Security Hub を利用すれば、各セキュリティサービスからの検出結果を一元管理できますし、各検出結果に重要度が表示されて、修復作業の優先順位付けに役立ちます。

Security Hub は、AWS セキュリティエキスパートによって精査されたセキュリティベストプラクティスと業界のコンプライアンスフレームワークを利用しているので、Security Hub からの指摘に対応していくうちに、AWS 環境のセキュリティやコンプライアンス遵守を一段階上げることが間違いなく実現できます。

関連サービス

Amazon Web Services (AWS)

ソフトバンクはAWS アドバンストティアサービスパートナーです

「はじめてのAWS導入」から大規模なサービス基盤や基幹システムの構築まで、お客さまのご要望にあわせて最適なAWS環境の導入を支援します。

おすすめの記事

条件に該当するページがございません