上个星期,在浏览我的日志文件的时候,我注意到一个站点每隔几秒就开始出现多次将他们的ns1 / ns2,www和两个子域的多个A和AAAA请求发送到我的DNS服务器,这些请求被拒绝了,configuration。 虽然请求被拒绝并被拒绝,但这并不是一个安全风险,但是,这会使我的日志文件非常快速地增长并使其难以阅读。
我发现这个域名把我的IP地址作为他们的NS1和NS2条目,所以除了试图访问他们的网站(来自埃及)的人们,他们也打我时,试图去我假设其他网站托pipe这埃及的网站。 现在,而不是每秒4-6个请求,我接近15-20。 我已经尝试创build此域的logging,并返回127.0.0.1 TTL为1年,以缓解命中,这在消除埃及主要域的日志条目工作,但现在我得到了其他域名尝试增加也打它。
有什么办法可以阻止这个主域名,而其他人在我的Linux / Plesk盒子上尝试点击DNS服务器而不禁用BIND(而不是在服务我的区域)? 我已经向域名Whois和注册服务机构滥用部门(Go Daddy,因此不会去任何地方)发送注册人的电子邮件,但是还没有收到任何回复。 我也在我的防火墙里封锁了来自埃及,中国等的所有IP地址,但是这个域名的很多请求都来自世界各地。
在这里抓我的头,任何帮助或想法,将不胜感激。
如果你告诉世界这些域名不存在,他们会很快修复错误。
voretaq7的答案的主要目标是你本来应该做的,可能已经做了。 如果您的DNS服务器正在侦听整个Internet可访问的IP地址,则它不应该提供代理DNS服务。 您需要停止服务器戴多个帽子,并确保它只提供内容DNS服务。
这导致了答案的肉。 你只需要configuration你的内容DNS服务器来拒绝这些域名的存在。 那些错误configuration他们的代理使用您的IP地址的人很快就会意识到他们的错误,特别是当最终用户开始抱怨邮件,WWW和其他服务产生关于不存在的域名的错误,并且replace正确的IP地址。 这是一个非常简单的动机:“让您的代表团不要错误地将世界指向我的服务器,并且您的域名将会奇迹般地开始存在。”
你如何做到这一点本身就是简单的。 你不需要看你的日志,列举每个新的域名,并设置一个覆盖它的区域。 简单地设置一个. 区。 您的内容DNS服务器将会拒绝随机查询的每个域名的存在,该域名不在您实际打算提供服务的区域之一的范围内(并已安排委托给您的服务器) 。
记住当你这样做的时候很好。 这个错误可能是由于某个人不小心误认了表格中的几位数字而造成的。 你不想惹恼人。 你只是想给他们激励来解决他们的错误。 所以不要把你的SOA资源logging上的MINIMUM字段设置的太高. 负面的答案被世界caching了一个星期。 使有关人员能够迅速改变事态。 几个小时可能是您减less重复查询的需求和他们需要能够快速切换到适当的内容DNS服务器之间的妥协。 不要设置通配符A和AAAA资源logging,将人们引向讨厌的地方。 只要返回“没有这样的名字”的答案。
你不能把InterNIC的root.zone文件放到你的BIND设置中。 该数据库源文件沿区域的底部边缘具有委派 。 您的DNS服务器将最终发送部分答案,结束于委托中的所有这些您被查询的外国域名。 这只会让它标记为“跛脚”(用于返回上级代表),并且parsing代理DNS服务器将最终经常重新查询它。 它并不否认域名的存在。 你希望你的服务器发送完整的答案,以“没有这样的名字”为结尾的所有外国域名,否认它们的存在。 完整的,否定的答案将被parsing代理caching,并且不会经常重新提问。
因此您需要一个区域文件. 在底部没有代表团。 幸运的是,这实际上比InterNIC的文件简单得多,因为最低限度只需要三个资源logging,看起来像这样:
@ 86400 IN SOA @ hostmaster 1 2D 1H 2W 3H @ 86400 IN NS @ @ 86400 IN A 127.53.0.1
在djbdns格式中,这是一个单行的:
.:127.53.0.1:.
这是一个权威的名称服务器? 如果是这样, 禁用recursion (添加recursion no;你的BINDconfiguration。
拥有一个权威的NS也是一个recursion的parsing器通常被认为是一件坏事。
如果您无法完全禁用recursion,请尽量限制它(使用allow-recursion {};指令)。
关于这些指令的更多信息见本页 (或板球书 )。
如果您没有授权您使用您的DNS服务器,您还应该通知发起ISP的滥用联系人提供的服务和networking资源未经授权的使用收费 – 每个查询0.01美元对我来说似乎公平:-)