すべてのプロダクト
Search
ドキュメントセンター

:プライベートDNSログをSimple Log Serviceに保存する

最終更新日:Feb 17, 2025

重要

Simple Log Service (SLS) では、トラフィック分析機能が有効になっているリージョンと仮想プライベートクラウド (VPC) のログのみを保存できます。 SLSにトラフィック分析ログを保存するための前提条件は、トラフィック分析機能を有効にしていることです。 トラフィック分析機能を無効にすると、SLSにログは保存されません。 詳細については、「トラフィック分析の有効化または無効化」トピックのトラフィック分析の有効化セクションをご参照ください。

シナリオ

企業は、ビジネスコンプライアンスとセキュリティ要件を満たすためにネットワークログを保存および分析します。 プライベートDNSログは、内部ドメイン名のAlibaba Cloudドメインネームシステム (DNS) リクエストに対する明確な洞察を提供します。これにより、企業は内部ネットワークでのユーザーの行動を効率的に監査し、潜在的なセキュリティリスクを早期に特定することができます。

プライベートDNSログとは

プライベートDNSログには、Alibaba Cloudアカウント内のすべてのVPCにある端末から送信されたDNSリクエストと、DNSサーバーから返された応答が記録されます。 記録された情報には、DNSリクエストの送信元のリージョン、VPC ID、送信元IPアドレス、送信先IPアドレス (DNSサーバーのアドレス) 、照会されたドメイン名、レコードタイプ、および応答結果が含まれます。 端末によって照会されるドメイン名は、プライベートDNSで構成された組み込みの権威あるドメイン名およびパブリックドメイン名とすることができる。 プライベートDNSログ機能は、SLSのログ監査サービスと統合されています。 プライベートDNSログ機能を有効にすると、複数のアカウントとリージョンのプライベートDNSログを集中的にすばやく簡単に収集、管理、クエリ、分析できます。

プライベートDNSログは、VPC内の端末から送信されたDNSリクエストを、DNSサーバーから返された次のタイプのドメイン名と応答について記録します。

1. 組み込み権限ゾーンのドメイン名

プライベートDNSは、VPCのプライベートドメイン名解決および管理サービスです。 プライベートDNSを使用して、プライベートドメイン名を1つ以上のVPCのIPアドレスにマッピングできます。 プライベートDNSを使用すると、プライベートドメイン名を使用して、VPC内のElastic Compute Service (ECS) インスタンス、Server Load Balancer (SLB) インスタンス、Object Storage Service (OSS) バケットなどのAlibaba Cloudリソースにアクセスできます。 ただし、VPC以外のプライベートドメイン名は使用できません。 Express connect回線またはVPNゲートウェイを介してVPCをオンプレミスのデータセンターに接続することもできます。 これにより、プライベートドメイン名を使用して、オンプレミスのデータセンターとVPCの間でリソースを共有できます。

2. ApsaraシステムのDNSに設定されたクラウドサービスインスタンスのドメイン名

Alibaba Cloudサービスインスタンスのすべてのドメイン名は、ApsaraシステムのDNSを使用して解決されます。

3. リクエストが内部DNSサーバーに転送される外部ドメイン名

ほとんどの場合、内部DNSサーバーは、データセンターの内部ネットワーク上のDNSサーバーです。 プライベートDNSが内部DNSサーバーに転送されるように設定されたドメイン名のVPC DNSリクエストを受信すると、転送モジュールはDNSリクエストを内部DNSサーバーに転送します。 これにより、Alibaba Cloud VPC内のECSインスタンスは、データセンター内のアプリケーションのドメイン名にアクセスできます。

4。 権威DNSサーバー上のパブリックドメイン名

パブリック権限DNSサーバーは、s example.comなどの特定のパブリックドメイン名のドメイン名レジストラで構成されているDNSサーバーです。 パブリック権限DNSサーバーは、ルートドメイン名、トップレベルドメイン名、およびその他のレベルのドメイン名に関する権限情報を管理および解決します。 パブリック権限DNSサーバーは、DNSサーバーで設定されたドメイン名のみを解決し、DNSサーバーで設定されていないドメイン名の要求を拒否します。

