神秘的错误定向中文流量:如何找出 HTTP 请求使用的 DNS 服务器?

Chr*_*ger 24 vpn nginx china

在过去的一周里,我从各种中国 IP 地址获得了大量流量。此流量似乎来自普通人,他们的 HTTP 请求表明他们认为我是:

  • Facebook
  • 海盗湾
  • 各种 BitTorrent 跟踪器,
  • 色情网站

所有这些听起来都像是人们会使用 VPN 做的事情。或者让中国长城生气的事情。

用户代理包括网络浏览器、Android、iOS、FBiOSSDK、Bittorrent。IP 地址是普通的中国商业提供商。

如果主机不正确或用户代理明显错误,我让 Nginx 返回 444:

## Deny illegal Host headers
if ($host !~* ^({{ www_domain }})$ ) {
   return 444;
}
## block bad agents
if ($http_user_agent ~* FBiOSSDK|ExchangeWebServices|Bittorrent) {
    return 444;
}
Run Code Online (Sandbox Code Playgroud)

我现在可以处理负载,但有一些高达 2k/分钟的突发。我想找出他们为什么来找我并阻止它。我们也有合法的 CN 流量,所以禁止 1/6 的地球不是一个选项。

它可能是恶意的甚至是个人的,但它可能只是那里配置错误的 DNS。

我的理论是它配置错误的 DNS 服务器或可能是人们用来绕过长城防火墙的某些 VPN 服务。

给定一个客户端 IP 地址:

183.36.131.137 - - [05/Jan/2015:04:44:12 -0500] "GET /announce?info_hash=%3E%F3%0B%907%7F%9D%E1%C1%CB%BAiF%D8C%DE%27vG%A9&peer_id=%2DSD0100%2D%96%8B%C0%3B%86n%8El%C5L%11%13&ip=183.36.131.137&port=11794&uploaded=4689970239&downloaded=4689970239&left=0&numwant=200&key=9085&compact=1 HTTP/1.0" 444 0 "-" "Bittorrent"
Run Code Online (Sandbox Code Playgroud)

我可以知道:

descr:          CHINANET Guangdong province network
descr:          Data Communication Division
descr:          China Telecom
Run Code Online (Sandbox Code Playgroud)
  • 如何找出这些客户使用的 DNS 服务器?
  • 有没有办法确定 HTTP 请求是否来自 VPN?
  • 这里到底发生了什么?

r_3*_*r_3 31

有一种确定客户端 DNS 解析器的理论方法,但它非常先进,我不知道有任何现成的软件可以为您做到这一点。除了 nginx 之外,您肯定还必须为此运行权威的 DNS 服务器。

如果 HTTP 主机标头不正确,请提供一个错误文档,并为您记录到数据库的每个请求包含一个对动态创建的唯一 FQDN 的请求。例如。

http://e2665feebe35bc97aff1b329c87b87e7.example.com/img.png

只要中国强大的防火墙不摆弄那个请求并且客户端从那个唯一的 FQDN+URI 请求文档,每个请求都会导致一个新的 DNS 查找到您的权威 DNS 中,例如.com,您可以在其中记录您的 IP DNS 解析器稍后将其与动态生成的 URI 相关联。

  • 这与我建议的方法相同,但我认为需要另一个级别的域才能使其工作。如果主域是 `example.com`,您将为一个子域创建一个 NS 记录,例如 `ns-detect.example.com`。然后,您将在该域名下创建一个唯一名称,例如完整的域将是“e2665feebe35bc97aff1b329c87b87e7.ns-detect.example.com”。 (6认同)

Tom*_*ton 5

我听说伟大的防火墙曾经将“被阻止的”流量重定向到少数虚假 IP,但这导致它们的阻止很容易被发现(我不确定它是否允许轻松颠覆)。无论如何,管理员已经开始重定向到随机 IP。显然,这导致一些中国用户获取色情内容,而不是 facebook 或 vpns。

我怀疑你的一个 IP 被证明是被阻止的中国流量的接收者 - 因此你看到了 Facebook IPI 用户代理。

这意味着主机头检查应该是一个很好的检查。现在大多数用户代理都支持 SNI,因此您应该能够相对不受惩罚地丢弃 no-host-header 流量。

编辑:http : //www.infosecurity-magazine.com/news/great-firewall-upgrade-redirects/