【Security Hub修復手順】[Route53.2] Route 53 のパブリックホストゾーンは DNS クエリをログに記録する必要があります

【Security Hub修復手順】[Route53.2] Route 53 のパブリックホストゾーンは DNS クエリをログに記録する必要があります

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

こんにちは!フニです。

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

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

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

[Route53.2] Route 53 のパブリックホストゾーンは DNS クエリをログに記録する必要があります

[Route53.2] Route 53 public hosted zones should log DNS queries

前提条件

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

https://dev.classmethod.jp/articles/lets-learn-aws-security-hub/

https://dev.classmethod.jp/articles/aws-security-operation-with-securityhub-2021/

対象コントロールの説明

このコントロールは、Amazon Route 53のパブリックホストゾーンでDNSクエリログが有効になっているかどうかをチェックします。パブリックホストゾーンでDNSクエリログが設定されていない場合にコントロールが失敗します。

Route 53のDNSクエリログは、デフォルトでは有効になっていません。DNSクエリログを有効にすると、Route 53が受信したDNSクエリの情報(リクエストされたドメインやサブドメイン、クエリの日時、DNSレコードタイプ、応答コードなど)がAmazon CloudWatch Logsに送信されます。

DNSクエリログを記録していない場合、ドメインに対する不審なDNSリクエストやDNSベースの攻撃を検知することが困難になります。クエリログを有効にすることで、DNSのセキュリティおよびコンプライアンス要件への対応が可能になり、ドメインに対するアクセスパターンの可視性が向上します。

対応する場合は、Route 53のクエリログ設定でCloudWatch Logsのロググループを指定します。ロググループは米国東部(バージニア北部)リージョン(us-east-1)に作成する必要がある点にご注意ください。既存のロググループを使用するか、新しいロググループを作成できます。設定後、Route 53はDNSクエリの情報をCloudWatch Logsに送信します。Route 53側のクエリログ設定に追加料金は発生しませんが、CloudWatch Logsでのログ保存・分析には別途料金が発生します。

なお、DNSクエリログにはDNSリゾルバーがRoute 53に送信するクエリのみが記録されます。リゾルバーが既にレスポンスをキャッシュしている場合は、TTL(有効期限)が切れるまでRoute 53にクエリが送信されないため、ログには記録されません。そのため、すべてのDNSリクエストが記録されるわけではないことをご了承ください。また、CloudWatch Logsのデフォルトではログは無期限に保存されます。コスト最適化のためにログの保持期間を設定するか、長期保存が必要な場合はAmazon S3へのエクスポートを検討してください。ただし、プライベートホストゾーンはこのコントロールの評価対象外です。

詳細は以下の公式ドキュメントをご参照ください。

https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/query-logs.html

修復手順

1 ステークホルダーに確認

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

  • 対象のRoute 53パブリックホストゾーンでDNSクエリログを有効化して良いか
    • Route 53側のクエリログ設定に追加料金は発生しませんが、CloudWatch Logsでのログ保存には別途料金が発生します。
    • ロググループは米国東部(バージニア北部)リージョンに作成する必要があります。
    • 対応しない場合は、その理由を確認し、Security Hubで当該コントロールを「抑制済み」に設定します。

2 DNSクエリログを有効化する

  1. AWSマネジメントコンソールにサインインし、Route 53 コンソールを開きます。

CleanShot 2026-03-18 at 18.44.46@2x.png

  1. 左側のナビゲーションペインから「ホストゾーン」を選択し、DNSクエリログを設定するパブリックホストゾーンの名前をクリックします。

CleanShot 2026-03-18 at 18.45.32@2x.png

  1. クエリのログ記録の設定」をクリックします。

CleanShot 2026-03-18 at 18.46.21@2x.png

  1. CloudWatch Logsのロググループを選択します。既存のロググループを選択するか、新しいロググループを作成します。

CleanShot 2026-03-18 at 18.48.27@2x.png

  1. アクセス許可に関するアラートが表示された場合は、以下のいずれかを行い、「作成」を押下します。
    • リソースポリシーが10個に達していない場合は「アクセス許可を付与」をクリックします。
    • リソースポリシーが既に10個に達している場合は、既存のリソースポリシーを選択して「編集」をクリックし、Route 53がCloudWatch Logsにログを書き込む権限を付与してから「保存」をクリックします。

CleanShot 2026-03-18 at 18.48.27@2x.png

  1. 設定後、数分以内にDNSクエリがCloudWatch Logsに記録され始めます。

CleanShot 2026-03-18 at 18.54.41@2x.png

最後に

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

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

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

以上、フニでした!

この記事をシェアする

FacebookHatena blogX

関連記事