0Pricing
Security+ Academy · レッスン

WebコンテンツフィルタリングとDNSシンクホール

URLフィルタリングプロキシとDNSベースのシンクホールによって悪意のあるドメインやコンテンツカテゴリをブロックし、ネットワーク層でマルウェアのコールバックを阻止します。

「WebコンテンツフィルタリングとDNSシンクホール」はCoddyKit上の無料Security+ Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはSecurity+ Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Security+ Academyコースには全4レッスンが含まれています。

Webコンテンツフィルタリングとは

Web閲覧は、マルウェアのダウンロード、ドライブバイ攻撃、フィッシングページなど、ユーザーが危険なURLにアクセスすることを利用した攻撃の一般的な侵入経路です。Webコンテンツフィルタリングは、ユーザーやデバイスがアクセスできるWebサイトを制御し、接続が確立される前に、悪意のあるコンテンツやポリシー違反のコンテンツのカテゴリをブロックします。フィルタリングは、ネットワークプロキシ層、DNS層、またはエンドポイント自体に適用できます。適切に設定すれば、他の防御策が失敗した場合でも、マルウェアのダウンロード、コマンドアンドコントロール(C2)へのコールバック、データの持ち出しを阻止できます。

URLフィルタリングプロキシ

Webプロキシは、クライアントとインターネットの間に配置されます。ユーザーがURLを閲覧すると、リクエストはプロキシに送られ、Webroot、Zscaler、Palo Altoなどのベンダーが管理するカテゴリ分類済みURLデータベースと照合されます。カテゴリがブロック対象(マルウェア、ギャンブル、成人向けコンテンツなど)の場合、プロキシはブロックページを返します。許可されている場合、プロキシはコンテンツを取得してユーザーに返します。明示的プロキシではブラウザーの設定が必要ですが、透過プロキシはクライアント側の設定なしでトラフィックをインターセプトします。クラウドベースのSecure Web Gateway(SWG)は、トラフィックを企業ネットワーク経由でヘアピン接続することなく、リモートユーザーにもフィルタリングを適用できます。

# squid proxy basic configuration snippet
http_port 3128

# Block malware and phishing categories
acl blocklist dstdomain '/etc/squid/blocklist.txt'
http_access deny blocklist

# Allow trusted corporate subnet
acl trusted src 10.10.0.0/24
http_access allow trusted
http_access deny all

# Block file types (executable downloads)
acl badfiles url_regex -i \.exe$ \.bat$ \.ps1$
http_access deny badfiles

DNSベースのフィルタリング

DNSベースのフィルタリングは、TCP接続が確立される前に、DNS名前解決の段階で悪意のあるドメインをブロックします。デバイスが既知の悪意のあるドメインを問い合わせると、DNSリゾルバーは実際のアドレスではなくシンクホールIP(またはNXDOMAIN)を返し、接続そのものを阻止します。Cisco Umbrella、Cloudflare Gateway、Quad9などのサービスは、数十億件のクエリにリアルタイムで脅威インテリジェンスを適用するクラウドDNSリゾルバーとして動作します。DNSフィルタリングは、C2へのコールバックに使用されるドメインや、マルウェア配布用ドメインのブロックに特に効果的です。

# Redirect corporate DNS to filtering resolver
# Replace ISP DNS with filtering service

# Option 1: Enterprise - Cisco Umbrella
# Point internal DNS forwarder to 208.67.222.222

# Option 2: On-prem sinkhole (BIND config)
# zone 'malware-c2-domain.evil' IN {
#   type master;
#   file '/etc/bind/sinkhole.zone';
# };
# sinkhole.zone: A 0.0.0.0 (or sinkhole server IP)

# Option 3: pi-hole style local block
local-zone: 'malware-domain.com.' refuse

DNSシンクホールとは

DNSシンクホールは、ブロック対象のドメインに対して、偽の制御されたIPアドレスを返すサーバーです。エンドポイント上のマルウェアがC2ドメインの名前解決を試みると、シンクホールはシンクホールサーバーのIPアドレスを返します。マルウェアの接続試行はシンクホールサーバーに到達し、そこでログに記録されます。これにより、感染した内部ホスト(C2クエリを送信しているホスト)、コールバックの試行頻度、活動中のマルウェアファミリー(C2ドメインに基づく)が明らかになります。シンクホールは、ブロックした悪意のあるトラフィックを脅威インテリジェンスに変えます。単にブロックするだけでなく、修復が必要な感染ホストを特定できるのです。

