Security Hubの概要とユースケース

Security Hubは、セキュリティアラートを一元的に管理、表示できるサービスです。 また、業界標準の基準に沿ってAWS環境を自動でチェックできま。 今回は、Security Hubの機能やユースケースについて、ご紹介します。
2019.04.07

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Security Hubは、セキュリティアラートを一元的に管理、表示できるサービスです。 また、業界標準の基準に沿ってAWS環境を自動でチェックできます。 今回は、Security Hubの機能やユースケースについて、ご紹介します。

Security Hubとは?

Security Hubは対応するAWSサービスのアラートを集約管理できます。 現在は、Amazon GuardDuty、Amazon Inspector、Amazon Macieに対応しています。 対応するパートナー製品についても集約管理できます。 Security Hubは、パブリックプレビュー中で、プレビュー期間は無料で利用できます。

GuardDutyは、AWS上の異常な振る舞いを検出するサービスです。CloudTrail、VPCフローログ、DNSログをデータソースに利用します。 Inspectorは、プラットフォーム診断を行います。CVEの脆弱性などを確認できます。エージェントをEC2にインストールして利用します。 Macieは、機械学習によって S3バケット内の機密データを自動的に検出、分類、保護するサービスです。 上記のサービスを有効化した上で、Security Hubを有効化すると集約管理の様子を確認できます。

東京リージョンで、GuardDuty、Inspectorを有効化した環境を使って、Security Hubの機能やユースケースをご紹介します。

業界標準のコンプライアンスチェックができるStandards

Standardsは一般的なコンプライアンスにAWS環境が沿っているか自動でチェックする機能です。 CIS AWS Foundations Benchmarkでチェックできます。

チェックした内容は一覧で確認できます。

指摘項目を選択すると、詳細が表示されます。 "Remediation"のリンクから、詳細が記載されたユーザーガイドに飛ぶことができます。

コンプライアンスチェックは、AWS Condfig Rulesで行われます。 AWS Configコンソールを見ると、ルールが作成されています。

セキュリティ上の問題を表示するFinding

Findingは、Security Hubで管理されるセキュリティ上の問題です。

GuardDutyの結果のみ表示

フィルターを追加して、見たい情報だけ表示できます。 「Product name EQUALS GuardDuty」でGuardDutyの情報だけ表示しました。

Group byで集計することも可能です。 AWSアカウントでグルーピングすれば、アカウントごとの問題の数を表示できます。 以下の例では73の問題が見つかりました。 Create Insightを選択すると、後述のカスタムインサイトを作成できます。

Findingsを集約したInsights

Insightsは、Findingsを集約したものです。 予め用意されたマネージドインサイトと、ユーザーが作成できるスタムインサイトがあります。

マネージドインサイト「Insight: 1. AWS resources with the most findings」を選択します。多くのFindingsに該当するAWSリソースを確認できます。 StandardsやGuardDuty、Inspectorの指摘事項がわかりやすく表示されています。 AWSアカウントやリソースタイプごとの集計も、大規模な環境では役立ちそうです。

GuardDutyの指摘事項は、サンプルイベントで発生させたものです。 実際のアラートではないので、アーカイブしてみます。

「arn:aws:ec2:ap-northeast-1:account-id:instance/i-99999999」を選択し、表示される内容にチェックします。 Actions>Archiveでアーカイブできます。

カスタムインサイト

Findingsの内容を、インサイトとして登録できます。 以下の例では、GuardDutyでアクティブなFindingをAWSアカウントごとにグルーピングしました。 マネージドインサイトで不足する場合は、追加すると良さそうです。

Summary

重要なインサイトやSecurity Hubに連携するサービスのステータスなどを確認できます。

Settings

Accounts

複数アカウントの管理を行う場合、設定します。 セキュリティ管理部門が、他のAWSアカウントを追加するような使い方になるかと思います。 本番、開発、ステージングなどAWSアカウントを複数利用するようなケースでは、本番アカウントに集約しても良いかと思います。

Custom actions

前述でActions>Archiveでアーカイブしました。 カスタムアクションを使うと、ユーザーが定義したアクションを実行できます。 アクションを選択するとCloudWatch Eventsが発生するので、LambdaでAWS APIを実行したり、SNSで通知できます。 具体的には、GuardDutyでマルウェア感染を検知したEC2のセキュリティグループを変更し隔離したり、削除するといった対応ができます。 アラートが発生した場合に、セキュリティオペレーションセンターが一次対応するといった用途が想像できました。

Providers

Security Hubに対応する製品の連携を行います。

Usage

使用状況を表示します。

General

Security Hubの無効化などを行います。

Security Hubのユースケース

ここまでで、GuardDuty、Inspector、Macie、CISベンチマーク、対応するセキュリティ製品のアラートを集約管理できる機能をお伝えできたと思います。 ユースケースとしては上記のサービスを利用し、セキュリティアラートを一括管理したい場合に適しています。 アカウントにまたがって集約できるため、セキュリティ管理部門が利用部門の状況をチェックするといった用途にも適しています。 カスタムアクションや運用方針を整備すれば、セキュリティオペレーションセンターのような使い方もできるかと思います。

Security Hubで出来ないことですが、アラートに担当者をアサインしたり、調査状況を記載するといったことが出来ません。具体的には、GuardDutyでイベントが発生したので、チケットを発行し山田さんをアサインして、調査状況をまとめてもらうといった形です。必要な場合は、Backlogや、Jiraなどのサービスを利用すると良いかと思います。

参考