IT运维管理,创造商业价值!
中国IT运维网首页 | 资讯中心 | 运维管理 | 信息安全 | CIO视界 | 云计算 | 最佳案例 | 运维资源 | 专题策划 | 知识库 | 论坛

Solaris 10下DNS服务器安全攻略(11)

2008年04月18日
IT168/华江

IN NS cjh.com.

  IN MX 5 cjh.com.

  www IN A 192.168.9.9

  

  (16)创建named.192.168.9文件。

  # vi named.192.168.9

  $TTL 86400

  @ IN SOA cjh.com. root.cjh.com.(

  20031001;

  7200;

  3600;

  43200;

  86400);

  @ IN NS cjh.com.

  9 IN PTR dns.cjh.com.

(17)在Solaris 10操作系统中启动DNS服务。

  #svcadm enable /network/dns/server

  查看:

  # svcs -l /network/dns/server

  fmri svc:/network/dns/server:default

  name Internet domain name server (DNS)

  enabled true

  state online

  next_state none

  restarter svc:/system/svc/restarter:default

  contract_id 25

  dependency require_all/none svc:/system/filesystem/minimal (online)

  dependency require_all/none file://localhost/etc/named.conf (online)

  dependency require_any/error svc:/network/loopback (online)

  dependency optional_all/error svc:/network/physical (online)

(18)测试DNS反向解析是否成功。

  # host 192.168.9.9

  9.9.168.192.in-addr.arpa domain name pointer dns.cjh.com.

  (19)测试DNS解析是否成功。

  # nslookup

  > www.cjh.com

  Server: 192.168.9.9

  Address: 192.168.9.9#53

  Name: www.cjh.com

  Address: 192.168.9.9

  >

  出现上面的提示,说明DNS服务已经启动成功。

  应用说明:

  Solaris 10 基本上就已经安装好 Bind 9 DNS Server,所以,跟本就不存在安装的问题。但为什么还要写这编文章呢?在某程度上跟和 Solaris 10 的新功能 Service Management Facility (SMF)有关,而且,这编文章也有助于对 SMF的深入了解。

