引言
DNS作为一种在Internet广泛使用的域名解析系统,经常会受到一些非授权的访问。DNS是一种基于BIND的服务,直到基于BIND 8.1.2版本,DNS服务才在安全方面做了相应的限制。充分利用BIND自身已经实现的保护功能,加强BIND安全性,从而能抵御目前已知的BIND安全漏洞,并使潜在的安全漏洞对服务器造成的影响尽可能地减少。
1、利用查询和同步可对安全方面加以限制
查询是ClientX寸Server直接提交的解析请求,要求Server返回解析的最终结果。同步是Secondary Server和Primary Server之间的数据同步。可以通过限制查询和同步提高系统安全性。
BIND 8.1.2增加的安全特性写在/etc/named.conf中。
(1)对查询的限制
①限制所有的查询。
option{
allow-query{192. 168.1. 0/24; 128. 50. 0.0/16;}
};
以上限制说明只有在括号中的网段才允许查询。
⑦制对特定域的查询。
zone“”{
allow-query{“”;};
};
allow-query中可以是网段、主机或是域。如果是网段,必须写成网络号加掩码的形式,否则会出错。如果是主机,可以写IP地址,不用加掩码。
(2)对同步的限制
①限制某网段对所有域的同步。
options{
allow-transfer{ 128. 50.0. 0/24;};
};
②所有主机对特定域的同步作限制。
zone“”{
aLlow-transfer{none;};
};
以上限制是禁止所有主机对本域的数据同步。option和zone所规定的限制是顺序生效的。若在option选项为none,则全部禁止,下面zone中的限制将会被忽略;若在option选项中为允许,在zone中为禁止,则针对这一特定域的访问被禁止。
以上的限制,只是对于直接查询才有效,对于递归查询则不生效。
2、DNS server启动进程和配置进程
对DNS server启动进程和配置也可以进行一些安全设置。
(1)named进程启动选项
-r:关闭域名服务器的递归查询功能(缺省为打开)。
-u和-g:定义域名服务器运行时所使用的UID和GID。用于丢弃启动时所需要的root特权。
-t:指定当服务器进程处理完命令行参数后所要chroot()的目录。
(2)配置文件中的安全选项
将安全事件写到文件中,同时还保持原有的日志模式,可以添加以下内容:
logging{
channel my_security_channel{
file “my_security_file.log”versions 3size 20m;
severity info;
};
category security{
my_security_channel;
default_syslog; default_debug;};
}
其中my_security_channel是用户自定义的channel名字,my_security_file.log是安全事件日志文件,缺省时没有大小限制。
在options中增加自定义的BIND版本信息,可隐藏BIND服务器的真正版本号。
version “Who knows?”;
//version 9.9.9;
要禁止DNS域名递归查询,在options中增加:
recursion no;
fetch-glue no;
要增加出站查询请求的ID值的随机性,在options中增加:
use-id-pool yes;
注意:这会使服务器多占用超过128KB内存,缺省值为no。
分页
3、关于DNS客户端查询超时的解决办法
DNS客户端的配置文件之一是/etc/resolv.conf,负责告诉客户端当需要作DNS查询时,先查哪个域,后查哪个域。发送查询请求时,发送给哪一台服务器。它通常的形式是:
Searchdomainldomain2
NameserverlP of first server
NameserverlP of second server
这两个Nameserver之间的关系是:当第一台server不响应时,查询第二台server。这样就有一个问题:等多长时间算不响应?缺省情况下当第一台server持续7 5妙不响应,系统才会转向第二台server。怎样能缩短时间?
resolv.conf文件还支持另外的选项,形式是:
Options optionlist
这里的optionlist包括下面几种与响应时间有关的选项:
(1)retry:n,retry用来设置尝试连接服务器的次数,n缺省值为4。retry:O和retry:1等效。
(2)retrans:n,retrans设置请求timeout时间的基准值,n的缺省值为5。每次请求的timeout时间会在上一次的基础上增加一倍。在缺省情况下,75秒之后客户端会放弃该服务器,转向文件中规定的另一个服务器。
如果希望resolv.conf文件中规定的server在较短的时间内不响应,就转向另一台server发出查询请求,可以在该文件中增加以下两行:
optionsretry:3
options retrans:2
这样设置的结果是:服务器14妙内不响应,客户端会转向另一台DNS服务器发送查询请求。
4、结论
本文论述了DNS的一些安全措施,DNS的安全至关重要,所以要不断的更新其版本及采取响应的安全措施,以保证服务正常。
如果觉得《如何修复dns服务器超时 DNS服务器安全及解析超时问题的解决》对你有帮助,请点赞、收藏,并留下你的观点哦!