时不时地,我会检查生产服务器上的 munin 图表,看看是否有任何异常情况发生。今天我注意到一件奇怪的事情。所有 (8) 个接口/ip 地址同时出现相同的流量峰值。
apache 日志没有显示任何流量。但如果我对每个 ip 地址执行 tcpdump,我会看到完全相同的内容。我看到数千行这样的内容:
18:40:50.737105 IP 104.27.163.111.43691 > (mydomain).com.domain: 47751+ [1au] ANY? msn.com. (36)
18:40:50.737198 IP (mydomain).com.domain > 104.27.163.111.43691: 47751- 0/13/1 (247)
18:40:50.756342 IP 104.27.163.111.53917 > (mydomain).com.domain: 7559+ [1au] ANY? msn.com. (36)
18:40:50.756432 IP (mydomain).com.domain > 104.27.163.111.53917: 7559- 0/13/1 (247)
18:40:50.764843 IP 104.27.163.111.38729 > (mydomain).com.domain: 59015+ [1au] ANY? msn.com. (36)
18:40:50.764929 IP (mydomain).com.domain > 104.27.163.111.38729: 59015- 0/13/1 (247)
18:40:50.797139 IP 104.27.163.111.9549 > (mydomain).com.domain: 17799+ [1au] ANY? msn.com. (36)
18:40:50.797253 IP (mydomain).com.domain > 104.27.163.111.9549: 17799- 0/13/1 (247)
18:40:50.800387 IP 104.27.163.111.59499 > (mydomain).com.domain: 33159+ [1au] ANY? msn.com. (36)
18:40:50.800482 IP (mydomain).com.domain > 104.27.163.111.59499: 33159- 0/13/1 (247)
18:40:50.805491 IP 104.27.163.111.17477 > (mydomain).com.domain: 13703+ [1au] ANY? msn.com. (36)
18:40:50.805585 IP (mydomain).com.domain > 104.27.163.111.17477: 13703- 0/13/1 (247)
18:40:50.815385 IP 104.27.163.111.15286 > (mydomain).com.domain: 52359+ [1au] ANY? msn.com. (36)
18:40:50.815481 IP (mydomain).com.domain > 104.27.163.111.15286: 52359- 0/13/1 (247)
18:40:50.816789 IP 104.27.163.111.17279 > (mydomain).com.domain: 45959+ [1au] ANY? msn.com. (36)
18:40:50.816882 IP (mydomain).com.domain > 104.27.163.111.17279: 45959- 0/13/1 (247)
18:40:50.818406 IP 104.27.163.111.33210 > (mydomain).com.domain: 28039+ [1au] ANY? msn.com. (36)
18:40:50.818500 IP (mydomain).com.domain > 104.27.163.111.33210: 28039- 0/13/1 (247)
18:40:50.823323 IP 104.27.163.111.42996 > (mydomain).com.domain: 17287+ [1au] ANY? msn.com. (36)
18:40:50.823417 IP (mydomain).com.domain > 104.27.163.111.42996: 17287- 0/13/1 (247)
18:40:50.837159 IP 104.27.163.111.13627 > (mydomain).com.domain: 22151+ [1au] ANY? msn.com. (36)
18:40:50.837254 IP (mydomain).com.domain > 104.27.163.111.13627: 22151- 0/13/1 (247)
18:40:50.841576 IP 104.27.163.111.38221 > (mydomain).com.domain: 24967+ [1au] ANY? msn.com. (36)
18:40:50.841701 IP (mydomain).com.domain > 104.27.163.111.38221: 24967- 0/13/1 (247)
18:40:50.846206 IP 104.27.163.111.15500 > (mydomain).com.domain: 19079+ [1au] ANY? msn.com. (36)
18:40:50.846299 IP (mydomain).com.domain > 104.27.163.111.15500: 19079- 0/13/1 (247)
18:40:50.956163 IP 104.27.163.111.9152 > (mydomain).com.domain: 60295+ [1au] ANY? msn.com. (36)
18:40:50.956257 IP (mydomain).com.domain > 104.27.163.111.9152: 60295- 0/13/1 (247)
我在所有 IP 地址上都看到这种情况。有人知道发生了什么吗?
答案1
您的 DNS 服务器正在用于流量放大攻击针对 CloudFlare 服务器。如您所见,攻击者从伪造的源 IP 向您发送 36 个数据字节,而 CloudFlare 收到来自您的未经请求的响应,长度为 246 个数据字节。246/32 等于攻击带宽的约 7.5 倍放大(即我给您 1 Mbps,您给 CloudFlare 提供 8 Mbps)。
您真正应该做的是禁用除您信任的地址之外的任何地址的递归查询,并且只允许来自您托管的域区域(主要和次要)的不受信任的来源的查询。
答案2
放大器就是放大器。这就是互联网,这是一个充满敌意和有毒的环境。他们使用欺骗性的 IP 地址通过 UDP 询问任何 msn.com 查询,这些查询应该返回一个大答案。这是使用开放 DNS 解析器进行放大攻击的常见做法。它之所以有效,是因为 UDP DNS 查询不需要握手或某种形式的握手。
第一条规则:不要向外界开放递归 DNS 服务器,除非对查询速率和大小进行限制。
第二条规则:如果您不知道为什么要这样做,请不要向外界开放递归 DNS 服务。
第三条规则:如果您为客户端开放递归 DNS 服务,请始终使用 DNS 服务器实现本身或后面的防火墙设置 ACL。