首页 > 基础设施 > 正文

DNS服务器安全及解析超时问题的解决

2012-12-03 16:48:36  来源:互联网

摘要:DNS作为一种在Internet广泛使用的域名解析系统,经常会受到一些非授权的访问。DNS是一种基于BIND的服务,直到基于BIND 8.1.2版本,DNS服务才在安全方面做了相应的限制。
关键词: DNS

    引言


    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“central.sun.com”{


    allow-query{“training.net”;};


    };


    allow-query中可以是网段、主机或是域。如果是网段,必须写成网络号加掩码的形式,否则会出错。如果是主机,可以写IP地址,不用加掩码。


    (2)对同步的限制


    ①限制某网段对所有域的同步。


    options{


    allow-transfer{ 128. 50.0. 0/24;};


    };


    ②所有主机对特定域的同步作限制。


    zone“central.sun.com”{


    aLlow-transfer{none;};


    };


    以上限制是禁止所有主机对本域的数据同步。option和zone所规定的限制是顺序生效的。若在option选项为none,则全部禁止,下面zone中的限制将会被忽略;若在option选项中为允许,在zone中为禁止,则针对这一特定域的访问被禁止。


    以上的限制,只是对于直接查询才有效,对于递归查询则不生效。


[page]    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。


[page]    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的安全至关重要,所以要不断的更新其版本及采取响应的安全措施,以保证服务正常。


第三十四届CIO班招生
国际CIO认证培训
首席数据官(CDO)认证培训
责编:fanwei

免责声明:本网站(http://www.ciotimes.com/)内容主要来自原创、合作媒体供稿和第三方投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。