# DNS sinkhole detection workflow
# 1. Malware on host A queries botnet-c2.evil
# 2. DNS sinkhole returns 10.0.0.99 (sinkhole IP)
# 3. Malware connects to 10.0.0.99:8080
# 4. Sinkhole server logs: connection from 192.168.1.45
# 5. Security team alerts:
#    'Host 192.168.1.45 attempted C2 to botnet-c2.evil'
#    -> Isolate host, begin forensic investigation

カテゴリベースのURLフィルタリング

URLフィルタリングデータベースは、数十億件のURLを、マルウェア、フィッシング、ボットネットC2、匿名化サービス/VPN、成人向けコンテンツ、ギャンブル、ソーシャルメディア、クラウドストレージ、ストリーミングメディア、ニュースなど、数百種類のカテゴリに分類します。管理者は、ブロックポリシー(常に拒否)、許可ポリシー(常に許可)、警告ポリシー(ユーザーに警告を表示し、続行するにはクリックを要求)を設定します。URLのカテゴリ分類はベンダーによってリアルタイムで更新され、新たに発見された悪意のあるドメインは通常、検出から数分以内に追加されます。カテゴリ分類データベースの品質が、フィルタリングの有効性を直接左右します。

# Web filtering policy example
Category              Action    Reason
--------------------  --------  ----------------------
Malware sites         BLOCK     Security
Phishing              BLOCK     Security
C2 / Botnet           BLOCK     Security
Anonymizers / VPN     BLOCK     Policy bypass risk
Gambling              BLOCK     AUP violation
Adult Content         BLOCK     AUP violation
Social Media          WARN      Productivity
Cloud Storage         ALLOW     Business need
News / Media          ALLOW     Informational
Microsoft 365         ALLOW     Critical SaaS

プロキシでのSSL/TLSインスペクション

Webトラフィックの大半はHTTPSであるため、コンテンツフィルタリングプロキシは、暗号化されたセッションの内部を確認するためにSSL/TLSインスペクション(SSLバンピングまたは中間者インスペクションとも呼ばれます)を実行する必要があります。プロキシはクライアントからのTLSセッションを終端し、コンテンツを検査してから、サーバー向けに再暗号化します。企業CA証明書はMDMを介して管理対象のすべてのエンドポイントに配布されるため、クライアントはブラウザーの警告なしに、プロキシが再署名した証明書を信頼できます。プライバシー上の懸念や規制上の制約から、銀行、医療ポータル、法律研究サイトなど、検査対象から除外すべきカテゴリもあります。

DNS over HTTPS(DoH)によるバイパスの問題

DNSベースのフィルタリングにおける大きな課題はDNS over HTTPS(DoH)です。ChromeやFirefoxなどのブラウザーはDoHをサポートしており、ローカルの再帰リゾルバーではなく、1.1.1.1や8.8.8.8などのリゾルバーにDNSクエリを暗号化して送信します。クエリが企業DNSサーバーに到達しないため、DNSシンクホールやフィルタリング制御がバイパスされます。企業での対策には、グループポリシーでDoHを無効にする、ファイアウォールでDoHリゾルバーのIPアドレスをブロックする、または透過プロキシを使用してポート443/853のすべてのトラフィックを企業のDoH対応リゾルバーにリダイレクトする方法があります。

# Block DoH bypass at the firewall
# Block common DoH providers
iptables -I FORWARD -d 1.1.1.1 -p tcp --dport 443 -j DROP
iptables -I FORWARD -d 8.8.8.8 -p tcp --dport 443 -j DROP
iptables -I FORWARD -d 9.9.9.9 -p tcp --dport 443 -j DROP

# Windows Group Policy: disable browser DoH
# Computer Config > Admin Templates > Google Chrome
# 'DNS over HTTPS mode': set to 'Off'

# Or force all DNS through corporate resolver
# Redirect UDP/TCP 53 and DoH (443) to corporate DNS

フィルタリング用の脅威インテリジェンスフィード

コンテンツフィルタリングシステムの性能は、脅威インテリジェンスの品質に左右されます。最新のフィルタリングプラットフォームは、複数のインテリジェンスフィードを利用します。具体的には、悪意のあるIOCを精選した商用フィード(FireEye、Recorded Future、ThreatConnect)、オープンソースフィード(AlienVault OTX、abuse.ch、Emerging Threats)、過去のインシデントに基づく組織独自のフィードです。インテリジェンスフィードのIOC(悪意のあるドメイン、IPアドレス、URL、ファイルハッシュ)は、検出から数分以内にフィルタリングポリシーへ自動的に反映されます。これにより、ベンダーのデータベース更新を待たずに、新たに発見された脅威からほぼリアルタイムで保護できます。

