我必须在Open DNS服务器上pipe理一台服务器。 最近,它被严重滥用ddos dns放大攻击未知的互联网攻击者。 这种DNS服务被某些本地主机程序和内部网客户端所使用,我并不完全明白,这就是为什么我怕任何重新configuration到DNS服务本身。 不过,我认为如果我拒绝来自外部互联网的所有DNS请求,它可能会解决我的问题。
我的问题是:
1)如何使用iptables拒绝来自外部networking的所有DNS请求,使localhost和intranet(IP:10.0.0.X和10.0.1.X)保持不变?
2)不会伤害内部networking的DNS服务的可用性吗?
3)它不会损害服务器上的其他互联网服务(网页+邮件+数据库)的可用性吗?
我们网站上目前使用的所有域名都由其他服务器上的其他公司pipe理,据我所知,外部互联网用户不需要访问我们的DNS服务。
谢谢。
从外部删除访问最简单的方法是阻止所有外部访问UDP(可能TCP)端口53,这将停止向外服务请求,但保持传出端口53打开,这样可以做recursion请求为您的内部服务器。
如果你要为互联网提供一个recursion的域名服务器,build议你了解你的服务器的安全和configuration。 否则,请交给专业人员或托pipe服务。
你不需要Netfilter / iptables。 所有recursion名称服务器软件都允许您仅回答本地networking。 假设你的networking是10.1.0.0/16,而且是Unbound:
access-control: 0.0.0.0/0 refuse access-control: 10.1.0.0/16 allow
使用BIND:
acl mynet { 10.1.0.0/16; }; allow-recursion { mynet; }; allow-query-cache { mynet; };