MENU

DNSフィルタリングとは?マルウェアC2通信の遮断と有害サイトブロックを情シス1人でも実現する実践ガイド

社内のPCがマルウェアに感染したとき、攻撃者は真っ先にDNSを使って指令サーバー(C2)と通信しようとします。HTTPをブロックしても、DNSを放置したままでは感染端末からの情報漏洩を止められません。「ファイアウォールは入れたけど、DNSまで管理できていない」という中小企業の情シスは、実は多いのではないでしょうか。

この記事では、DNSフィルタリングの仕組みから、無料で使えるサービスの設定方法、社内全端末への展開まで、現場で使えるレベルで解説します。

DNSフィルタリングとは?マルウェアC2通信の遮断と有害サイトブロックを情シス1人でも実現する実践ガイド - 解説

目次

DNSフィルタリングとは?

DNSフィルタリングとは、DNS(Domain Name System)クエリを監視・制御し、悪意のあるドメインや業務上不適切なサイトへのアクセスを遮断するセキュリティ技術です。

DNSはWebサイトのドメイン名(例: www.example.com)をIPアドレスに変換する「電話帳」のような仕組みです。DNSフィルタリングはこの変換処理の段階で介入し、危険と判断されたドメインに対しては「そのIPアドレスは教えない」または「ブロックページに誘導する」という形で通信を止めます。

なぜDNSの段階でブロックすることが効果的かというと、どんな通信も最終的にはDNSで名前解決を行うからです。HTTP・HTTPS・FTPはもちろん、マルウェアのC2通信、DNSトンネリング(DNS通信にデータを隠す手法)まで、ドメイン名を使う通信はすべてDNSを通ります。ここを押さえることで、アプリケーション層の通信に関わらず、ネットワーク出口全体を一括管理できます。

従来のファイアウォールルールはIPアドレスでブロックしますが、攻撃者はIPを頻繁に変えます。ドメイン名でフィルタリングするDNSフィルタリングは、IPアドレスの変更に影響されない点でも優位性があります。

攻撃者がDNSを悪用する手口(敵を知る)

現場経験から言うと、DNSは「見落とされやすいセキュリティの盲点」です。攻撃者はこれをよく知っています。

1. C2通信(コマンド&コントロール)への悪用

マルウェアに感染した端末は、攻撃者の指令サーバー(C2サーバー)に定期的に接続し、コマンドを受け取ったり、盗んだデータを送信したりします。このときDNSを使う理由は、DNSポート(UDP 53番)がほぼすべての組織でファイアウォールを通過するからです。

攻撃者はC2サーバーのIPアドレスをドメインに紐付け、さらにDGA(Domain Generation Algorithm)と呼ばれる手法で毎日数千のランダムドメインを生成します。IPブラックリストをかいくぐるための戦術です。ボットネットとC2通信の詳しい仕組みについては、ボットネットとは?仕組み・C2通信・感染経路と企業が取るべき対策もあわせてご覧ください。

2. DNSトンネリングによるデータ窃取

DNSトンネリングは、DNSクエリとレスポンスの中にデータを隠して通信する高度な手法です。例えば、盗んだファイルをBase64でエンコードし、サブドメイン部分(例: aGVsbG8=.attacker.com)に埋め込んで外部に送り出します。

プロキシやHTTPフィルタリングが完璧に設定されていても、DNSが素通しになっていると、この手法で情報が外部に流出します。DNSパケットのサイズ・クエリ頻度・エントロピーなどを分析することで検知できますが、自前で実装するのは困難です。これがマネージドDNSフィルタリングサービスを使う理由の一つです。

3. フィッシングサイトへの誘導

偽のログインページや詐欺サイトは、本物に似たドメイン(タイポスクワッティング)を使うことが多いです。DNSフィルタリングは、既知のフィッシングドメインのデータベースと照合し、社員がうっかりクリックしても接続を遮断します。フィッシングリンクを含むメールが届いても、最終的にDNS解決で弾かれれば被害を防げます。

DNSフィルタリングの種類と仕組み

DNSフィルタリングの実装方法は大きく3種類に分かれます。それぞれに特徴があり、組織の規模や予算に応じて選択します。

1. パブリックセキュアDNSへの切り替え

最もシンプルな方法は、社内のルーターが参照するDNSリゾルバーを、フィルタリング機能付きのパブリックDNSに変更することです。

主要なフィルタリング対応パブリックDNSの特徴:

・Cloudflare 1.1.1.2: マルウェア・フィッシングドメインをブロック。1.1.1.3はアダルトコンテンツも遮断。無料。レスポンス速度が世界最速クラス
・Quad9(9.9.9.9): 非営利団体運営。IBM X-Force・Spamhausほか複数組織の脅威インテリジェンスを統合。プライバシーポリシーが明確で個人情報を販売しないことを明示。無料
・OpenDNS(Cisco)208.67.222.222: 無料プランで基本的なフィルタリング。有料のUmbrellaプランで企業向けカテゴリフィルタリング・詳細レポートが利用可能