Solaris 10 以前版本的DNS服务器启动和停止方法是:

  启动 DNS Server 命令:

  /etc/init.d/named start

  停止 DNS Server命令:

  /etc/init.d/named

  Solaris 10版本的DNS服务器启动和停止方法是:

  启动 DNS Server 命令:

  svcadm enable dns/server 或 svcadm enable dns/server:default

  停止 DNS Server命令:

  stop svcadm disable dns/server 或 svcadm disable dns/server:default

  二、让DNS 服务器在“牢监”中运行

  所谓“监牢”就是指通过chroot机制来更改某个软件运行时所能看到的根目录,即将某软件运行限制在指定目录中,保证该软件只能对该目录及其子目录的文件有所动作,从而保证整个服务器的安全。这样即使出现被破坏或被侵入,所受的损伤也较小。将软件chroot化的一个问题是该软件运行时需要的所有程序、配置文件和库文件都必须事先安装到chroot目录中,通常称这个目录为chroot jail(chroot“监牢”)。如果要在“监牢”中运行dns,而事实上根本看不到文件系统中那个真正的目录。因此需要事先创建目录,并将dns文件复制到其中。图-1中的例子,说明了 牢监 中的环境状态

  

  图 1 “监牢”环境示意图

  以下是具体步骤:为 DNS Server 建立监牢目录

  建立 /chroot/dns 目录

  # mkdir /chroot/dns

  建立一个空壳目录架构

  # cd /chroot/dns

  # mkdir -p etc/named var/run

  复制 /etc/named.conf 到监牢中

  # cp /etc/named.conf /chroot/dns/etc/named.conf

  复制 /etc/named 目录中的文件到 Jail 监牢中

  # cp /etc/named/* /chroot/dns/etc/named/

  更改 /chroot/dns/var/run 目录的权限

  # chmod 770 /chroot/dns/var/run

  # chown noaccess:root /chroot/dns/var/run

  为 Solaris 10 建立一个新服务

  原本的 DNS Server Service 名称为 dns/server。

  建立新服务 后,以后要启动旧版本的 DNS服务时,不能只启动 dns/server,而要改为 dns/server:default。

  新 DNS Server Chroot 服务 名称为, dns/server:chroot

  开始建立新 服务

  # cd /var/svc/manifest/network/dns

  # cp server.xml server-chroot.xml

  编辑 server-chroot.xml寻找

  instance name='default' enabled='false'

  改为

  instance name='chroot' enabled='false' 

  寻找

  exec='/usr/sbin/named'

  改为

  exec='/usr/sbin/named -t /chroot/dns'

  寻找

  privileges='basic,!proc_session,!proc_info,!file_link_any,net_privaddr,file_dac_read,file_dac_search,sys_resource' />

  改为

  privileges='basic,!proc_session,!proc_info,!file_link_any,net_privaddr,priv_proc_chroot,priv_file_dac_read,file_dac_search,sys_resource' />

  寻找

  user='root'

  改为

  user='noaccess'

  保存文件退出。

  停止原来的 DNS服务

  # svcadm disable dns/server:default

  加入新的 DNS Server Chroot service

  # svccfg import server-chroot.xml

  启动 chroot DNS service

  # svcadm enable dns/server:chroot

  # svcs dns/serverSTATE STIME FMRI

  disabled 6:21:03 svc:/network/dns/server:default

  online 6:27:01 svc:/network/dns/server:chroot

  Bind 9 DNS Server 现在已经能够在“监牢” 环境中运行

  三、在Solaris环境下,DNS客户端程序的配置非常容易,它只需要几个简单的步骤就可以完成。

  (1)除了对/etc/inet/hosts文件或NIS/NIS+的主机名映射或者主机名(hostnames)表文件进行检查以外,还必须配置命名服务开关文件(/etc/nsswitch.conf),指定域名解析服务向DNS进行查询。为了确保DNS的正常工作,在/etc/nsswitch.conf文件中必须包括下行的内容:

  hosts: files dns

  这行的意思是如果需要命名服务,首先查找/etc/inet/hosts文件,如果找不到,就到DNS中去查找。

  (2)我们需要将主机的本地域名输入到/etc/defaultdomain文件中。例如,主机www.cjh.net的/etc/defaultdomain文件应有如下的输入项:

  cjh.net

  (3)我们需要在/etc/resolv.conf文件中包含本地域名、本地基本DNS服务器的IP地址,以及辅助的DNS服务器的IP地址。这意味着本地DNS服务器出现故障,我们仍可以通过辅助的NDS服务器来提供最新的外部主机信息,而不必依赖/etc/hosts文件中的数据来解析本地地址。例如,/etc/resolv.conf文件的内容可能是这样:

  domain cjh.net

  nameserver 202.104.0.20

  nameserver 53.58.31.2

  它表明本地域是cjh.net,本地域有两台基本DNS服务器。其中,202.104.0.20为主DNS服务器,53.58.31.2为辅助DNS服务器。

  (4)下面我们可以启动DNS客户端软件了。

  #svcadm enable svc:/network/dns/client

  (5)使用nslookup命令来检查DNS客户端配置是否正确。

  #nslookup

  > www. cjh.net四、升级Solaris 10自带BIND 9.2.4版本到9.3.2的步骤

  如果您正在使用Solaris 10自带的BIND 9.2.4版本,升级步骤如下:

  首先编译源代码同上。

  # cd /usr/sbin

  # mv named named.orig

  # mv named-checkconf named-checkconf.orig

  # mv named-checkzone named-checkzone.orig

  # cp /usr/local/sbin/named .

  # cp /usr/local/sbin/named-checkconf .

  # cp /usr/local/sbin/named-checkzone .

  

  检查新安装的 BIND 9 DNS Server 版本 命令如下:

  # /usr/sbin/named -v

  BIND 9.3.2

  从新启动 Chroot Jail 了的 DNS 服务

  # svcadm disable dns/server:chroot

  # svcadm enable dns/server:chroot

  # svcs dns/serverSTATE STIME FMRI

  disabled 6:21:03 svc:/network/dns/server:default

  online 6:27:01 svc:/network/dns/server:chroot

  # ps -elf | grep named

  noaccess 133 1 0 20:31:29 ? 0:00 /usr/sbin/named -t /chroot/dns

  新的 Bind 9 DNS Server Version 9.3.2 现在已经安装好了。

  总结:本文介绍了如下内容:

   怎样启动和停止 Bind 9 DNS Server?

   如何设定 Bind 9 DNS Server?

   什么是监牢?

   Bind 9 DNS Server 怎样使用 Chroot Jail (保安监牢)功能来防止入侵者进入系统?

   怎样建立新的 SMF Service 来启动 Chroot Jail 后的 DNS Server?

   DNS 客户端设置

   如何把 Solaris 10 内的 Bind 9 DNS Server升级到最新版本?

  正如其他的Internet协议一样,DNS由几个Internet的RFC规范(最初是RFC 882、883和973)。不过要理解DNS服务器的工作原理最好的标准还是RFC 1035。你可以在Internet上的好几个地方找到RFC 1035,比如在http://www.crynwr.com/crynwr/rfc1035/就有一个不错的HTML版本。正如你可能想到的那样,RFC具有相当的技术性,你不大可能会对超出DNS服务器一般操作的细节感兴趣。但是如果你想做个服务器管理员,那么就记住RFC吧。在Internet的命名服务中最常用的恐怕就是网络域名服务(DNS)了,所以Solaris 10操作系统主要应用是BIND 9 DNS服务器。本文介绍如何设置和管理DNS服务器。

发表评论请到:http://bbs.cnitom.com

相关阅读

图文热点

智能布线系统案例及综合布线发展趋势
智能布线系统案例及综合布线发展趋势前言 目前,针对超大规模的和超高层的建筑中的综合布线系统,我们如何设计,如何...
安全课堂:Linux系统下防火墙设置方法介绍
安全课堂:Linux系统下防火墙设置方法介绍修改防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,如果要开放哪个端口...

本类热点