亚洲成精品动漫久久精久,九九在线精品视频播放,黄色成人免费观看,三级成人影院,久碰久,四虎成人欧美精品在永久在线

掃一掃
關(guān)注微信公眾號

Solaris 10下DNS服務(wù)器安全攻略
2008-04-18   IT168

DNS服務(wù)器是為了網(wǎng)絡(luò)上的主機(jī)提供域名解析的服務(wù)的服務(wù)器。Solaris 10雖然自帶了BIND 9.2.4版本,但它并不是Sun公司的產(chǎn)品,Internet Software Consortium負(fù)責(zé)BIND軟件的更新,我們應(yīng)當(dāng)?shù)絯ww.isc.org 網(wǎng)站下載最新版本的BIND軟件,因為新的版本的軟件可以防止某些漏洞。

  下面我們來介紹如何配置DNS服務(wù)器。

  一、從源代碼安裝配置DNS服務(wù)器

  (1)為了下載最新的BIND軟件,我們到http://www.isc.org/products/BIND/ 下載,本例子下載的是bind-9.3.2.tar.gz。

  (2)將下載的軟件放到系統(tǒng)中的某個目錄下,本例中放在usr/local/src目錄下。

  #cd usr/local/src

  # wget http://ftp.isc.org/isc/bind9/9.3.2/bind-9.3.2.tar.gz

  # cp bind-9.3.2.tar.gz ..

  # cd ..

  # gzip -d bind-9.3.2.tar.gz

  # tar -vxf bind-9.3.2.tar

  # rm bind-9.3.2.tar

  # cd bind-9.3.2

  # ./configure

  # make

  # make install

  # cd /usr/sbin

#p#

(3)生成的可執(zhí)行文件位于/usr/local/sbin目錄下。最重要的可執(zhí)行文件為named和rndc。

  # /usr/local/sbin/rndc-confgen > /etc/rndc.conf

  # cat /etc/rndc.conf

  輸出為:

  # Start of rndc.conf

  key "rndc-key" ...{

  algorithm hmac-md5;

  secret "y9xvvfQjdWv9f/Fo7wquBg==";

  };

  options ...{

  default-key "rndc-key";

  default-server 127.0.0.1;

  default-port 953;

  };

#p#

# End of rndc.conf

  # Use with the following in named.conf, adjusting the allow list as needed:

  # key "rndc-key" ...{

  # algorithm hmac-md5;

  # secret "y9xvvfQjdWv9f/Fo7wquBg==";

  # };

  # controls ...{

  # inet 127.0.0.1 port 953

  # allow ...{ 127.0.0.1; } keys ...{ "rndc-key"; };

  # };

  # End of named.conf

  (9)創(chuàng)建rndc.key文件。將rndc.conf文件中注釋部分拷貝生成如下文件:

  # vi /etc/rndc.key

  key "rndc-key" ...{

  algorithm hmac-md5;

  secret "y9xvvfQjdWv9f/Fo7wquBg==";

  };

#p#

controls ...{

  inet 127.0.0.1 port 953

  allow ...{ 127.0.0.1; } keys ...{ "rndc-key"; };

  };

  檢查rndc是否正常工作:

  #/usr/local/sbin/named -g

  Jan 11 11:56:45.075 starting BIND 9.2.3 -g

  Jan 11 11:56:45.076 using 1 CPU

  Jan 11 11:56:45.079 loading configuration from '/etc/named.conf'

  ......

  #/usr/local/sbin/rndc status

  (10)編輯named.conf配置文件。

  # vi /etc/named.conf

  第一段的內(nèi)容如下:

  // generated by named-bootconf.pl

  options ...{

  directory "/var/named";

  /**//*

#p#

* If there is a firewall between you and nameservers you want

  * to talk to, you might need to uncomment the query-source

  * directive below. Previous versions of BIND always asked

  * port by default.

  */

  // query-source address * port 53;

  };

  上面的部分是在這個文件開頭的options設(shè)定的,首先用directory指定了named的資源記錄(RR - Resource Record文件目錄所在位置為:“/var/named”。也就是說,它會到這個目錄下面尋找DNS記錄文件)。所以,我們在后面部分所指定的文件,就無須使用絕對路徑了,但它們一定要放在這個目錄下面。

  那一段被注釋文字,如果你仔細(xì)閱讀一下,它大致意思是如果你要設(shè)定的 DNS 服務(wù)器和client之間隔著防火墻的話,要將“//query-source address * port 53;”前面的注解符號“//”拿掉(當(dāng)然,也必須要設(shè)定好你的火墻)。不過,這只對早期的版本有影響,而在bind 8.1之后則無須擔(dān)心這個設(shè)定。接下來再讓我們看下一段句子:

  //

  // a caching only nameserver config

  //

  zone "." IN ...{

  type hint;

  file "named.root";

  };