プライベートDNSログのパラメータ

1. DNSリクエストログのパラメータ

項目

説明

例:

dns_msg_flags

DNSメッセージのフラグ。 有効な値:

  • QR: 0の値は、メッセージが端末からの要求であることを示す。 値1は、メッセージがサーバーからの応答であることを示します。

  • RD: 0の値は、再帰的クエリが望ましくないことを示す。 値1は、再帰クエリが望ましいことを示します。

  • AA: 値0は、ドメイン名に設定された権限DNSサーバーによって要求が応答されないことを示します。 値1は、ドメイン名に設定された権限DNSサーバーによって要求が応答されることを示します。

  • TC: 値0は、メッセージが切り捨てられないことを示します。 値1は、メッセージが切り捨てられることを示します。

  • AD: 0の値は、DNS要求に応答するDNSサーバが、ドメイン名を照会するためにDNSセキュリティ拡張 (DNSSEC) デジタル署名をチェックし、署名が検証に失敗したことを示す。 値1は、DNS要求に応答するDNSサーバがDNSSECデジタル署名をチェックし、署名が検証に合格することを示す。 リクエストにこのパラメーターが含まれている場合、再帰DNSサーバーはDNSSECデジタル署名を使用してDNS応答パケットを検証する必要があります。

  • CD: 0の値は、DNSSECデジタル署名が検証に合格した後にのみDNSサーバーが要求に応答することを示します。 値1は、DNSSECデジタル署名が検証に合格したかどうかに関係なく、DNSサーバーが要求に応答する必要があることを示します。

RD

dns_msg_id

DNSメッセージのID。DNSリクエストの一意の識別子です。

30914

dst_addr

送信先 IP アドレスです。

100.100.2.136

dst_port

送信先ポートです。

53

ecs_hostname

ECSインスタンスのホスト名。

iZbp1b1mx9fhe34k *****

ecs_id

ECSインスタンスのID。

i-bp1b1mx9fhe34kh ****

module_type

モジュールのタイプ。 値はグローバルログを示すGLOBALに固定されています。

グローバル

query_name

照会されたドメイン名。

www.example.com.

query_type

照会されたDNSレコードのタイプ。 有効な値: A、AAAA、CNAME、TXT、およびMX。

A

region_id

リージョン ID です。

cn-shanghai

src_addr

送信元 IP アドレスです。

192.168.0.1

src_port

送信元ポートです。

42071

輸送

伝送プロトコル。

UDP

user_id

Alibaba Cloud アカウントの ID です。

139749398683 ****

vpc_id

VPC ID

vpc-bp1eyy43516itw78 ****

edns

DNSの拡張メカニズム。

"flags: DO udp: 1408 CLIENT-SUBNET: 1.1.XX.XX/32/24"

2. グローバル応答ログのパラメータ

項目

説明

例:

answer_rrset

応答内のリソースレコード。

Jsonアレイ:

["www.example.com. 600 A 192.168.1.1 "、" www.example.com 600 A 192.168.1.2 "、]

authority_rrset

組み込みの権限モジュールのDNSレコード。

Jsonアレイ:

["example.com。 600 SO A ns1.example.com。 hostmaster.example.com. 2023010101 3600 1200 3600 360 "]

additional_rrset

追加のリソースレコード。

Jsonアレイ:

["ns1.example.com. 600 A 100.100.2.136 "]

