Amazon-Route-53

VPCにRoute 53 Resolver DNS Firewallからルールグループを追加してみた

はじめに

こんにちは、ディーネットの山田です。

VPCにRoute 53 Resolver DNS Firewallからルールグループを追加してみる機会があったので、挙動を検証してみました。

Route 53 Resolver DNS Firewallとは

仮想プライベートクラウド (VPC) のアウトバウンド DNS トラフィックをフィルタリングおよび規制できます。これを行うには、DNS Firewall のルールグループで再利用可能なフィルタリングルールのコレクションを作成し、そのルールグループを VPC に関連付けて、DNS Firewall のログとメトリクスのアクティビティを監視します。アクティビティに基づいて、DNS Firewall の動作を適宜調整できます。

VPC からのアウトバウンド DNS リクエストを保護できます。これらのリクエストは、ドメイン名の解決用に Resolver を介してルーティングされます。DNS Firewall による保護の主な用途は、データの DNS 漏洩を防ぐことです。DNS 漏洩は、不正なアクターが VPC 内のアプリケーションインスタンスに侵入し、DNS ルックアップを使用して、VPC のデータを彼らが管理するドメインに送信する際に発生します。DNS Firewall を使用すると、アプリケーションでクエリできるドメインを監視および管理できます。不正であるとわかっているドメインへのアクセスを拒否し、他のすべてのクエリを許可できます。また、確実に信頼できるドメインを除くすべてのドメインへのアクセスを拒否することもできます。

https://docs.aws.amazon.com/ja_jp/Route53/latest/DeveloperGuide/resolver-dns-firewall.html

つまり、VPC内部から実施されるアウトバウンドDNSリクエスト(名前解決リクエスト)に対して介入し予め定めたドメインリストを用いた許可や拒否のアクションを実施することが可能。

前提条件

  • 今回の検証では、VPC関連のリソース及び名前解決を実施するEC2リソースは作成済みとなります。
  • ブロックに利用するドメインリストは、AWSマネージドドメインリストを利用します。

設定手順

VPCでDNSファイアウォールルールグループを作成

VPCのDNSファイアウォールルールグループに新規にルールを作成してください。

ルールグループにルールを追加

DNSファイアウォールルールグループが作成できたら、ルールを追加してください。

※検証では、AWSマネージドドメインリストから提供される「AWSManagedDomainsBotnetCommandandControl」ルールのみを適用します。

ルールグループをVPCに関連付ける

DNSファイアウォールルールグループにルールを追加したら、目的のVPCに関連付けてください。

関連付けが進行するので、完了まで待機

VPCに関連付けを実施したら、ステータスが進行するので完了まで待機してください。

動作確認

VPC内に存在するEC2上で、テスト用に準備されているドメインセットを使って実際に名前解決を行います。

テスト用に準備されているドメインセットを調べる

「AWSManagedDomainsBotnetCommandandControl」のマネージドドメインリストであれば、以下の3つでテストできます。

  • controldomain1.botnetlist.firewall.route53resolver.us-east-1.amazonaws.com
  • controldomain2.botnetlist.firewall.route53resolver.us-east-1.amazonaws.com
  • controldomain3.botnetlist.firewall.route53resolver.us-east-1.amazonaws.com

EC2上でRoute 53 DNS Resolver(旧Amazon Provided DNS)に対して名前解決をリクエスト

$ dig controldomain1.botnetlist.firewall.route53resolver.us-east-1.amazonaws.com

; <<>> DiG 9.18.28 <<>> controldomain1.botnetlist.firewall.route53resolver.us-east-1.amazonaws.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 59376
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;controldomain1.botnetlist.firewall.route53resolver.us-east-1.amazonaws.com. IN A

;; Query time: 0 msec
;; SERVER: 172.30.0.2#53(172.30.0.2) (UDP)
;; WHEN: Tue Nov 26 11:38:21 JST 2024
;; MSG SIZE  rcvd: 103

DNSファイアウォールルールグループの設定によって正しくブロックされました。

EC2上でGoogle Public DNSに対して名前解決をリクエスト

$ dig controldomain1.botnetlist.firewall.route53resolver.us-east-1.amazonaws.com @8.8.8.8

; <<>> DiG 9.18.28 <<>> controldomain1.botnetlist.firewall.route53resolver.us-east-1.amazonaws.com @8.8.8.8
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 57695
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;controldomain1.botnetlist.firewall.route53resolver.us-east-1.amazonaws.com. IN A

;; ANSWER SECTION:
controldomain1.botnetlist.firewall.route53resolver.us-east-1.amazonaws.com. 300 IN A 1.2.3.4

;; Query time: 10 msec
;; SERVER: 8.8.8.8#53(8.8.8.8) (UDP)
;; WHEN: Tue Nov 26 11:39:27 JST 2024
;; MSG SIZE  rcvd: 119

DNSファイアウォールルールグループでは防ぐことができない領域なので目的とするIPアドレスが名前解決できてしまいました。

AWSマネージドドメインリストの説明

現在、AWSから提供されるマネージドドメインリストについては、4種類存在しています。

  • AWSManagedDomainsMalwareDomainList
  • AWSManagedDomainsBotnetCommandandControl
  • AWSManagedDomainsAggregateThreatList
  • AWSManagedDomainsAmazonGuardDutyThreatList

AWSManagedDomainsMalwareDomainList

マルウェアの送信、ホスティング、配布に関連するドメイン。

AWSManagedDomainsBotnetCommandandControl

スパムマルウェアに感染したコンピュータのネットワーク制御に関連するドメイン。

AWSManagedDomainsAggregateThreatList

マルウェア、ランサムウェア、ボットネット、スパイウェア、DNS トンネリングなど、複数の DNS 脅威のカテゴリに関連するドメイン。

AWSManagedDomainsAmazonGuardDutyThreatList

Amazon GuardDuty DNS セキュリティの検出結果に関連付けられたドメイン。ドメインは GuardDuty の脅威インテリジェンスシステムのみから取得されており、外部のサードパーティーのソースから取得されたドメインは含まれません。より具体的には、現在、このリストは内部的に生成され、GuardDuty で次の検出に使用される次のドメインのみをブロックします
Impact:EC2/AbusedDomainRequest.Reputation、Impact:EC2/BitcoinDomainRequest.Reputation、Impact:EC2/MaliciousDomainRequest.Reputation、Impact:Runtime/AbusedDomainRequest.Reputation、Impact:Runtime/BitcoinDomainRequest.Reputation、Impact:Runtime/MaliciousDomainRequest.Reputation。

https://docs.aws.amazon.com/ja_jp/Route53/latest/DeveloperGuide/resolver-dns-firewall-managed-domain-lists.html

なお、これらのマネージドドメインリストに含まれるドメイン一覧は、知的財産権を守るためにダウンロードや閲覧はできなくなっているとのことです。

まとめ

  • DNSファイアウォールルールグループを使うことで、悪意のあるドメインが名前解決された際にブロックすることができました。
  • ただし、外部のDNSリゾルバサーバを使われると効果が出ないので、実際の案件で利用する場合は、名前解決で利用されるポートを制限しておくなど他の対策と併用が必要になります。
  • 利用料金については、マネージドドメインリストの利用には費用がかかりませんが、ルールに照らし合わせて検査されるDNSクエリについては課金対象となります。

返信を残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA