AWS Security Hub がDocumentDB とNeptune をサポート! AWS Security Hub のセキュリティ標準に12個の項目が追加されました(2023/7/31)

AWS Security HubがAmazon DocumentDB、Amazon Neptuneをサポートし、設定項目に対する継続的なセキュリティ監視が可能になりました。DBのサーバーサイド暗号化をはじめとする基本的な監視項目が実装されています。
2023.08.03

みなさん、こんにちは。

明るい笑顔がトレードマーク、ルイボスティーが大好きな芦沢(@ashi_ssan)です。

みなさん、Security Hubの運用されていますか?

AWS Security Hubのセキュリティ標準に新たに 12個のチェック項目(コントロール)が 追加されました。

2023年8月3日現在AWS公式ブログでのアナウンスはありませんが、Security Hub公式ドキュメントのDocument Historyから更新を確認できました。

The following new Security Hub controls are available:

読者のみなさんがよく使っているであろう『AWS 基礎セキュリティのベストプラクティス v1.0.0』に上記すべてのコントロールが追加されています。

参考: AWS Foundational Security Best Practices (FSBP) standard - AWS Security Hub

本エントリでは、新規追加されたコントロールについて公式ドキュメントの情報ベースで内容を確認していきます。

早速確認してみましょう。

各コントロール毎に以下の情報をまとめていきます。

AWSドキュメント: Security HubコントロールのドキュメントのURLのリンクを記載します。
重要度: Security Hubが定める検出結果の重要度を表します。Critical(重大) > High(高) > Medium(中) > Low(低)の順に重要度が高いことを示します。
Configルール: 環境のリソースに対してセキュリティチェックを実行するためにSecurity Hubによって作成されるConfigカスタムルール(サービスリンクルール)が稼働しています。Sedcurity Hubによるチェックが実際にどのようにリソースをチェックしているかはConfigルールを確認すると良いです。
概要: コントロールでチェックされる内容を簡単にまとめています。
参考ドキュメント: 内容を理解する上で参考になるドキュメントをまとめています。

Amazon Athena

[Athena.1] Athena workgroups should be encrypted at rest

  • 重要度:Medium(中)
  • Configルール:athena-workgroup-encrypted-at-rest
  • AWSドキュメント:Amazon Athena controls - AWS Security Hub
  • 概要:
    • Athena ワークグループが保存時の暗号化を有効化しているかどうかをチェックします。有効化されていない場合は違反となります。
    • Athenaは実行するクエリの結果を事前に設定したS3バケットに保存します。保存時の暗号化を有効化すると、Athenaがクエリ結果をS3に保存する際に暗号化されます。
      • 暗号化で利用できる鍵は以下です。SSE-S3だとコストが発生しません。
        • SSE-S3(S3管理キーによるサーバー側暗号化)
        • SSE-KMS(顧客管理のKMSキーによるサーバー側暗号化)
        • CSE-KMS(顧客管理のKMSキーによるクライアント側暗号化)
  • 参考ドキュメント:

Amazon DocumentDB

[DocumentDB.1] Amazon DocumentDB clusters should be encrypted at rest

  • 重要度:Medium(中)
  • Configルール: docdb-cluster-encrypted
  • AWSドキュメント:Amazon DocumentDB controls - AWS Security Hub
  • 概要:
    • DocumentDBクラスターが保存時に暗号化されていることをチェックします。暗号化されていない場合違反となります。
    • 暗号化に利用できる鍵は、KMSで管理されている対象暗号化キーです。
    • DocumentDBクラスター作成後は暗号化設定を変更できません。変更したい場合はクラスターの再作成が必要になります。
  • 参考ドキュメント:

[DocumentDB.2] Amazon DocumentDB clusters should have an adequate backup retention period

Amazon Neptune

[Neptune.1] Neptune DB clusters should be encrypted at rest

  • 重要度:Medium(中)
  • Configルール: neptune-cluster-encrypted
  • AWSドキュメント:Amazon Neptune controls - AWS Security Hub
  • 概要:
    • Neptune DBクラスターが保存時に暗号化されていることをチェックします。暗号化されていない場合違反となります。
    • KMSで管理されている鍵を暗号化に利用できます。
    • Neptune DBクラスターの作成後は暗号化設定を変更できません。変更したい場合はクラスターの再作成が必要になります。
  • 参考ドキュメント:

[Neptune.2] Neptune DB clusters should publish audit logs to CloudWatch Logs

  • 重要度:Medium(中)
  • Configルール: neptune-cluster-cloudwatch-log-export-enabled
  • AWSドキュメント:Amazon Neptune controls - AWS Security Hub
  • 概要:
    • Neptune DBクラスターが監査ログをCloudWatch Logsに出力していることをチェックします。設定できていない場合は違反となります。
    • Neptune DBクラスターでは、現在CloudWatch Logsへの監査ログおよびスロークエリログの出力がサポートされています。有効化してクラスターの監視に役立てましょう。
    • 有効化した場合、CloudWatch Logsへのログ出力のためのコストが発生するため、ご注意ください。
  • 参考ドキュメント:

[Neptune.3] Neptune DB cluster snapshots should not be public

  • 重要度:Critical(重大)
  • Configルール: neptune-cluster-snapshot-public-prohibited
  • AWSドキュメント:Amazon Neptune controls - AWS Security Hub
  • 概要:
    • Neptune DBクラスターがスナップショットをパブリック公開しているかをチェックします。
    • スナップショットを共有する場合、以下のどちらかを指定できます。
      • パブリック : 誰でもアクセス可能
      • プライベート : 指定したアカウントIDのみ
    • 上記のオプションの前者(パブリック)が指定されている場合、違反となります
    • 機密情報が含まれるようなNeptune DBクラスターのスナップショットのパブリック公開は推奨されません。違反となった際は是正してください。
  • 参考ドキュメント:

[Neptune.4] Neptune DB clusters should have deletion protection enabled

[Neptune.5] Neptune DB clusters should have automated backups enabled

[Neptune.6] Neptune DB cluster snapshots should be encrypted at rest

[Neptune.7] Neptune DB clusters should have IAM database authentication enabled

[Neptune.8] Neptune DB clusters should be configured to copy tags to snapshots

  • 重要度:Low(低)
  • Configルール: neptune-cluster-copy-tags-to-snapshot-enabled
  • AWSドキュメント:Amazon Neptune controls - AWS Security Hub
  • 概要:
    • Neptune DBクラスターのスナップショット作成時にすべてのタグをコピーするようにクラスターが構成されているかをチェックします。構成されていない場合違反となります。
    • Neptune DBクラスターでは、ソースDBインスタンスで--copy-tags-to-snapshot (CopyTagsToSnapshot) オプションが有効になっている場合、タグが自動でコピーされる設定となります。
  • 参考ドキュメント:

Amazon RDS

[RDS.27] RDS DB clusters should be encrypted at rest

  • 重要度:Medium(中)
  • Configルール:rds-cluster-encrypted-at-rest
  • AWSドキュメント:Amazon Relational Database Service controls - AWS Security Hub
  • 概要:
    • Aurora DBクラスターが保存時に暗号化されていることをチェックします。暗号化されていない場合違反となります。
    • KMSで管理されている鍵を暗号化に利用できます。
    • Aurora DBクラスターの作成後は暗号化設定を変更できません。変更したい場合はクラスターの再作成が必要になります。
  • 参考ドキュメント:
  • 備考:
    • ドキュメント上の構成からAurora DBクラスターに関する項目であると判断しました。
    • RDSマルチマスタークラスターが本コントロールの対象かどうかはドキュメント上から判断できませんでした、、有識者の意見求む。

最後に

以上、今回追加されたSecurity Hubの新規コントロールについて確認してみました。

今回の目玉はやはり、Security Hubのチェック対象サービスとして新しく追加されたAmazon DocomentDBAmazon Neptune ですね。

フルマネージドDBサービスであるこれらのサービスは、汎用的なRDSと比べるとそれぞれの目的に特化しています。

  • DocumentDB: ドキュメント指向データベース
  • Neptune: グラフ型データベース

DocumentDB、Neptuneを利用しているけど現状のセキュリティ設定に不安がある方にとって待望のアップデートだったのではないでしょうか。

現時点では、DocumentDBは最低限のポイントを押さえた2項目、Neptuneは基本的な項目を充実させた9項目となっています。 サーバーサイド暗号化、スナップショットのパブリック公開防止など、チェック・是正した方が良さそうな項目が多く見受けられました。

RDSで間に合うような一般的な用途でDBを運用している方には、あまり馴染みがないサービスだと思います。せっかくなのでこれを機にキャッチアップしておきましょう。

ちなみに重要度が高い(HIGH / CRITICAL)のコントロールは、以下となっております。

  • [Neptune.3] Neptune DB cluster snapshots should not be public

重要度にかかわらず内容のチェックは必要ですが、特に重要度が高いものについては優先度を上げて確認しておきましょう。

ここまで読んでくださりありがとうございました。どなたかのお役に立てば幸いです。

以上、芦沢(@ashi_ssan)でした。