#p#

通過這幾行語句,我們?yōu)閚amed定義了DNS系統(tǒng)中的根區(qū)域“.”(root zone)的設(shè)定,同時它是一個internet(IN)的區(qū)域類別。這里還指定了root zone的服務(wù)器種類(type)為“hint”(也只有這個zone會使用這樣的種類)。最后,用file指定這個區(qū)域記錄文件為:“named.root”,也就是“/var/named/named.root”文件。在root zone后面,你應(yīng)該還會看到如下這兩段:

  zone "localhost" IN ...{

  type master;

  file "localhost.zone";

  allow-update ...{ none; };

  };

  zone "0.0.127.in-addr.arpa" IN ...{

  type master;

  file "named.local";

  allow-update ...{ none; };

  };

  這里是定義出關(guān)于本機(jī)名稱的DNS解釋:第一個zone是localhost的正解zone,其服務(wù)器種類是master,記錄檔名稱是localhost.zone(在/var/named目錄下面),但這個zone不允許客戶主機(jī)(或服務(wù)器)自行更新DNS的記錄。而第二個zone則是本機(jī)區(qū)域的反向解析zone。

  再看下面的兩段,這兩段是cjh.com域的正向和反向解析。

  zone "cjh.com" IN ...{ //新加cjh.com的域

  type master;

  file "cjh.com.zone";

  allow-update ...{ none; };

  };

#p#

zone "9.168.192.in-addr.arpa" IN ...{ //新加域的反向解析

  type master;

  file "named.192.168.9";

  allow-update ...{ none; };

  };

  最后一行是bind 9.x版本的新功能,用來進(jìn)行區(qū)域轉(zhuǎn)移或DNS更新所用的加密處理。

  include "/etc/rndc.key";

  (11)創(chuàng)建/var/named目錄。

  # mkdir /var/named

  # cd /var/named

  (12)匿名登錄到ftp站點FTP.RS.INTERNIC.NET,獲取/domain目錄下的named.root文件,將該文件置于/var/named目錄下。

  (13)創(chuàng)建localhost.zone文件。

  # vi /var/named/localhost.zone

  $TTL 86400

  $ORIGIN localhost.

  @ 1D IN SOA @ root (

  42 ; serial (d. adams)

#p#

3H ; refresh

  15M ; retry

  1W ; expiry

  1D ) ; minimum

  1D IN NS @

  1D IN A 127.0.0.1

  (14)創(chuàng)建named.local文件。

  # vi named.local

  $TTL 86400

  @ IN SOA localhost. root.localhost. (

  2005022700 ; Serial

  28800 ; Refresh

  14400 ; Retry

  3600000 ; Expire

  86400 ) ; Minimum

  IN NS localhost.

  1 IN PTR localhost.

#p#

