GFW 原理和封锁技术

原文:GFW 原理和封锁技术 作者:XUranus

GFW 是 Great Fire Wall 的缩写,即“长城防火墙”。这个工程由若干个部分组成,实现不同功能。长城防火墙主要指 TG 监控和过滤互联网内容的软硬件系统,由服务器和路由器等设备,加上相关的应用程序所构成。

首先,需要强调的是,由于中国网络审查广泛,中国国内含有“不合适”内容的的网站,会受到政府直接的行政干预,被要求自我审查、自我监管,乃至关闭,所以 GFW 的主要作用在于分析和过滤中国境内外网络的资讯互相访问。GFW 对网络内容的过滤和分析是双向的,GFW 不仅针对国内读者访问中国境外的网站进行干扰,也干扰国外读者访问主机在中国大陆的网站。

一、关键字过滤阻断

关键字过滤系统。此系统能够从出口网关收集分析信息,过滤、嗅探指定的关键字。主要针对 HTTP 的默认端口:80 端口,因为 HTTP 传播的内容是明文的内容,没有经过加密,而 GFW 是一个 IDS(Intrusion detection system)。普通的关键词如果出现在 HTTP 请求报文的头部 (如“Host: www.youtube.com”) 时,则会马上伪装成对方向连接两端的计算机发送 RST 包(reset) 干扰两者正常的 TCP 连接,进而使请求的内容无法继续查看。如果 GFW 在数据流中发现了特殊的内文关键词 (如轮子,达赖等) 时,其也会试图打断当前的连接,从而有时会出现网页开启一部分后突然停止的情况。在任何阻断发生后,一般在随后的 90 秒内同一 IP 地址均无法浏览对应 IP 地址相同端口上的内容。

二、IP 地址封锁

IP 地址封锁是 GFW 通过路由器来控制的,在通往国外的最后一个网关上加上一条伪造的路由规则,导致通往某些被屏蔽的网站的所有 IP 数据包无法到达。路由器的正常工作方式是学习别的路由器广播的路由规则,遇到符合已知的 IP 转发规则的数据包,则按已经规则发送,遇到未知规则 IP 的数据,则转发到上一级网关。

而 GFW 对于境外 (中国大陆以外) 的 XX 网站会采取独立 IP 封锁技术。然而部分 XX 网站使用的是由虚拟主机服务提供商提供的多域名、单(同)IP 的主机托管服务,这就会造成了封禁某个 IP 地址,就会造成所有使用该服务提供商服务的其它使用相同 IP 地址服务器的网站用户一同遭殃,就算是正常的网站,也不能幸免。其中的内容可能并无不当之处,但也不能在中国大陆正常访问。现在 GFW 通常会将包含 XX 信息的网站或网页的 URL 加入关键字过滤系统,并可以防止民众透过普通海外 HTTP 代理服务器进行访问。

三、特定端口封锁

GFW 会丢弃特定 IP 地址上特定端口的所有数据包,使该 IP 地址上服务器的部分功能 (如 SSH 的 22、VPN 的 1723 或 SSL 的 443 端口等) 无法在中国大陆境内正常使用。

在中国移动、中国联通等部分 ISP(手机 IP 段),所有的 PPTP 类型的 VPN 都被封锁。

2011 年 3 月起,GFW 开始对 Google 部分服务器的 IP 地址实施自动封锁 (按时间段) 某些端口,按时段对 www.google.com\ (用户登录所有 Google 服务时需此域名加密验证)和 mail.google.com 的几十个 IP 地址的 443 端口实施自动封锁,具体是每 10 或 15 分钟可以连通,接着断开,10 或 15 分钟后再连通,再断开,如此循环,令中国大陆用户和 Google 主机之间的连接出现间歇性中断,使其各项服务出现问题。GFW 这样的封锁手法很高明,因为 Gmail 并非被完全阻断,这令问题看上去好像出自 Google 本身。这就是你们认为 Google 抽风的原因。

四、SSL 连接阻断

GFW 会阻断特定网站的 SSL 加密连接,方法是通过伪装成对方向连接两端的计算机发送 RST 包 (RESET) 干扰两者间正常的 TCP 连接,进而打断与特定 IP 地址之间的 SSL(HTTPS,443 端口)握手(如 Gmail、Google 文件、Google 网上论坛等的 SSL 加密连接),从而导致 SSL 连接失败。

当然由于 SSL 本身的特点,这并不意味着与网站传输的内容可被破译。

五、DNS 劫持和污染

GFW 主要采用 DNS 劫持和污染技术,使用 Cisco 提供的 IDS 系统来进行域名劫持,防止访问被过滤的网站,2002 年 Google 被封锁期间其域名就被劫持到百度。中国部分 ISP 也会通过此技术插入广告。

对于含有多个 IP 地址或经常变更 IP 地址逃避封锁的域名,GFW 通常会使用此方法进行封锁。具体方法是当用户向 DNS 服务器提交域名请求时,DNS 返回虚假 (或不解析) 的 IP 地址。

全球一共有 13 组根域名服务器(Root Server),目前中国大陆有 F、I 这 2 个根域 DNS 镜像,但现在均已因为多次 DNS 污染外国网络,而被断开与国际互联网的连接。

DNS 劫持和污染是针对某些网站的最严重的干扰。

干扰的方式有两种:

一种是通过网络服务提供商 (Internet Service Provider) 提供的 DNS 服务器进行 DNS 欺骗,当人们访问某个网站时,需要要把域名转换为一个 IP 地址,DNS 服务器负责将域名转换为 IP 地址,中国大陆的 ISP 接受通信管理局的屏蔽网站的指令后在 DNS 服务器里加入某些特定域名的虚假记录,当使用此 DNS 服务器的网络用户访问此特定网站时,DNS 服务便给出虚假的 IP 地址,导致访问网站失败,甚至返回 ISP 运营商提供的出错页面和广告页面。

另一种是 GFW 在 DNS 查询使用的 UDP 的 53 端口上根据 blacklist 进行过滤,遇到通往国外的使用 UDP53 端口进行查询的 DNS 请求,就返回一个虚假的 IP 地址。