Google Cloudを運用する中で、仮想マシンやコンテナからの外部通信のセキュリティ対策に悩んでいる方は多いのではないでしょうか。
オンプレミス環境と異なり、クラウド環境ではプロキシサーバや仮想UTMに通信を集約させようとするとネットワーク構成が複雑になりがちです。また近年では、従来のファイアウォールなどのIPアドレスベースの防御をすり抜けるサイバー攻撃も増えています。
そこで本記事では、こうした課題を解決するために2026年1月に一般提供が開始されたセキュリティ機能である「DNS Armor」について解説します。DNS Armorで検出できる脅威や設定手順などがわかる内容になっているので、Google Cloud環境のセキュリティ強化を検討している方はぜひ参考にしてみてください。
クラウド環境におけるDNSセキュリティの課題
高度化するサイバー攻撃を未然に防ぐためには、従来のIPアドレスベースの防御だけでなくDNS(Domain Name System)レイヤーでの対策が重要になってきています。
DNSは、インターネットにおける電話帳のようなもので、人間にとって理解しやすいドメイン名と通信に使われるIPアドレスとを変換するものです。すべての通信の起点となる重要な機能ですが、裏を返せば「社内のサーバに侵入したマルウェアが外部の攻撃者へ通信を試みる際にも、多くの場合でDNSが使われる」ということです。さらに、通常のネットワーク環境では名前解決のためのDNS通信を許可していることが多く、攻撃者にとって監視をすり抜けやすい抜け道として悪用されやすい背景があります。
実際に、Infobloxの調査によりマルウェアの92%がコマンド&コントロール通信(感染した端末が攻撃者のサーバから遠隔操作の指示を受けるための通信)にDNSを使用していることが明らかになっています。被害が発生した後に対応するのではなく、攻撃が始まる前に悪意ある通信を検出する有効な手段となるのがDNS Armorです。
DNS Armorとは?脅威インテリジェンスを活用したDNSセキュリティ
DNS Armorは、Google Cloudで稼働するワークロードに対して、DNSレイヤーのセキュリティを提供するフルマネージドサービスです。Infoblox社の脅威インテリジェンスを活用しており、悪意のあるドメインへのアクセスをDNSレイヤーで検出することが可能です。
DNS Armorを利用するためにプロジェクトで「DNS脅威検出機能」を有効にすると、インターネット宛のDNSクエリログがGoogle Cloud内の脅威エンジンへ送信されるようになります。この脅威エンジンの役割は、脅威インテリジェンスフィードとAIベースの振る舞い分析を組み合わせて脅威を特定することです。
アクティビティが検出されると自動的に脅威ログが生成され、同時にCloud Loggingに書き込まれます。ユーザーはこのログを確認することで、脅威に迅速に対処することが可能になります。なお、DNS Armorは悪意のある通信の検出とログの記録に特化したサービスであり、通信を自動的に遮断する機能を持たない点には注意が必要です。
出典:New DNS Armor can help detect, mitigate domain name system risks
DNS Armorで検出できる高度な脅威
DNS Armorは、サイバー攻撃の兆候や情報漏洩のリスクを早期に発見するため、以下のさまざまな高度な脅威を検出します。
Google Cloudの公式ドキュメントに記載されている主要な脅威を、4つのカテゴリに分けて詳細を解説します。
マルウェアの通信や標的型攻撃
社内のサーバがマルウェアに感染した場合の外部通信や、脆弱性を狙った通信を検出します。以下のような脅威に対応しています。
- マルウェアのコマンド&コントロール(C2):感染したサーバが攻撃者のサーバへ接続しようとする際のDNSクエリ
- マルウェアの配布:攻撃者が所有しており、将来的にマルウェアを配布する可能性のある高リスクドメインへのDNSクエリ
- エクスプロイトキット:クラウドワークロードの脆弱性を悪用しようとするサイトへのDNSクエリ
- 高度で持続的な脅威(APT):特定の標的を狙った長期的なスパイ行為やデータ窃盗に関連するドメインへのDNSクエリ
これらの悪意あるDNSクエリを事前に検出することで、ネットワークへの侵入や被害の拡大を防ぐためのアクションを起こしやすくなります。
データの不正な持ち出し
DNSクエリのパケット内に機密データを隠して外部へ持ち出す「DNSトンネリング」の早期発見が可能です。
通常のファイアウォールでは、名前解決のためにDNS通信(53番ポート)を許可していることが多いため、この抜け穴を狙う攻撃が増えています。
DNSレイヤーでトラフィックを監視することで、こうした巧妙なデータの持ち出しを検出できます。
ドメイン動的生成
攻撃者が追跡を逃れるために用いる手法の検出が可能です。以下のような脅威に対応しています。
- ドメイン生成アルゴリズム(DGA):ランダムに大量生成される使い捨てドメインへのDNSクエリ
- Fast Flux:単一のドメイン名に紐づくIPアドレスを高速で変更するドメインへのDNSクエリ
- ゼロデイ DNS:新しく登録されたばかりで、まだ悪評が広まっていないドメインへのDNSクエリ
固定のブラックリスト方式では見逃されがちなこれらの攻撃も、高度な脅威インテリジェンスを活用することで検出できます。
類似ドメインによる偽装
正規のブランド名に意図的に似せて作られた偽ドメインへのDNSクエリを検出し、誤接続の早期発見・対応に繋げます。
例えば、正規の「google.com」に似せた「g00gle.com」を用意して悪意あるサイトへ誘導する手口が該当します。このような偽ドメインへの通信をDNSレイヤーで検出し、そのログをもとに迅速に対処することで、フィッシング詐欺やマルウェア感染のリスクを軽減できます。
DNS Armorが適用されない条件(制限事項)
DNS Armorはインターネット宛のDNSトラフィックのみを検査するため、以下に示すような環境や通信経路では脅威検出が適用されません。
- 除外リストに含まれているVPC:DNS Armorの除外リストに含まれているVPCからのクエリ
- Cloud DNSリゾルバのバイパス:Cloud DNS(169.254.169.254)以外のDNSサーバを明示的に指定しているワークロードからのクエリ
- プライベートDNS解決:Compute Engineの内部DNS名や、Cloud DNSのプライベートゾーンへのクエリ
- サーバーレスワークロード:Cloud Run、Cloud Run functions、App Engineスタンダード環境からのクエリ
- DNSピアリング:DNSピアリング接続を通過するクエリ(インターネット宛のクエリを含む)
- インバウンド転送:Cloud DNSインバウンド転送エンドポイントに送信されたクエリ
- Secure Web Proxy:Secure Web Proxyによって行われたクエリ
これらに該当するトラフィックは検査されないため、導入前に自社のアーキテクチャ設計と照らし合わせておくことが重要です。
DNS Armorの設定方法
DNS Armorによる脅威検出機能は、以下の手順で設定することができます。
① 対象のプロジェクトで「Network Security API」を有効化します。
② [ネットワーク セキュリティ] > [脅威の検出] を開きます。
③ [DNS 脅威検出機能を作成します] をクリックします。

