我已经打开了dns查询日志,并运行“tail -f / var / log / syslog”时,我发现我从单个IP地址获得数百个相同的请求:
Apr 7 12:36:13 server17 named[26294]: client 121.12.173.191#10856: query: mydomain.de IN ANY + Apr 7 12:36:13 server17 named[26294]: client 121.12.173.191#44334: query: mydomain.de IN ANY + Apr 7 12:36:13 server17 named[26294]: client 121.12.173.191#15268: query: mydomain.de IN ANY + Apr 7 12:36:13 server17 named[26294]: client 121.12.173.191#59597: query: mydomain.de IN ANY +
频率约为每秒5-10次,持续约一分钟。 之后,从不同的IP地址重复相同的效果。 现在我已经在几个小时内logging了大约25个IP地址的10000个请求,根据“whois [ipaddr]”,他们都来自中国。
这里发生了什么? 我的名字服务器受到攻击吗? 我能做点什么吗?
这里发生了什么? 我的名字服务器受到攻击吗? 我能做点什么吗?
这里发生了什么?
从日志logging中无法看出来。 这只是一些可能性:
我的名字服务器受到攻击吗?
从几个IP地址的5-10个DNS请求/秒? 疑。 我所知道的大多数DNS攻击都是使用特制的请求来混乱你的服务器的内部function或者压倒其资源。 一般来说,如果你不得不问,你没有受到攻击。
我能做点什么吗?
当然,您可以阻止防火墙中的IP地址,或者安装上述的Fail2Ban工具。
但是,你应该吗?
请记住,您的DNS服务器的整个工作是回答请求。 在开启查询日志logging并观察输出后,您注意到了这一点。 你看到疯狂的CPU使用率? networkingIO? 由于资源争夺,其他的已知合法请求是否无效?
如果没有,为什么要阻止他们? 让协议按照他们devise的方式工作。 如果您想清理日志,请closures查询日志logging,直到需要诊断问题。
虽然Fail2ban会工作(我推荐它用于很多目的),如果你看到相同的IP一遍又一遍,没有改变,没有理由不完全放弃它。
在防火墙上阻止或使用IPTables。
iptables -A INPUT -s 121.12.173.191 -j DROP
这应该摆脱这些要求。
如果您看到其他源打到您的服务器,那么您可以使用IPTables来阻止任何非networking请求,或使用fail2ban来使用临时阻塞。
Fail2ban无论如何都使用IPTable来阻止请求,所以永久添加它并不是一个延伸。 您还需要查看发行版如何使更改永久(通常是启动时的networking脚本)。 如果你在防火墙后面,我强烈build议先阻止那里的IP。
不pipe你怎么做,都要确保你logging了你做了这个,所以你(或者你的替代者)从几个月后就不知道为什么这么做了。
有人滥用您的DNS服务器对IP地址121.12.173.191进行放大攻击 ,IP地址被攻击者欺骗。
由于DNS主要使用无连接协议的UDP,因此欺骗查询的源地址并将(较大的)响应发送回该欺骗地址的真实所有者是微不足道的。
使用ANY查询来实现放大在DNS圈子中是众所周知的,但只是相对最近被黑客滥用。
如果监视入站数据包的IP TTL,它们可能会不一致,这表明欺骗数据包可能采取了许多不同的path,即使它们看起来都来自同一个地方。
你可能每秒只能看到5-10个数据包,但是攻击者将会使用许多其他主机来使目标地址饱和。
我不知道这是否是由自动扫描,垃圾邮件分销商或其他事情造成的。 但是你可以做的是安装fail2ban,并将其configuration为在每个定义的时间间隔内阻塞太多的DNS请求。
希望这个链接能帮助你: http : //www.debian-administration.org/article/Blocking_a_DNS_DDOS_using_the_fail2ban_package
每秒5-10次的请求数量并不是很大,通常也不是攻击的症状(除非他们正在进行格式错误的查询,或者试图利用某些漏洞获取系统访问权限,以致造成一些BIND漏洞…也许有人正在玩与脚本或张贴一些示例代码使用您的DNS服务器作为参考一些中文论坛或它只是一个机器人试图做一些域的recursion查询(你应该检查日志部分http:// www中的BIND conf文件.zytrax.com / books / dns / ch7 / logging.html只是通过检查他们正在做什么样的查询)鉴于请求数量低(我希望你的DNS基础设施可以生存下来),你有两种可能性:
1 – 一起阻止中国的IP地址(查看http://www.find-ip-address.org/ip-country/ )
2 – 使用iptables将每个IP的连接数限制为每秒3
iptables -A INPUT -s ipaddress -p udp --dport 53 -m limit --limit 3/s -j ACCEPT iptables -A INPUT -s ipaddress -p udp --dport 53 -j DROP
请注意,限制并发连接,如果将此应用于任何IP地址,可能会导致一些问题,因为合法客户端的合法查询将超时,从而降低使用DNS的任何客户端/服务器的浏览速度。
无状态协议中的自动块和速率限制要小心
不要使用白色的东西,你应该永远不要阻止。
中国的事情不是一个孤立的事件。 我不知道为什么,但扫描是持久和系统的。
根据下面的post,这不是一个新现象,但我至今没有find任何解释。
http://dyn.com/active-incident-notification-recent-chinanetany-query-floods/