我正在为服务器使用大量公共IP,这些服务器只打开一个服务端口.并且还使用L3开关进行负载平衡. (我用它们用于EXDNS,Pulic-web等)
在这个周围,我发现一些数据包来自许多公共IP,53端口到我的公共IP与任何端口,而不是我正在使用的端口.并且域名是xxxx.x99moyu.net(域的最低部分是随机更改的.)这是ACK数据包并包含用于查询的127.0.0.1答案.但是我们的服务器永远不会为这些域发送DNS查询.我得到的其中一个包就是
* ————————————————- —————–
IPv4,Src:171.125.150.23,Dst:112.x.x.x(我的ip)
UDP,Src端口:53,Dst端口:54162
域名系统(响应)
问题:1
回答RR:1
查询:tnczmz.x99moyu.net:输入A,类IN
答案:tnczmz.x99moyu.net:类型A,类IN,地址127.0.0.1
————————————————– —————— *
当我第一次看到这些数据包时,请写一篇关于DNS放大攻击的文章.使用互联网上的DNS服务器和src.ip的公共IP,然后我的服务器将从DNS服务器获得许多应答包.但目标太宽而不能成功进行此次攻击,因为超过200台服务器获得了这些数据包,而每台服务器只获得了3-5 dns的响应.
所以,如果有人有类似的经历或知道它发生的原因,请告诉我.谢谢.
解决方法
>您获得了之前由具有侦听端口53的设备使用的IP地址,并且过去了解它的设备仍在尝试使用它. (可能是权威服务器或开放解析器)
>您的设备正在参与攻击.
>正如您所怀疑的那样,这些数据包会被反射到您身上,您就是攻击的目标.
>这些数据包正在反映到您身上,您不是攻击的目标.您的IP恰好是他们伪造的那个.
很多人误以为#1是对他们服务器的攻击(#3).您必须查看要测量的传入流量,并且由于您没有抱怨您的带宽因此而受阻,因此不太可能.让我们排除#3.
我们的下一个提示是查询名称:tnczmz.x99moyu.net.在过去的几年中,已经运行大容量递归DNS服务器的任何人都熟悉这样的名字(并且一直在关注):这是一个“Pseudo Random Subdomain” aka “Water Torture” attack.我不会在这里详细介绍详细信息,但这个想法是产生数千个域下的不可缓存的随机查询,以便将所有请求发送到该域的名称服务器,这是攻击的真正受害者.在这种情况下,他们是Cloudflare的名称服务器:
$dig +short x99moyu.net NS darwin.ns.cloudflare.com. uma.ns.cloudflare.com.
由于我非常确定您不是Cloudflare的服务器管理员,因此我们现在需要考虑数据包的方向以排除#1.这是我们必须要做的事情:
>资料来源:171.125.150.23(中国)
>源端口:53
>目的地:您的服务器
>目的地港口:随机
中文IP正在向您发送DNS回复数据包.我们知道他们是回复数据包,因为它们包含DNS回答部分.由于您或此远程IP都不属于Cloudflare(其名称服务器管理域),因此我们可以假设其中一个IP是欺骗性的.鉴于攻击的受害者(Cloudflare)以及攻击如何运作,这里最可能被欺骗的地址是你的.这将使中文IP成为接收递归查询的服务器.
我的结论是,你既不是攻击的目标,也不是参与攻击的目标(通常情况下,你很幸运).这是#4的情况:您的源IP在执行针对Cloudflare的攻击时作为其他人的一部分而被欺骗.
事后看来,#2仍有可能.即使持有IP的服务器不提供DNS侦听器,您的服务器也可能会受到攻击并运行生成查询的恶意软件.当然,这假设您的数据包捕获忽略了出站查询. (我突然意识到假设这会被注意到是不好的)