【Security Hub修復手順】[SQS.1] Amazon SQS キューは保管中に暗号化されている必要があります

AWS SecurityHub 基礎セキュリティのベストプラクティスコントロール修復手順をご紹介します。
2023.06.08

こんにちは!AWS事業本部のおつまみです。

皆さん、お使いのAWS環境のセキュリティチェックはしていますか?

当エントリでは、AWS Security HubによるAWS環境のセキュリティ状況スコアリングに該当する項目についての修正手順をご紹介します。

本記事の対象コントロール

[SQS.1] Amazon SQS キューは保管中に暗号化されている必要があります

[SQS.1] Amazon SQS queues should be encrypted at rest

前提条件

本記事はAWS Security Hubで「AWS基礎セキュリティのベストプラクティススタンダード」を利用されている方向けの内容となります。 AWS Security Hubの詳細についてはこちらのブログをご覧ください。

対象コントロールの説明

このコントロールは、Amazon SQS キューが保管中に暗号化されているかどうかをチェックします。
デフォルトでは、キューのサーバー側暗号化 (SSE) が有効になっています。

ただし、SSE を有効にすると、匿名のSendMessageおよび ReceiveMessage暗号化キューへのリクエストは拒否されます。
Amazon SQS セキュリティのベストプラクティスでは、匿名リクエストの使用を推奨しませんが、匿名リクエストを Amazon SQS キューに送信する場合は、必ず SSE を無効にしてください。

SQSキューで扱う内容が機密性の高い情報や法的な要件で保護が求められる内容の場合、暗号化を検討して下さい。

修復手順

1. 対象のSQSの確認方法

  1. AWSマネージメントコンソールにログインし、AWS 基礎セキュリティのベストプラクティス v1.0.0にて、「SQS.1」を検索します。タイトルを選択します。

  2. リソースの欄から失敗しているSQSキューを確認できます。

2. ステークホルダーに確認

ステークホルダー(リソースの作成者や管理している部署などの関係者)に以下を確認します。

  • 対象のSQSキューに対して、暗号化を有効にしてよいか
  • 匿名のSendMessageおよび ReceiveMessageリクエストを Amazon SQS キューに送信していないか。

3. 暗号化を有効にする

  1. SQS のコンソールから対象のSQSキューを選択し、[編集]をクリックします。

2. [暗号化]のサーバー側の暗号化にて、[有効]をクリックします。Encryption key typeで[Amazon SQS キー (SSE-SQS)]もしくは[AWS Key Management Service キー (SSE-KMS)]を選択し、[保存]をクリックします。

SSE-SQSはAWSが独自に管理するキーでSQSメッセージを暗号化し安全性を高めます。キー管理や回転は自動で行われ、無料で簡単にセットアップできます。一方、SSE-KMSはKMSが管理するキーになり、追加料金が必要となりますが、キーのポリシーやアクセス権限を細かく管理できます。両者については、下記のブログをご参考ください。

3. SecurityHubにて、失敗しているリソースが0になっていること及びステータスが[成功]になっていることを確認します。 ※リソースの更新には数分、ステータスの更新には1日程度かかります。

最後に

今回は、AWS Security HubによるAWS環境のセキュリティ状況スコアリングに該当する項目についての修正手順をご紹介しました。

コントロールを修正して、お使いのAWS環境のセキュリティをパワーアップさせましょう!

最後までお読みいただきありがとうございました!
どなたかのお役に立てれば幸いです。

以上、おつまみ(@AWS11077)でした!

参考

SQS暗号化キーを使用してキューのサーバー側の暗号化 SSE) をキューのサーバー側の暗号化 SSE) の設定(コンソール) - Amazon Simple Queue Service

保管中の暗号化 - Amazon Simple Queue Service