セキュリティチェックとしての Security Hub, Config (適合パック) の使い分けをまとめてみた

Security Hub vs Config Conformance Packs
2020.08.04

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

AWS環境のリソース設定が 「セキュリティリスクを持ってないか」「あるセキュリティ基準に則っているか」 など、 調査しようと思ったときには以下のようなサービスを活用できます。

  • Trusted Advisor :: 「コスト最適化」、「パフォーマンス」、 「セキュリティ」 、「フォールトトレランス」、「サービスの制限」 の観点から、AWS環境を自動チェック。
  • Security Hub :: AWS GuardDutyや, Amazon Inspector, Amazon Macie などのAWSサービスのアラートを集中管理。 セキュリティ基準を使った コンプライアンスチェック
  • Config (適合パック) AWSリソースの構成・設定履歴を管理。 Configルール、Config 適合パックを使ったコンプライアンスチェック

Trusted Advisor は無料で使えます。まずはじめに、最低限のセキュリティチェックを行うときにお使いください。

今回 は Security Hub と Config (適合パック) の使い分け について書いていきます。

両者を セキュリティチェックツール として見たときには、以下共通点があります。

  • Security Hub のセキュリティ標準の実態は Configルールの集合 。CIS, PCI-DSSなどの標準がAWSから提供されている
  • Config 適合パックも実態は Configルール(+修復) の集合 。CIS, PCI-DSS, NISTなどのテンプレートが AWSから提供されている

セキュリティチェックの要求に対して、 どちらを使えばよいか本ブログでまとめてみます。

目次

前提知識

Security Hubや Config 適合パックの概要は以下参考になります。

ざっくりとした違い

はじめにざっくりとした Security Hub と Config (適合パック) の違いをまとめます。

  • Security Hub の方がよりマネージド 。 手軽に始めたい場合はこちらがおすすめ
  • Config (適合パック) の方がよりカスタマイズ可能 。 その代わりにYAMLテンプレートをがっつり編集・管理する必要がある

1. チェックの目的について

セキュリティチェックの目的別に使い分けを考えてみます。

現状のセキュリティチェックを手軽に行いたい

「手軽に行いたい。でも Trusted Advisor のセキュリティチェックだと少し物足りない…」

そんな場合は Security Hub がおすすめです。数クリックで設定ができます。

セキュリティ標準「AWS基礎セキュリティのベストプラクティス」 を有効化してみましょう。 AWSの基本的なサービスをカバーするセキュリティチェック環境となります。

img

有効化の手順、および セキュリティ標準「AWS基礎セキュリティのベストプラクティス」の内容について、 以下まとまっているので参考ください。

セキュリティフレームワークに沿ってチェックを行いたい

Security Hub、Config 適合パックを使うことで CISや, PCI DSS, NISTといった セキュリティフレームワークに沿ったチェックを行うことができます。

CIS, PCI DSS であれば Security Hub のセキュリティ標準で対応可能です。

NIST サイバーセキュリティフレームワーク に沿ったチェックを行う場合、 Config 適合パックに NIST CSF 運用のベストプラクティス テンプレートで対応可能です。 ただし、いくつかパラメータを設定(= YAMLテンプレートを編集)する必要がある点、注意事項です。

特定のサービスに特化したチェックを行いたい

Security Hubのセキュリティ標準では満たせない、特定サービス特化のセキュリティチェック を行いたい場合 、Configで対応できるか検討しましょう。

IAM, S3, DynamoDB については Config適合パック サンプルテンプレートが公開されています。

また、他のサービスについては Configマネージドルール から要望を満たすルールを適用していくと良いでしょう。

2. 検知について

セキュリティチェックの結果の検知、メール/Slack通知の方法について説明します。

通知の仕組みを作成したい

検知をメール or Slack で通知する仕組みは、 EventBridge(CloudWatch Events) + SNS で実装可能です。 Security Hub, Configともにアーキテクチャ大枠は変わりません。

img

ちなみに Chatbot で Slack通知した際の、見た目の違いは以下の通り。 Security Hubの方が重要度ごとに色分けしてくれるため、多少見やすいです。

img

また、Security Hub, Config ともにイベントをフィルタリングして、 重要な通知が埋もれないようにすることを推奨します。

3. 対応について

出てきたセキュリティチェックの結果に対する対応について説明します。

修復の仕組みを作成したい

Configはマネコン上から簡単に修復設定ができますが、 Security Hub はある程度作り込みが必要です。

Security Hub でチェックを行っていても、 修復は別途 Configから ルール/修復アクションを作成 することを検討しても良いと思います。

▼ Config

Configのルールと修復アクション(手動/自動)を紐付けることができます。

例えば、以下ブログでは 「S3バケットのデフォルト暗号化を自動的に有効化」する構成を作っています。

img

▼ Security Hub

Security Hub のチェックは内部的には Configルールを作成して行っていますが、 Security Hubが生成した Configルールには 修復アクションは紐付けできません

そのため、Security Hub で修復の仕組みを作る場合、ある程度の作り込みが必要です。 カスタムアクション を作成・活用できます。

img

項目に対して、カスタムアクションを選択することで CloudWatch Eventsにイベントが送信されます。 このイベントをトリガーに Lambda、もしくは Systems Manager(SSM) オートメーションで修復の設定を入れます。

img

下記 AWSブログに 実際の修復のアーキテクチャ、コード例が載っています。

また、トリガーとするイベントをカスタムアクションではなく すべての結果(Security Hub Findings - Imported) として、構成することで 自動修復が可能です。

Security Hubで利用できるイベントについては以下参照ください。

セキュリティチェック項目を無効にしたい

Security Hub では チェック項目自体の無効化、リソース単位の例外登録(抑制) の両方が可能です。より柔軟な対応ができます。

img

一方 Config (適合パック) で作成したルールはリソース単位の例外登録は基本的にできません。

4. 運用全般について

セキュリティチェック項目の優先度・チューニングについて

Security Hubは項目ごとに重要度ラベルがあるので、 それを基に優先度を決定すると良いです。

Security Hub や Config 適合パックのチューニングについては、 いくつかチューニング・活用例があるのでそちら是非参考ください。

おわりに

Security Hub, Config (適合パック) の使い分けをまとめてみました。

マネージドでよしなにやってくれる Security Hub、 よりカスタマイズ可能な Config (適合パック)、 両方に長所・短所ありますね。

まずは、どのような目的でセキュリティチェックを行うか、 定めてから両者サービスを選択していくと良いと思います。

この記事が少しでもどなたかのお役に立てば幸いです。

参考

▼ Security Hub

▼ Config