[root@Linux etc]# mkdir /var/named

  //進(jìn)入/var/named

  [root@Linux etc]# cd /var/named

  //建立localhost.zone文件

  [root@Linux named]#vi localhost.zone

  $TTL 86400

  $ORIGIN localhost.

  @ 1D IN SOA @ root (

  42 ; serial (d. adams)

  3H ; refresh

  15M ; retry

  1W ; expiry

  1D ) ; minimum

  1D IN NS @

  1D IN A 127.0.0.1

  //建立named.local文件

  [root@Linux named]#vi named.local

#p#

$TTL 86400

  @ IN SOA localhost. root.localhost. (

  1997022700 ; Serial

  28800 ; Refresh

  14400 ; Retry

  3600000 61.177.252 ; Expire

  86400 ) ; Minimum

  IN NS localhost.

  1 IN PTR localhost.

  

  (15)創(chuàng)建cjh.com.zone文件。

  # vi cjh.zone

  $TTL 1D

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

  

  1053891162

  3H

  15M

  1W

  1D )

#p#

IN NS cjh.com.

  IN MX 5 cjh.com.

  www IN A 192.168.9.9

  

  (16)創(chuàng)建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操作系統(tǒng)中啟動DNS服務(wù)。

  #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

  >

  出現(xiàn)上面的提示,說明DNS服務(wù)已經(jīng)啟動成功。

  應(yīng)用說明:

  Solaris 10 基本上就已經(jīng)安裝好 Bind 9 DNS Server,所以,跟本就不存在安裝的問題。但為什么還要寫這編文章呢?在某程度上跟和 Solaris 10 的新功能 Service Management Facility (SMF)有關(guān),而且,這編文章也有助于對 SMF的深入了解。

