Solaris10下DNS服务器安全攻略 |
发布时间: 2012/8/13 9:38:50 |
DNS服务器是为了网络上的主机提供域名解析的服务的服务器。Solaris10虽然自带了BIND9.2.4版本,但它并不是Sun公司的产品,InternetSoftwareConsortium负责BIND软件的更新,我们应当到www.isc.org网站下载最新版本的BIND软件,因为新的版本的软件可以防止某些漏洞。
下面我们来介绍如何配置DNS服务器。 一、从源代码安装配置DNS服务器 (1)为了下载最新的BIND软件,我们到http://www.isc.org/products/BIND/下载,本例子下载的是bind-9.3.2.tar.gz。 (2)将下载的软件放到系统中的某个目录下,本例中放在usr/local/src目录下。 #cdusr/local/src #wgethttp://ftp.isc.org/isc/bind9/9.3.2/bind-9.3.2.tar.gz #cpbind-9.3.2.tar.gz.. #cd.. #gzip-dbind-9.3.2.tar.gz #tar-vxfbind-9.3.2.tar #rmbind-9.3.2.tar #cdbind-9.3.2 #./configure #make #makeinstall #cd/usr/sbin (3)生成的可执行文件位于/usr/local/sbin目录下。最重要的可执行文件为named和rndc。 #/usr/local/sbin/rndc-confgen>/etc/rndc.conf #cat/etc/rndc.conf 输出为: #Startofrndc.conf key"rndc-key"...{ algorithmhmac-md5; secret"y9xvvfQjdWv9f/Fo7wquBg=="; }; options...{ default-key"rndc-key"; default-server127.0.0.1; default-port953; }; #Endofrndc.conf #Usewiththefollowinginnamed.conf,adjustingtheallowlistasneeded: #key"rndc-key"...{ #algorithmhmac-md5; #secret"y9xvvfQjdWv9f/Fo7wquBg=="; #}; #controls...{ #inet127.0.0.1port953 #allow...{127.0.0.1;}keys...{"rndc-key";}; #}; #Endofnamed.conf (9)创建rndc.key文件。将rndc.conf文件中注释部分拷贝生成如下文件: #vi/etc/rndc.key key"rndc-key"...{ algorithmhmac-md5; secret"y9xvvfQjdWv9f/Fo7wquBg=="; }; controls...{ inet127.0.0.1port953\ allow...{127.0.0.1;}keys...{"rndc-key";};\ }; 检查rndc是否正常工作: #/usr/local/sbin/named-g Jan1111:56:45.075startingBIND9.2.3-g Jan1111:56:45.076using1CPU Jan1111:56:45.079loadingconfigurationfrom'/etc/named.conf' ...... #/usr/local/sbin/rndcstatus (10)编辑named.conf配置文件。 #vi/etc/named.conf 第一段的内容如下: //generatedbynamed-bootconf.pl options...{ directory"/var/named"; /**//* *Ifthereisafirewallbetweenyouandnameserversyouwant *totalkto,youmightneedtouncommentthequery-source *directivebelow.PreviousversionsofBINDalwaysasked *portbydefault. */ //query-sourceaddress*port53; }; 上面的部分是在这个文件开头的options设定的,首先用directory指定了named的资源记录(RR-ResourceRecord文件目录所在位置为:“/var/named”。也就是说,它会到这个目录下面寻找DNS记录文件)。所以,我们在后面部分所指定的文件,就无须使用绝对路径了,但它们一定要放在这个目录下面。 那一段被注释文字,如果你仔细阅读一下,它大致意思是如果你要设定的DNS服务器和client之间隔着防火墙的话,要将“//query-sourceaddress*port53;”前面的注解符号“//”拿掉(当然,也必须要设定好你的火墙)。不过,这只对早期的版本有影响,而在bind8.1之后则无须担心这个设定。接下来再让我们看下一段句子: // //acachingonlynameserverconfig // zone"."IN...{ typehint; file"named.root"; }; 通过这几行语句,我们为named定义了DNS系统中的根区域“.”(rootzone)的设定,同时它是一个internet(IN)的区域类别。这里还指定了rootzone的服务器种类(type)为“hint”(也只有这个zone会使用这样的种类)。最后,用file指定这个区域记录文件为:“named.root”,也就是“/var/named/named.root”文件。在rootzone后面,你应该还会看到如下这两段: zone"localhost"IN...{ typemaster; file"localhost.zone"; allow-update...{none;}; }; zone"0.0.127.in-addr.arpa"IN...{ typemaster; file"named.local"; allow-update...{none;}; }; 这里是定义出关于本机名称的DNS解释:第一个zone是localhost的正解zone,其服务器种类是master,记录档名称是localhost.zone(在/var/named目录下面),但这个zone不允许客户主机(或服务器)自行更新DNS的记录。而第二个zone则是本机区域的反向解析zone。 再看下面的两段,这两段是cjh.com域的正向和反向解析。 zone"cjh.com"IN...{//新加cjh.com的域 typemaster; file"cjh.com.zone"; allow-update...{none;}; }; zone"9.168.192.in-addr.arpa"IN...{//新加域的反向解析 typemaster; file"named.192.168.9"; allow-update...{none;}; }; 最后一行是bind9.x版本的新功能,用来进行区域转移或DNS更新所用的加密处理。 include"/etc/rndc.key"; (11)创建/var/named目录。 #mkdir/var/named #cd/var/named (12)匿名登录到ftp站点FTP.RS.INTERNIC.NET,获取/domain目录下的named.root文件,将该文件置于/var/named目录下。 本文出自:亿恩科技【www.enkj.com】 |