Cloud & IT Cert Prep · 课时

Web 内容过滤与 DNS 黑洞

通过网址过滤代理和基于 DNS 的黑洞阻止恶意域名及特定类别的内容,在网络层拦截恶意软件的回连。

第 3 / 4 课13 个步骤

Web 内容过滤与 DNS 黑洞 是 CoddyKit 上的免费 Cloud & IT Cert Prep 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Cloud & IT Cert Prep 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Cloud & IT Cert Prep 课程共包含 4 节课。

为什么需要 Web 内容过滤

Web 浏览是最常见的感染途径之一——恶意下载、路过式攻击和钓鱼页面都依赖用户访问有害 URL。Web 内容过滤用于控制用户和设备可以访问哪些网站,在建立连接之前阻止恶意内容或违反策略的内容类别。过滤可以应用于网络代理层、DNS 层,也可以直接应用于终端本身。配置得当时,即使其他防御措施失效,过滤仍能阻止恶意软件下载、命令与控制(C2)回连以及数据外泄。

URL 过滤代理

Web 代理位于 Client 与互联网之间。当用户访问某个 URL 时,请求会发送到代理,代理会将该 URL 与分类 URL 数据库进行比对(该数据库由 Webroot、Zscaler、Palo Alto 等供应商维护)。如果该类别被阻止(恶意软件、Gambling、Adult 内容),代理会返回阻止页面。如果允许访问,代理会获取内容并将其返回给用户。显式代理需要配置 Browser;透明代理则无需配置 Client 即可拦截流量。基于 Cloud 的 Secure Web Gateways(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 的过滤会在 DNS 解析层阻止恶意域名,此时尚未建立任何 TCP 连接。当设备查询已知恶意域名时,DNS 解析器会返回一个Sinkhole IP(或 NXDOMAIN),而不是真实地址,从而完全阻止连接。Cisco Umbrella、Cloudflare Gateway 和 Quad9 等服务作为 Cloud 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 Sinkhole?

DNS Sinkhole 是一种针对被阻止域名返回伪造且受控 IP 地址的 Server。当终端上的恶意软件尝试解析其 C2 域名时,Sinkhole 会返回 Sinkhole Server 的 IP。恶意软件的连接尝试会到达 Sinkhole Server,而该 Server 会记录连接。这可以揭示:哪些内部 Host 已被感染(它们正在发起 C2 查询)、它们尝试回连的频率,以及当前活跃的是哪个恶意软件家族(根据 C2 域名判断)。Sinkhole 会将被阻止的恶意流量转化为威胁情报——它们不仅负责阻止,还能识别感染的 Host,以便进行修复。

# 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 归入各种类别:Malware、Phishing、Botnet C2、Anonymizers/VPN、Adult Content、Gambling、Social Media、Cloud Storage、Streaming Media、News 等数百个类别。Admin 会配置阻止策略(始终拒绝)、允许策略(始终允许)和警告策略(用户会看到警告,必须点击继续)。供应商会实时维护 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 bumping 或中间人检查),才能查看加密会话内部的内容。代理会终止来自 Client 的 TLS 会话,检查内容,然后将其重新加密并发送给 Server。通过 MDM 将企业 CA Certificate推送到所有受管终端后,Client 无需显示 Browser 警告即可信任代理重新签发的 Certificate。通常不应检查的豁免类别包括:银行、Healthcare 门户和法律研究网站——这是出于隐私考虑和监管限制。

通过 HTTPS(DoH)进行 DNS 解析的绕过问题

基于 DNS 的过滤面临的一项主要挑战是通过 HTTPS(DoH)进行 DNS 解析。Chrome 和 Firefox 等 Browser 支持 DoH,会将 DNS 查询加密后发送到 1.1.1.1 或 8.8.8.8 等解析器,而不是发送到本地递归解析器。由于查询永远不会到达企业 DNS Server,这会绕过 DNS Sinkhole 和过滤控制。Enterprise 缓解措施包括:通过Group Policy 禁用 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、文件哈希——会在检测到威胁后的几分钟内自动推送到过滤策略中,从而无需等待供应商更新数据库,即可近乎实时地防御新发现的威胁。

安全搜索和 Social Media 控制

Web 过滤不仅限于阻止整个网站。对搜索引擎(Google、Bing)实施安全搜索强制时,会向所有查询附加安全搜索参数,在不完全阻止搜索引擎的情况下过滤露骨结果。可以通过 DNS CNAME 重映射强制启用YouTube 受限模式。通过代理上的应用层过滤,可以允许将Social Media用于业务,同时阻止特定 Social Media 应用的上传和下载。这些细粒度控制让组织能够在业务使用和策略执行之间取得平衡,而不必进行简单的二元阻止或允许决策。

报告和告警

Web 过滤会生成丰富的遥测数据,为安全运营提供信息。应监控的报告包括:每个用户和设备的恶意软件类别命中(表示可能已遭到入侵)、C2 回连尝试(需要立即调查)、策略绕过尝试(Anonymizer/VPN 的使用模式),以及数据外泄风险(向个人 Cloud Storage 大量上传数据)。对于高置信度的恶意类别命中,应将告警与 SIEM 和工单系统集成,以触发自动化调查工作流。定期向管理层报告,可以展示 Web 层阻止的威胁数量。

终端过滤与基于网络的过滤

Web 过滤可以应用于网络层(代理、DNS 解析器),也可以应用于终端层(安装在设备上的代理程序)。基于网络的过滤无需逐台设备安装即可保护所有设备,但用户离开 VPN 后便无法发挥作用。终端代理程序在设备本地运行过滤功能,并将遥测数据发送到 Cloud 以获取策略更新,从而将过滤扩展到远程用户。混合模式结合了两者:对本地网络流量使用网络过滤,对远程员工使用终端代理程序。基于 DNS 的 Cloud 过滤(Cisco Umbrella)通过让企业解析器跟随设备移动,实现近乎全面的覆盖。

快速检查

请测试您对本课 CompTIA Security+(SY0-701)概念的理解。

课程回顾

本课您学到了:URL 过滤代理会将 Web 请求与分类数据库进行比对,并阻止恶意网站或违反策略的网站;DNS Sinkhole会为已知恶意域名返回伪造 IP,并通过记录回连尝试来识别感染的 Host;而DoH 绕过是基于 DNS 的过滤面临的重大威胁,需要通过 Group Policy、防火墙规则或透明代理进行缓解。接下来,我们将学习 SSL/TLS 检查和浏览器中间人攻击。

免费开始

用 AI 导师学习 Cloud & IT Cert Prep — 免费

在浏览器中编写并运行真实代码,获得全天候 AI 导师的即时帮助,并在网页或应用中继续学习。

课程
150
课程
600

常见问题解答

「Web 内容过滤与 DNS 黑洞」课时是免费的吗?

是的 — 「Web 内容过滤与 DNS 黑洞」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Cloud & IT Cert Prep 课程的其余内容,请升级到 CoddyKit PRO。 Cloud & IT Cert Prep 课程共包含 4 节课。

「Web 内容过滤与 DNS 黑洞」这节课中我会学到什么?

通过网址过滤代理和基于 DNS 的黑洞阻止恶意域名及特定类别的内容,在网络层拦截恶意软件的回连。 你通过在浏览器中直接运行的动手代码来练习 Cloud & IT Cert Prep,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Cloud & IT Cert Prep 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Cloud & IT Cert Prep 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。

「Web 内容过滤与 DNS 黑洞」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Cloud & IT Cert Prep 课中编写并运行代码吗?

能。每节 Cloud & IT Cert Prep 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 电子邮件身份验证:SPF、DKIM 与 DMARC
  2. 安全电子邮件网关与反垃圾邮件控制
  3. Web 内容过滤与 DNS 黑洞
  4. SSL/TLS 检查与浏览器中间人攻击
← 返回 Cloud & IT Cert Prep