Solaris 10 以前版本的DNS服務(wù)器啟動和停止方法是:

  啟動 DNS Server 命令:

  /etc/init.d/named start

  停止 DNS Server命令:

  /etc/init.d/named

  Solaris 10版本的DNS服務(wù)器啟動和停止方法是:

  啟動 DNS Server 命令:

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

  停止 DNS Server命令:

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

  二、讓DNS 服務(wù)器在“牢監(jiān)”中運(yùn)行

  所謂“監(jiān)牢”就是指通過chroot機(jī)制來更改某個軟件運(yùn)行時所能看到的根目錄,即將某軟件運(yùn)行限制在指定目錄中,保證該軟件只能對該目錄及其子目錄的文件有所動作,從而保證整個服務(wù)器的安全。這樣即使出現(xiàn)被破壞或被侵入,所受的損傷也較小。將軟件chroot化的一個問題是該軟件運(yùn)行時需要的所有程序、配置文件和庫文件都必須事先安裝到chroot目錄中,通常稱這個目錄為chroot jail(chroot“監(jiān)牢”)。如果要在“監(jiān)牢”中運(yùn)行dns,而事實上根本看不到文件系統(tǒng)中那個真正的目錄。因此需要事先創(chuàng)建目錄,并將dns文件復(fù)制到其中。圖-1中的例子,說明了 牢監(jiān) 中的環(huán)境狀態(tài)

  

  圖 1 “監(jiān)牢”環(huán)境示意圖

  以下是具體步驟:為 DNS Server 建立監(jiān)牢目錄

  建立 /chroot/dns 目錄

  # mkdir /chroot/dns

  建立一個空殼目錄架構(gòu)

  # cd /chroot/dns

  # mkdir -p etc/named var/run

  復(fù)制 /etc/named.conf 到監(jiān)牢中

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

  復(fù)制 /etc/named 目錄中的文件到 Jail 監(jiān)牢中

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

  更改 /chroot/dns/var/run 目錄的權(quán)限

  # chmod 770 /chroot/dns/var/run

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

  為 Solaris 10 建立一個新服務(wù)

  原本的 DNS Server Service 名稱為 dns/server。

  建立新服務(wù) 后,以后要啟動舊版本的 DNS服務(wù)時,不能只啟動 dns/server,而要改為 dns/server:default。

  新 DNS Server Chroot 服務(wù) 名稱為, dns/server:chroot

  開始建立新 服務(wù)

  # 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服務(wù)

  # 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 現(xiàn)在已經(jīng)能夠在“監(jiān)牢” 環(huán)境中運(yùn)行

  三、在Solaris環(huán)境下,DNS客戶端程序的配置非常容易,它只需要幾個簡單的步驟就可以完成。

  (1)除了對/etc/inet/hosts文件或NIS/NIS+的主機(jī)名映射或者主機(jī)名(hostnames)表文件進(jìn)行檢查以外,還必須配置命名服務(wù)開關(guān)文件(/etc/nsswitch.conf),指定域名解析服務(wù)向DNS進(jìn)行查詢。為了確保DNS的正常工作,在/etc/nsswitch.conf文件中必須包括下行的內(nèi)容:

  hosts: files dns

  這行的意思是如果需要命名服務(wù),首先查找/etc/inet/hosts文件,如果找不到,就到DNS中去查找。

  (2)我們需要將主機(jī)的本地域名輸入到/etc/defaultdomain文件中。例如,主機(jī)www.cjh.net的/etc/defaultdomain文件應(yīng)有如下的輸入項:

  cjh.net

  (3)我們需要在/etc/resolv.conf文件中包含本地域名、本地基本DNS服務(wù)器的IP地址,以及輔助的DNS服務(wù)器的IP地址。這意味著本地DNS服務(wù)器出現(xiàn)故障,我們?nèi)钥梢酝ㄟ^輔助的NDS服務(wù)器來提供最新的外部主機(jī)信息,而不必依賴/etc/hosts文件中的數(shù)據(jù)來解析本地地址。例如,/etc/resolv.conf文件的內(nèi)容可能是這樣:

  domain cjh.net

  nameserver 202.104.0.20

  nameserver 53.58.31.2

  它表明本地域是cjh.net,本地域有兩臺基本DNS服務(wù)器。其中,202.104.0.20為主DNS服務(wù)器,53.58.31.2為輔助DNS服務(wù)器。

  (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 服務(wù)

  # 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 現(xiàn)在已經(jīng)安裝好了。

  總結(jié):本文介紹了如下內(nèi)容:

   怎樣啟動和停止 Bind 9 DNS Server?

   如何設(shè)定 Bind 9 DNS Server?

   什么是監(jiān)牢?

   Bind 9 DNS Server 怎樣使用 Chroot Jail (保安監(jiān)牢)功能來防止入侵者進(jìn)入系統(tǒng)?

   怎樣建立新的 SMF Service 來啟動 Chroot Jail 后的 DNS Server?

   DNS 客戶端設(shè)置

   如何把 Solaris 10 內(nèi)的 Bind 9 DNS Server升級到最新版本?

  正如其他的Internet協(xié)議一樣,DNS由幾個Internet的RFC規(guī)范(最初是RFC 882、883和973)。不過要理解DNS服務(wù)器的工作原理最好的標(biāo)準(zhǔn)還是RFC 1035。你可以在Internet上的好幾個地方找到RFC 1035,比如在http://www.crynwr.com/crynwr/rfc1035/就有一個不錯的HTML版本。正如你可能想到的那樣,RFC具有相當(dāng)?shù)募夹g(shù)性,你不大可能會對超出DNS服務(wù)器一般操作的細(xì)節(jié)感興趣。但是如果你想做個服務(wù)器管理員,那么就記住RFC吧。在Internet的命名服務(wù)中最常用的恐怕就是網(wǎng)絡(luò)域名服務(wù)(DNS)了,所以Solaris 10操作系統(tǒng)主要應(yīng)用是BIND 9 DNS服務(wù)器。本文介紹如何設(shè)置和管理DNS服務(wù)器。

熱詞搜索:

上一篇:Windows Server 2008有哪些改進(jìn)功能(組圖)
下一篇:網(wǎng)絡(luò)防火墻:全方位維護(hù)網(wǎng)絡(luò)安全不馬虎

分享到: 收藏