dns_msg_flags

  • DNSメッセージのフラグ。 有効値: QR: 0の値は、メッセージが端末からの要求であることを示す。 値1は、メッセージがサーバーからの応答であることを示します。

  • RD: 0の値は、再帰的クエリが望ましくないことを示す。 値1は、再帰クエリが望ましいことを示します。

  • AA: 値0は、ドメイン名に設定された権限DNSサーバーによって要求が応答されないことを示します。 値1は、ドメイン名に設定された権限DNSサーバーによって要求に応答されることを示します。

  • TC: 値0は、メッセージが切り捨てられないことを示します。 値1は、メッセージが切り捨てられることを示します。

  • AD: 0の値は、DNS要求に応答するDNSサーバが、ドメイン名を照会するためにDNSSECデジタル署名をチェックし、署名が検証に失敗したことを示す。 値1は、DNS要求に応答するDNSサーバがDNSSECデジタル署名をチェックし、署名が検証に合格することを示す。

  • CD: 0の値は、DNSSECデジタル署名が検証に合格した後にのみDNSサーバーが要求に応答することを示します。 値1は、DNSSECデジタル署名が検証に合格したかどうかに関係なく、DNSサーバーが要求に応答する必要があることを示します。

QR

dns_msg_id

DNSメッセージのID。DNSリクエストの一意の識別子です。

30914

dst_addr

送信先 IP アドレスです。

192.168.0.1

dst_port

送信先ポートです。

42071

ecs_hostname

ECSインスタンスのホスト名。

iZbp1b1mx9fhe34k *****

ecs_id

ECSインスタンスのID。

i-bp1b1mx9fhe34kh ****

module_type

モジュールのタイプ。 値はグローバルログを示すGLOBALに固定されています。

グローバル

query_name

照会されたドメイン名。

www.example.com.

query_type

照会されたDNSレコードのタイプ。 有効な値: A、AAAA、CNAME、TXT、およびMX。

A

rcode

応答コード。 有効な値:

  • 0: NOERROR。DNS解決中にエラーが発生しなかったことを示します。

  • 1: FORMERR。DNSリクエストのフォーマットが無効であるため、DNSサーバーがDNSリクエストを解決できないことを示します。

  • 2: SERVFAIL。DNSサーバーで内部エラーが発生したか、DNS応答がタイムアウトしたため、DNS解決に失敗したことを示します。

  • 3: NXDOMAIN。照会されたドメイン名が存在しないため、DNS解決が失敗したことを示します。

  • 4: NOTIMP。DNSサーバーが指定されたオペレーションコードをサポートしていないことを示します。

  • 5: REFUSED。ポリシーまたはセキュリティ上の理由により、DNSサーバーがDNS要求への応答を拒否したため、DNS解決が失敗したことを示します。

0

region_id

リージョン ID です。

cn-shanghai

resolve_path

解決パス。 このパラメーターは、グローバル応答ログでのみ使用できます。 この値は5つのプレースホルダーで構成され、権威あるアクセラレーション、権威あるレギュラー、キャッシュ、フォワード、および再帰の各モジュールを示します。 プレースホルダーはコンマ (,) で区切ります。

プレースホルダーに1が指定されている場合、モジュールは解決に関与します。

プレースホルダーに0が指定されている場合、モジュールは解決に関与しません。

ドメイン名が別のドメイン名を指す別のドメイン名を指す場合、複数のプレースホルダーに1が指定されます。

1,0、0,0、0

rt

応答レイテンシ。

  • グローバル応答レイテンシは、端末が要求を送信する時間と、端末が応答を受信する時間との間の間隔を示す。

  • モジュールログの応答レイテンシは、各モジュールでのリクエストの受信と応答の間隔を示します。

10ms

src_addr

送信元 IP アドレスです。

100.100.2.136

src_port

送信元ポートです。

53

輸送

伝送プロトコル。

UDP

user_id

Alibaba Cloud アカウントの ID です。

139749398683 ****

vpc_id

VPC ID

vpc-bp1eyy43516itw78 ****

edns

DNSの拡張メカニズム。

"flags: DO udp: 1408 CLIENT-SUBNET: 1.1.XX.XX/32/24"

3. モジュール応答ログのパラメータ

項目

説明

例:

answer_rrset

応答内のリソースレコード。

Jsonアレイ:

["www.example.com. 600 A 192.168.1.1 "、" www.example.com 600 A 192.168.1.2 "、]

authority_rrset

組み込みの権限モジュールのDNSレコード。

Jsonアレイ:

["example.com。 600 SO A ns1.example.com。 hostmaster.example.com. 2023010101 3600 1200 3600 360 "]

additional_rrset

追加のリソースレコード。

Jsonアレイ:

["ns1.example.com. 600 A 100.100.2.136 "]

dns_msg_id

DNSメッセージのID。DNSリクエストの一意の識別子です。

30914

dst_addr

送信先 IP アドレスです。

100.100.2.136

dst_port

送信先ポートです。

53

ecs_hostname

ECSインスタンスのホスト名。

iZbp1b1mx9fhe34k *****

ecs_id

ECSインスタンスのID。

i-bp1b1mx9fhe34kh ****

module_type

モジュールのタイプ。 有効な値:

  • AUTH_FAST: 権威ある加速モジュール

  • AUTH_SLOW: 権威あるレギュラーモジュール

  • FORWARD: 前方モジュール

  • CACHE: キャッシュモジュール

  • RECURSION: 再帰モジュール

AUTH_FAST

query_name

照会されたドメイン名。

www.example.com.

query_type

照会されたDNSレコードのタイプ。 有効な値: A、AAAA、CNAME、TXT、およびMX。

A

rcode

応答コード。 有効な値:

  • 0: NOERROR。DNS解決中にエラーが発生しなかったことを示します。

  • 1: FORMERR。DNSリクエストのフォーマットが無効であるため、DNSサーバーがDNSリクエストを解決できないことを示します。

  • 2: SERVFAIL。DNSサーバーで内部エラーが発生したか、DNS応答がタイムアウトしたため、DNS解決に失敗したことを示します。

  • 3: NXDOMAIN。照会されたドメイン名が存在しないため、DNS解決が失敗したことを示します。

  • 4: NOTIMP。DNSサーバーが指定されたオペレーションコードをサポートしていないことを示します。

  • 5: REFUSED。ポリシーまたはセキュリティ上の理由により、DNSサーバーがDNS要求への応答を拒否したため、DNS解決が失敗したことを示します。

0

region_id

リージョン ID です。

cn-shanghai

rt

応答レイテンシ。

  • グローバル応答レイテンシは、端末が要求を送信する時間と、端末が応答を受信する時間との間の間隔を示す。

  • モジュールログの応答レイテンシは、各モジュールでのリクエストの受信と応答の間隔を示します。

1ms

src_addr

送信元 IP アドレスです。

192.168.0.1

src_port

送信元ポートです。

42071

輸送

伝送プロトコル。

UDP

user_id

Alibaba Cloud アカウントの ID です。

139749398683 ****

vpc_id

VPC ID

vpc-bp1eyy43516itw78 ****

edns

DNSの拡張メカニズム。

"flags: DO udp: 1408 CLIENT-SUBNET: 1.1.XX.XX/32/24"

プライベートDNSのログ監査サービス

1. ログ監査サービスとは

Log Audit Serviceは、Simple Log Serviceのログアプリケーションです。 Log Audit Serviceは、SLSの機能に加えて、強力なマルチアカウント管理とクロスリージョンログ収集を提供します。 リソースディレクトリを使用して、複数のアカウントからのクラウドサービスログの管理と保存を整理および統合できます。

2. Log Audit ServiceでプライベートDNSログの収集を有効にする

  1. Log Audit Serviceコンソールにログインします。

  2. [グローバル設定] ページで、[中央プロジェクトのリージョン] ドロップダウンリストからcn-hangzhouなどのリージョンを選択し、[イントラネットプライベートDNSログ] を有効にします。 詳細については、「ログ収集の有効化」をご参照ください。

    image

3. プライベートDNSのログ監査サービスをサポートするリージョン