無料で今すぐ試せるのはCloudflare 1.1.1.2とQuad9です。ルーター1台の設定変更で社内全端末に適用できます。

2. クラウド型DNSフィルタリングサービス(DNSaaS)

より高度な制御が必要な場合は、クラウド型DNSフィルタリングサービスを導入します。単純なブラックリスト照合にとどまらず、機械学習による未知ドメインの評価、リアルタイムログ記録、カテゴリ別ポリシー設定などが可能です。

代表的なサービスと特徴:

・Cloudflare Gateway(Zero Trust Free): 最大50ユーザーまで無料。カテゴリ別フィルタリング・DNSログ記録・セキュリティポリシー設定が可能。マルウェア・フィッシング・クリプトマイニングカテゴリを個別にON/OFF
・Cisco Umbrella: 企業向け有料サービス。SWG(Secure Web Gateway)との統合、MDM連携、詳細なレポート機能が強み。DGAドメインのリアルタイム検出に定評あり
・NextDNS: 個人・中小企業向け低価格サービス。月30万クエリまで無料、それ以降は年間約2,000円程度。設定がシンプルで導入しやすい

3. オンプレミス型DNS(Pi-hole等)

社内に独自のDNSサーバーを立てる方法です。

・Pi-hole: 広告・マルウェアドメインをブロックするDNSサーバーソフトウェア。RaspberryPiを含むLinux環境で動作。コミュニティが提供する各種ブロックリストを取り込んで利用できる
・BIND+RPZ(Response Policy Zone): DNSサーバーソフトウェアBINDが持つポリシーブロック機能。外部の脅威フィードをRPZ形式で取り込んでブロックリストを構成。大規模組織向け

オンプレミスの利点はすべてのDNSログが手元に残ること。不審なクエリを後から調査するフォレンジック用途に向いています。欠点は、脅威インテリジェンスフィードの更新を自前で管理する必要があることと、クラウドサービスほど即時性がないことです。

具体的な導入手順

中小企業が最小コストで導入できる方法として、段階的なアプローチを紹介します。

1. ルーターのDNS設定を変更する(即効・0円)

今すぐできる対策として、社内ルーターのDNSサーバー設定を変更します。ルーター管理画面(多くの場合192.168.1.1または192.168.0.1)にログインし、WAN設定またはDHCP設定のDNSサーバーを以下に変更します。

# Cloudflare(マルウェア・フィッシングブロック) プライマリDNS: 1.1.1.2 セカンダリDNS: 1.0.0.2 # または Quad9(非営利・マルウェアブロック) プライマリDNS: 9.9.9.9 セカンダリDNS: 149.112.112.112

この設定により、社内の全端末がルーター経由でDNSを引くとき(通常はほぼすべての端末)、自動的にフィルタリングが適用されます。

ただしこの方法には限界があります。モバイル通信を使う端末、DoH(DNS over HTTPS)を独自に使うブラウザ(FirefoxのデフォルトはMozilla経由のDoH)、またはVPNを使っている端末はバイパスされます。この限界を補うのが次のステップです。

2. Cloudflare Gatewayでポリシーを設定する(無料・詳細制御)

Cloudflare Zero TrustのFreeプランに登録し、DNSポリシーを設定します。社内グローバルIPを「Location」として登録すると、そのIPからのDNSクエリがGatewayを経由するようになります。

# Cloudflare Zero Trust 設定フロー 1. https://one.dash.cloudflare.com/ でアカウント作成(無料) 2. [Gateway] > [DNS Locations] > [Add a location] → 社内のグローバルIPアドレスを登録 → 割り当てられるDNS IPv4アドレスを控える(例: 172.64.x.x) 3. ルーターのDNSをGatewayの割り当てIPに変更 4. [Gateway] > [Firewall Policies] > [DNS] > [Add a policy] → Security Threats: ✓ Malware(マルウェア) ✓ Phishing(フィッシング) ✓ Cryptomining(クリプトジャッキング) ✓ Command & Control(C2通信) → Action: Block

Gatewayでは各DNSクエリのログが記録され、どのドメインへのリクエストが多いか、どの端末がブロックされたかをダッシュボードで確認できます。これは月次のセキュリティレビューや、インシデント発生時の初動調査に直結します。

3. リモートワーク端末へ適用する

社外に持ち出す端末には、Cloudflare WarpクライアントをインストールするとGatewayのフィルタリングが適用されます。Warp自体は無料で提供されており、ゼロトラストの組織IDと紐付けることで、端末がどこにいてもGatewayのポリシーが適用されます。

Windowsのグループポリシーでは、特定のDoHサーバーを強制指定することもできます。

# Windows 11でのDoH強制設定(PowerShell 管理者権限) # Cloudflare Gatewayの割り当てDoHエンドポイントを指定 Add-DnsClientDohServerAddress ` -ServerAddress "172.64.x.x" ` -DohTemplate "https://.cloudflare-dns.com/dns-query" ` -AllowFallbackToUdp $False ` -AutoUpgrade $True # 設定確認 Get-DnsClientDohServerAddress