④ 脅威検出機能の名前を設定します。また、この画面で検査対象から除外するVPCを指定することもできます。

⑤ [作成] をクリックすることで、脅威検出機能が作られます。
なお、1つのプロジェクトには、1つの脅威検出機能しか作成できません。
検出された脅威の確認方法
DNS Armorによって検出された脅威は、Cloud Loggingに書き込まれます。
ログエクスプローラで以下のクエリを実行することで、脅威ログが表示されます。
| resource.type="networksecurity.googleapis.com/DnsThreatDetector" |

このログには、アクセス元のワークロードのIPアドレスやリクエストされたドメイン名など、インシデント対応の初動調査に必要となる情報がJSON形式で記録されています。運用において特に重要となる主な項目は以下の通りです。
- jsonPayload.dnsQuery.sourceIp:DNSクエリを送信したワークロードのIPアドレスです。これにより、感染や侵害が疑われるリソースを特定できます。
- jsonPayload.dnsQuery.vmInstanceId:トラフィックの発生元となる仮想マシンのインスタンスIDです。IPアドレスとあわせて特定に役立ちます。(Compute Engine VMの場合のみ)
- jsonPayload.dnsQuery.queryName:ワークロードがアクセスを試みた悪意のあるドメイン名です。
- jsonPayload.threatInfo.type:DGA(ドメイン生成アルゴリズム)、C2(コマンド&コントロール)など、どの種類の脅威に該当するかが示されます。
- jsonPayload.threatInfo.severity:検出された脅威の深刻度が記録されており、対応の優先度を判断する重要な指標になります。
また、Cloud Loggingのログベースのアラートを設定することで、脅威ログを検出した際に担当者へ通知することも可能です。
DNS Armorの料金体系と課金の仕組み
DNS Armorの料金は、対象となるワークロードやクエリの数をもとに算出される「ユニット」に応じた従量課金制です。1ユニットは「1時間に最大150件のインターネット宛のDNSクエリを生成する1台のワークロード」を表します。
| 月間使用量 | 料金(米ドル) |
| 15,000ユニット以下 | 1ユニットあたり$0.01 |
| 15,000ユニット超 75,000ユニット以下 | 1ユニットあたり$0.005 |
| 75,000ユニット超 | 1ユニットあたり$0.0024 |
詳細な計算方法や計算例については、Cloud DNSの料金でご確認いただけます。
なお、Cloud DNSの他に、Cloud Loggingに保存されたログに対しても課金が発生します。
まとめ
本記事では、Google Cloudの新しいセキュリティ機能であるDNS Armorについて解説しました。
高度化するサイバー攻撃に対抗するためには、通信の最も初期段階であるDNSレイヤーで脅威を早期に検知・可視化することが重要です。DNS Armorは、エージェントレスかつネットワーク構成の変更なしで導入でき、高度な脅威を可視化してインフラの保護に貢献します。
これにより、運用負荷を抑えながらクラウド環境の安全性を大きく向上させることが可能です。
自社の環境に合わせた最適なセキュリティ設計や、導入に関するご相談がありましたら、ぜひ電算システムまでお問い合わせください。
執筆者紹介
<保有資格>
・Cloud Digital Leader
・Generative AI Leader
・Associate Cloud Engineer
・Associate Google Workspace Administrator
・Associate Data Practitioner
・Professional Cloud Architect
・Professional Cloud Database Engineer
・Professional Cloud Developer
・Professional Data Engineer
・Professional Cloud DevOps Engineer
・Professional Cloud Security Engineer
・Professional Cloud Network Engineer
・Professional Machine Learning Engineer
・Professional Security Operations Engineer
・Professional ChromeOS Administrator
- カテゴリ:
- Google Cloud(GCP)
- キーワード:
- DNS Armor