プライベートDNSのログ監査サービスは、中国 (上海)中国 (北京)中国 (広州)中国 (深セン)中国 (杭州)中国 (青島)中国 (張家口)シンガポール、中国 (香港) 、および中国南1金融で利用できます。 他のリージョンでプライベートDNSにログ監査サービスを使用する場合は、

R&Dセンターにチケットを提出してください。 R&Dセンターは、包括的な評価の後、より多くの地域に機能をリリースするかどうかを決定します。

マルチアカウント設定

Log Audit Serviceは、メンバーアカウントのプライベートDNSログを収集し、Alibaba Cloudアカウントの中央プロジェクトに保存するために使用できる強力なクロスアカウントログ収集機能を提供します。 これは、集中ログ管理を容易にする。 Log Audit Serviceは、マルチアカウントログの収集と管理に2つのモードをサポートしています。

  • リソースディレクトリモード

  • カスタム認証モード

詳細については、「複数のアカウントからのクラウドサービスログの収集」をご参照ください。

Terraformに基づくログ収集設定

Terraformは、Alibaba Cloudサービスまたはサードパーティのクラウドサービスのワークロードに構成ファイルをデプロイし、構成ファイルのバージョンを管理できる使いやすいコマンドラインインターフェイス (CLI) を提供します。 Terraformを使用してlog Audit Serviceでログ収集を構成する方法の詳細については、「Terraformを使用してLog Audit Serviceを構成する」をご参照ください。

次のサンプルコードは、Terraformを使用してプライベートDNSログを収集する方法の例を示しています。

resource "alicloud_log_audit" "dns_example" {
	display_name = "tf-audit-test-dns"
	aliuid       = "1480************"  // The Alibaba Cloud account to which the central project for log storage belongs.
	variable_map = {
		"dns_intranet_enabled" = "true", // Enable the collection of Private DNS logs.
		"dns_sync_enabled" = "true", // Enable synchronization of logs from the regional project to the central project.
		"dns_intranet_ttl" = "3", // Specify that logs are stored in the regional project for three days.
		"dns_sync_ttl" = "185"					 // Specify that logs are stored in the central project for 185 days.
		"dns_intranet_collection_policy" = "accept tag.env == \\\"test\\\"\\ndrop \\\"*\\\"" // Specify that only Private DNS logs related to VPCs that have a tag value of prod for the env tag key.
	  }  
	multi_account = ["1039************"] // Set multi-account configurations.
  }

ログ収集ポリシー

Log Audit Serviceを使用すると、プライベートDNSログにきめ細かい収集と管理を実装できます。 プライベートDNSログ収集の最小粒度はVPCです。

Log Audit Serviceコンソールで収集ポリシーを管理および設定できます。 次の図は、envタグキーのタグ値がprodであるすべてのVPCのプライベートDNSログの収集を有効にするログ収集ポリシーを示しています。 収集ポリシーを設定して、詳細な収集管理を実装し、不要なログ収集を減らすことができます。

image.png

ログクエリと分析のベストプラクティス

このセクションでは、プライベートDNSログのクエリと分析の一般的なシナリオについて説明します。 カスタムのクエリおよび分析ステートメントを使用して、ビジネス要件を満たすことができます。 SQLクエリ結果をダッシュボードに追加したり、クエリステートメントを保存検索として保存したり、結果をアラートとして保存したりして、その後のクエリおよび分析操作を容易にすることもできます。

1. DNS解決結果

特定の期間内にVPC上のドメイン名のDNSリクエストの配布を照会します。

* and vpc_id: vpc-2ze9dducyc3t6p8aeksb3 |select count(*) as total_req, query_name group by  query_name

image

2. DNS解決のRTTデータ

特定の期間内にVPCからドメイン名の特定のクエリタイプのDNSリクエストのラウンドトリップ時間 (RTT) データをクエリします。

* and vpc_id: vpc-2ze9dducyc3t6p8aeksb3 and query_name: "metrichub-cn-beijing.aliyun.com." and query_type: A | select stddev(__time__) as RT, dns_msg_id GROUP  by dns_msg_id

image