向DNS服务器询问它托pipe的网站,以及如何防止误用

我有一个服务器,我主持我的公司网站以及我的一些客户。 我注意到我创build的一个域名,但从未使用过的域名被黑客攻击。 我想象黑客通过点击我的DNS服务器收集域名并请求托pipe什么域名。

所以,为了预防和更好的服务器pipe理,我怎么会问我自己的DNS服务器(Linux CentOS 4)上面托pipe了哪些网站?

另外,有没有办法通过隐藏这些信息来防止这些types的攻击? 我会假设DNS服务器需要公开一些信息,但我不确定是否有大多数主机做的事情来帮助防止这些带宽浪费捅死和希望的攻击。

提前致谢。

更新我意识到在进一步审查这件事情时,我看到在这种特殊情况下,攻击不是由DNS查询(它将被称为),而是一个专用的IP。 我所关心的帐户为主要网站托pipe一个数据库,但没有其他内容。 我原本给了这个账户一个专门的IP,显然这允许知识产权的步行者捅了一下,希望。

实际的(现在更好的澄清的)问题仍然存在,但是,如果有人(不具有服务器访问权限)会收集您的DNS服务器所代表的网站?

由于它是您自己的服务器,您可以查看configuration文件并查看您所托pipe的域名:

nameserver程序应该是绑定的,并且它的configuration文件通常是:

/etc/named.conf 

named.conf文件将包含您要托pipe的每个域的几行内容。 寻找像这样的东西:

 zone "example.com" IN { type master; file "example.com.zone"; allow-update { none; }; }; 

至于防止隐藏信息的攻击,这可能不会起作用。 如果一个黑客可以find你的域名,他可以find你的域名服务器的IP地址 – 毕竟,这就是DNS的全部重点。

如果您删除(或注释掉)named.conf中的区域条目以用于未使用的域,则会部分阻止这些攻击。

我想象黑客通过点击我的DNS服务器收集域名并请求托pipe什么域名。

你为什么想象这个? 我的意思是,我首先想到的是,攻击者从registry的whois数据库中发布的官方DNS列表中获得DNS,询问“好的,谁拥有域名”以及“DNS服务器注册了什么”。

许多人把注意力集中在背景信息上,而不是试图回答实际问题。 我一直在积极寻求答案,而不是坐下来等待,并提出部分答案。

实际的(现在更好的澄清的)问题仍然存在,但是,如果有人(不具有服务器访问权限)会收集您的DNS服务器所代表的网站?

部分答案:如果BINDconfiguration(etc / named.conf)的'allow-transfers'设置为'any',那么外部源可以获得一个完整的区域列表(域)。 这是如何执行的仍然是未知的。

另外,有没有办法通过隐藏这些信息来防止这些types的攻击?

是的,通过确保只有受信任的组才能访问“允许传输”。 在named.conf中,使用acl块(访问控制列表/访问控制语句)来定义哪些IP地址应该被授予访问权限将阻止未经授权的访问。 设置一个acl:

 acl <acl-group-name> { <ip-address>; [<ip-address-2>; ...] }; 

用诸如trusted这样的名称replace,并列出以冒号结尾并以行结尾隔开的IP或IP范围(CIDR块格式[/ 20])。 通常,可信列表将包含回送IP(127.0.0.1),在resolv.conf中分配的IP地址以及分配给您的服务器的任何专用IP地址。

创buildacl后,可以将其应用于您select的任何选项。 为此,这将是'允许转让':

 options { allow-transfers { <acl-group-name>; }; ... } 

如果您想阻止访问DNS服务器的特定IP地址,您可以添加一个新的acl块,并在named.conf的选项块顶部添加“blackhole”:

 options { blackhole { <acl-blackhole-name>; }; ... } 

这是部分答案,但最重要的部分是确保有人不能查询域名服务器并检索完整的区域(域)列表。 我仍然有兴趣知道如何执行DNS区域传输。