セーフサーチとソーシャルメディアの制御

Webフィルタリングは、サイト全体のブロックにとどまりません。検索エンジン(Google、Bing)に対するセーフサーチの強制では、すべてのクエリにセーフサーチ用パラメーターを追加し、検索エンジン全体をブロックすることなく、露骨な内容を含む検索結果を除外します。YouTubeの制限付きモードは、DNS CNAMEのリマッピングによって強制できます。ソーシャルメディアは業務利用を許可しながら、プロキシのアプリケーション層フィルタリングによって、特定のソーシャルメディアアプリケーションのアップロードやダウンロードをブロックできます。このようなきめ細かな制御により、組織は一律のブロック/許可という二択にせず、業務利用とポリシー適用のバランスを取れます。

レポートとアラート

Webフィルタリングによって生成される詳細なテレメトリは、セキュリティ運用に活用できます。監視すべきレポートには、ユーザーおよびデバイスごとのマルウェアカテゴリへのアクセス件数(侵害の可能性を示します)、C2へのコールバック試行(直ちに調査が必要です)、ポリシーバイパスの試行(匿名化サービスやVPNの利用パターン)、データ持ち出しのリスク(個人用クラウドストレージへの大量アップロード)があります。信頼度の高い悪意のあるカテゴリへのアクセスに関するアラートは、SIEMやチケット管理システムと連携し、自動調査のワークフローを開始できるようにします。経営陣への定期的なレポートによって、Web層でブロックした脅威の量を示せます。

エンドポイントベースとネットワークベースのフィルタリング

Webフィルタリングは、ネットワーク層(プロキシ、DNSリゾルバー)またはエンドポイント層(デバイスにインストールしたエージェント)に適用できます。ネットワークベースのフィルタリングは、デバイスごとのインストールなしにすべてのデバイスを保護できますが、ユーザーがVPN外にいる場合は機能しません。エンドポイントエージェントは、デバイス上でローカルにフィルターを実行し、ポリシー更新用のテレメトリをクラウドに送信することで、リモートユーザーにもフィルタリングを拡張します。ハイブリッドモデルでは、オンプレミスのトラフィックにはネットワークフィルタリングを、リモートワーカーにはエンドポイントエージェントを使用します。DNSベースのクラウドフィルタリング(Cisco Umbrella)は、デバイスがどこに移動しても企業のリゾルバーを追従させることで、ほぼすべての環境をカバーできます。

クイックチェック

このレッスンで扱ったCompTIA Security+(SY0-701)の概念について、理解度を確認します。

レッスンのまとめ

このレッスンでは、URLフィルタリングプロキシがWebリクエストをカテゴリ分類済みデータベースと照合し、悪意のあるサイトやポリシー違反サイトをブロックすること、DNSシンクホールが既知の悪意のあるドメインに偽のIPアドレスを返し、記録されたコールバック試行を通じて感染ホストを特定すること、そしてDoHによるバイパスがDNSベースのフィルタリングに対する重大な脅威であり、グループポリシー、ファイアウォールルール、または透過プロキシによる対策が必要であることを学びました。次は、SSL/TLSインスペクションとman-in-the-browser攻撃について学びます。

よくある質問

「WebコンテンツフィルタリングとDNSシンクホール」レッスンは無料ですか?

はい。「WebコンテンツフィルタリングとDNSシンクホール」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Security+ Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Security+ Academyコースには全4レッスンが含まれています。

「WebコンテンツフィルタリングとDNSシンクホール」で何を学びますか?

URLフィルタリングプロキシとDNSベースのシンクホールによって悪意のあるドメインやコンテンツカテゴリをブロックし、ネットワーク層でマルウェアのコールバックを阻止します。 ブラウザで直接実行するハンズオンコードでSecurity+ Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Security+ Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのSecurity+ Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。

「WebコンテンツフィルタリングとDNSシンクホール」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このSecurity+ Academyレッスンでコードを書いて実行できますか?

はい。すべてのSecurity+ Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. メール認証:SPF、DKIM、DMARC
  2. セキュアメールゲートウェイとスパム対策
  3. WebコンテンツフィルタリングとDNSシンクホール
  4. SSL/TLSインスペクションとブラウザ内中間者攻撃
← Security+ Academyに戻る