DNSセキュリティの通信保護(DoH・DoT・DNSSEC)については、DNSセキュリティ強化ガイド|DoH・DoT・DNSSECで名前解決を保護する実践設定もあわせて参照してください。

中小企業でも今日からできること

予算ゼロから段階的に強化できるロードマップです。

・今すぐ(0円・5分): ルーターのDNSをCloudflare 1.1.1.2またはQuad9に変更する。これだけで既知のマルウェア・フィッシングドメインへのアクセスをブロックできる
・1週間以内(0円): Cloudflare Zero Trust Freeに登録しDNSポリシーを設定。マルウェア・フィッシング・C2カテゴリを明示的にブロックし、ログ記録を有効化
・1か月以内(0円): DNSログを月次でレビューするルーティンを作る。ブロックされたドメインの傾向から社内の感染兆候を早期把握する習慣をつける
・3か月以内(低コスト): リモートワーク端末へのWarpクライアント展開。モバイル端末はMDMとの連携でDNSプロファイルを配布する

NetFlowやパケットキャプチャと組み合わせることで、DNSフィルタリングがブロックした通信の詳細を可視化できます。NetFlow・IPFIXでネットワークを可視化する入門ガイドもあわせてご覧ください。

よくある誤解と注意点

【誤解1】HTTPSを使えばDNSフィルタリングをバイパスできる

HTTPSは通信内容(ペイロード)を暗号化しますが、DNSクエリはその前に行われます。ブラウザがまずDNSにドメインを問い合わせ、IPアドレスを取得してからHTTPS接続を確立するので、DNSフィルタリングはHTTPSより前の段階で機能します。

ただし、ブラウザ組み込みのDoH(FirefoxのデフォルトはMozilla Cloudflare経由)は、ルーターレベルのDNSフィルタリングをバイパスします。この対策としては、Gatewayをルーターレベルで使う場合はFirefoxのDoHを無効化するか、エンドポイントにWarpクライアントを導入するのが現実的です。

【誤解2】ブラックリスト方式だから未知の攻撃ドメインには無効だ

初期のDNSフィルタリングは既知のブラックリストに依存していましたが、現代の主要サービスは機械学習による振る舞い分析、Newly Registered Domains(登録から日が浅いドメイン)の危険度判定、DGAドメイン検出など、未知のドメインへの対応策を持っています。

完璧ではありませんが、企業が個別に同等の仕組みを構築することと比べれば、クラウド型サービスを使う方が実務上の現実解です。

【注意】従業員への説明と就業規則への明記

DNSフィルタリングは、業務時間中の社員のアクセス先ドメインが記録されます。導入前に「業務用機器のネットワーク利用状況を監視することがある」旨を就業規則に明記し、社員に説明することが望ましいです。個人所有デバイスへの強制適用は、プライバシーの観点から慎重な判断が必要です。

【注意】フォールバック設定の確認

DNSフィルタリングサービスが停止すると、社内全体のDNS解決が止まる可能性があります。セカンダリDNSを別の信頼できるリゾルバーに設定し、メインサービスに障害が発生したときの動作を事前に確認しておいてください。

DNSフィルタリングとは?マルウェアC2通信の遮断と有害サイトブロックを情シス1人でも実現する実践ガイド - まとめ

本記事のまとめ

導入方法 コスト 効果範囲 管理負荷
パブリックDNS切り替え(1.1.1.2/9.9.9.9) 無料 ルーター配下の全端末 低
Cloudflare Gateway Free 無料(50ユーザーまで) ルーター配下+ログ記録・ポリシー設定 中
有料DNSaaS(Umbrella等) 有料 全端末+詳細ポリシー・レポート 中
Pi-hole(オンプレミス) 初期費用のみ 社内ネットワーク+フォレンジック向き 高

DNSフィルタリングは「ファイアウォールの次に入れるべき防御層」の一つです。マルウェアのC2通信遮断、フィッシングサイトブロック、DNSトンネリング検出など、ネットワーク出口を押さえるだけで複数の脅威に同時対処できます。しかも最初の一歩は「ルーターのDNSを変えるだけ」で踏み出せます。

DNSキャッシュポイズニングのようなDNS自体を狙った攻撃への対策については、DNSキャッシュポイズニングとは?仕組み・被害事例・対策もあわせてご覧ください。まず今日、ルーターのDNS設定を変更するところから始めてみてください。

PR

実践 パケット解析 第3版(Chris Sanders/オライリー・ジャパン)

ネットワークトラフィックの読み方からDNS異常通信の見抜き方まで、Wireshark・tcpdumpを使った実務的なパケット解析手法を体系的に学べる一冊です。DNSフィルタリングのログを深掘りしたい方に特に役立ちます。

関連記事をもっと読む

同じテーマの記事をまとめています。あわせて読みたい記事はこちらからご覧いただけます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次