solaris安装和设定bind

怎���雍屯V� Bind 9 DNS Server

在Solaris 10 版本,只要需要建立好 DNS Server 的�O定�n /etc/named.conf ,�男��� Solaris 10,Bind 9 DNS Server 就��自���印�

��雍屯V�DNS Server

  �f版本 Solaris Solaris 10

��� DNS Server

/etc/init.d/named start

svcadm enable dns/serversvcadm enable dns/server:default

停止 DNS Server /etc/init.d/named stop svcadm disable dns/server svcadm disable dns/server:default

 如何�O定 Bind 9 DNS Server

�O定 Bind 9 DNS Server的第一��工作,就是建立 /etc/named.conf �@��文件�n。

1. 在建立之前,先做一些��浜图僭O:

  IP Address Domain Name
Domain Name 202.134.130.131 tophk.net
Gateway / Router IP Address 202.134.130.129 gw1.tophk.net
DNS Server IP Address 202.134.130.130 ns1.tophk.net
Web Server 202.134.130.131 www.tophk.net
FTP Server 202.134.130.131 ftp.tophk.net
MX Mail Server 202.134.130.132 mail.tophk.net
SMTP Server 202.134.130.132 smtp.tophk.net
POP Server 202.134.130.133 pop.tophk.net

2. �� /etc/named.conf

options {directory "/etc/named"; pid-file "/var/run/named.pid";};

controls {/* empty */};

// Root server hints
zone "." {type hint; file "root.hint";};

// Provide a reverse mapping for the loopback address 127.0.0.1
zone "0.0.127.in-addr.arpa" {type master; file "localhost.rev"; notify no;};

zone "tonhk.net"                     {type master; file "db.tophk";};

 options {directory "/etc/named"; pid-file "/var/run/named.pid";};

directory "/etc/named"

除了 /etc/named.conf 之外, �要建立一��目��o DNS Server 存放 每一��Domain 的���Y料。�@��例子�� /etc/named

建立 /etc/named 目�:

# mkdir /etc/named

pid-file "/var/run/named.pid"

DNS Server �\作的 process ID 存放在 /var/run/named.pid  

controls {/* empty */};

允�S任何人使用�@台 DNS Server 

zone "." {type hint; file "root.hint";};

Root Cache �n存放在 /etc/named/root.hint

root.hint 文件�却娣帕怂�有最��� DNS Server 的 IP 和�Y料,Bind 9 DNS Server ��向�@些 DNS Server 查� Internet �人�有 Domain Name 的�Y料。

建立和下�d root.hint �n:

# dig @a.root-servers.net . ns > /etc/named/root.hint

或自行�� /etc/named/root.hint �n:

$TTL 999999
.                       IN NS   A.ROOT-SERVERS.NET.
.                       IN NS   B.ROOT-SERVERS.NET.
.                       IN NS   C.ROOT-SERVERS.NET.
.                       IN NS   D.ROOT-SERVERS.NET.
.                       IN NS   E.ROOT-SERVERS.NET.
.                       IN NS   F.ROOT-SERVERS.NET.
.                       IN NS   G.ROOT-SERVERS.NET.
.                       IN NS   H.ROOT-SERVERS.NET.
.                       IN NS   I.ROOT-SERVERS.NET.
.                       IN NS   J.ROOT-SERVERS.NET.
.                       IN NS   K.ROOT-SERVERS.NET.
.                       IN NS   L.ROOT-SERVERS.NET.
.                       IN NS   M.ROOT-SERVERS.NET.

A.ROOT-SERVERS.NET.     IN A    198.41.0.4
B.ROOT-SERVERS.NET.     IN A    192.228.79.201
C.ROOT-SERVERS.NET.     IN A    192.33.4.12
D.ROOT-SERVERS.NET.     IN A    128.8.10.90
E.ROOT-SERVERS.NET.     IN A    192.203.230.10
F.ROOT-SERVERS.NET.     IN A    192.5.5.241
G.ROOT-SERVERS.NET.     IN A    192.112.36.4
H.ROOT-SERVERS.NET.     IN A    128.63.2.53
I.ROOT-SERVERS.NET.     IN A    192.36.148.17
J.ROOT-SERVERS.NET.     IN A    192.58.128.30
K.ROOT-SERVERS.NET.     IN A    193.0.14.129
L.ROOT-SERVERS.NET.     IN A    198.32.64.12
M.ROOT-SERVERS.NET.     IN A    202.12.27.33

zone "0.0.127.in-addr.arpa" {type master; file "localhost.rev"; notify no;};

127.0.0.x 的 reverse lookup 功能。

�@是用�矶��x 127.0.0.0 至127.0.0.255 的 Domain 是什�N, 但��T上, �@�����的 IP 是�]有什�N需要定�x的。

基本上,只有 127.0.0.1 有需要 reverse lookup。

127.0.0.x 的 reverse lookup �Y料�n存放在 /etc/named/localhost.rev �取�

�� /etc/named/localhost.rev �n:

$TTL 86400
@ IN SOA 0.0.127.in-addr.arpa.  info.tophk.net. (
                2       ; Serial
                3600    ; Refresh every hour
                900     ; Retry every 15 minutes
                3600000 ; Expire 1000 hours
                3600 )  ; Minimum 1 hour

                IN      NS      ns1.tophk.net.
                IN      NS      ns2.tophk.net.

1       600     IN      PTR     localhost

$TTL     86400

TTL (Time to Live) 。通知其他 DNS Server 不要 Cache (�捍�) ���@�� Zone record 的�Y料超�^ 24小�r (86400秒)。

@ IN SOA 0.0.127.in-addr.arpat. info.tophk.net. (

���的 Zone 名 0.0.127.in-addr.arpa.

Zone File ��人�� info.tophk.net.。 ( 即 [email protected] )

2     ; Serial

Zone file 版本�,每次改��热葆嵝枰�把版本��抵导哟螅�例如,把2改成3。Slave DNS Server ��根���@�� Master DNS Server 的 Zone file 版本���Q定是否需要更新 Slave DNS Server 的�Y料 ( 即 Zone Transfer )。

3600     ; Refresh every hour

通知 Slave DNS Server 每格一小�r (3600秒),�z查�@�� Zone file 版本�是否有更改 。

900      ; Retry every 15 minutes

通知 Slaver DNS Server ,如果�o法�M行�z查�@�� Master Zone file 版本�,要每格15分� (900秒) 再�一次。

3600000     ; Expire 1000 hours

通知 Slaver DNS Server ,如果在1000小�r�� (3600000秒) 也�o法�M行�z查�@�� Master Zone file 版本�,Slave DNS Server 就��自��h除�@�� Zone Copy。

3600  )      ; Minimum 1 hour

通知其它的 DNS server cache �@�PZone File �热�r, 最�L不���超�^�@��一��小�r (3600秒)。

IN NS      ns1.tophk.net.

第一台 DNS Server 名�Q�� ns1.tophk.net。

IN NS      ns2.tophk.net.

第二台 DNS Server 名�Q�� ns2.tophk.net。

1    600    IN PTR    localhost

127.0.0.1localhost。 

zone "tonhk.net" {type master; file "db.tophk";};

Doamain Name �� tophk.net

保存了 tophk.net ���Y料的 Zone file 位置,/etc/named/db.tophk

�� /etc/named/db.tophk �n:

$TTL 18000
@ IN SOA tophk.net. info.tophk.net. (
                        2005030104      ; Serial
                        36000   ; refresh: 10 hrs
                        1800    ; retry: 30 mins
                        3456000 ; expire: 40 days
                        36000   ; minimum: 10 hrs
)
                        IN      NS      ns1.tophk.net.
                        IN      NS      ns1.formulahk.com.
                        IN      A       202.134.130.131
                        IN      MX 10   mail.tophk.net.
						
ns1             600     IN      A       202.134.130.130
www             600     IN      CNAME   tophk.net.
ftp             600     IN      CNAME   tophk.net.
mail            600     IN      A       202.134.130.132
smtp            600     IN      CNAME   mail.tophk.net.
pop             600     IN      A       202.134.130.133
gw1             600     IN      A       202.134.130.129

$TTL     18000

TTL (Time to Live) 。通知其他 DNS Server 不要 Cache (�捍�) ���@�� Zone record 的�Y料超�^ 5小�r (18000秒)。

@ IN SOA tophk.net. info.tophk.net. (

���的 Zone 名 tophk.net.

Zone File ��人�� info.tophk.net.。 ( 即 [email protected] )

2005030104     ; Serial

Zone file 版本�,每次改��热葆嵝枰�把版本��抵导哟�3。Slave DNS Server ��根���@�� Master DNS Server 的 Zone file 版本���Q定是否需要更新 Slave DNS Server 的�Y料 ( 即 Zone Transfer )。

36000     ; Refresh 10 hour

通知 Slave DNS Server 每格10小�r (36000秒),�z查�@�� Zone file 版本�是否有更改 。

1800      ; Retry: 30 minutes

通知 Slaver DNS Server ,如果�o法�M行�z查�@�� Master Zone file 版本�,要每格15分� (900秒) 再�一次。

3456000     ; Expire 40 days

通知 Slaver DNS Server ,如果在40日�� (3456000秒) 也�o法�M行�z查�@�� Master Zone file 版本�,Slave DNS Server 就��自��h除�@�� Zone Copy。

36000  )      ; Minimum 10 hour

通知其它的 DNS server cache �@�PZone File �热�r, 最�L不���超�^�@��10��小�r (36000秒)。

IN NS      ns1.tophk.net.

tophk.net 的第一台 DNS Server 名�Q�� ns1.tophk.net。

IN NS      ns2.formulahk.com.

tophk.net 的第二台 DNS Server 名�Q�� ns1.formulahk.com。

IN A      202.134.130.131

tophk.net 的 IP Address �� 202.134.130.131

IN MX      10 mail.tophk.net.

tophk.net 的Mail Exchange Server �� mail.tophk.net , ��� mail.tophk.net 的 IP Address �� 202.134.105.132

ns1      600       IN A      202.134.130.130

ns1.tophk.net 的 IP Address �� 202.134.130.130

www      600      IN CNAME      tophk.net.

www.tophk.net 的���名�Q�� tophk.net,即 IP Address �� 202.134.130.131

ftp      600       IN CNAME      tophk.net.

ftp.tophk.net 的���名�Q�� tophk.net,即 IP Address �� 202.134.130.131

mail      600      IN A       202.134.130.132

mail.tophk.net 的 IP Address �� 202.134.130.132

smtp       600      IN CNAME      mail.tophk.net.

smtp.tophk.net 的���名�Q�� mail.tophk.net,即 IP Address �� 202.134.130.132

pop      600      IN A      202.134.130.133

pop.tophk.net 的 IP Address �� 202.134.130.133

gw1      600      IN A      202.134.130.129

gw1.tophk.net 的 IP Address �� 202.134.130.129。 

3. �O定完成後,可以�L���� Bind 9 DNS Server

# svcadm disable dns/server
# svcadm enable dns/server

 什�N是 Chroot Jail (保安�O牢)?

Chroot Jail ,就好像�橄到y建立一���O牢,把你需要�绦械某淌椒旁��O牢中�\行。

而�@���O牢什�N也�]有,�O牢�e面有的系�y程式,只�o�o足�蚰闼�需要�\行的程式使用。

一但因�槟愕某淌匠霈F了系�y漏洞,而使到Hacker可以透�^你的程式�M入系�y,那���r候,你都可以不用太��心Hacker��能在你的系�y中做到什�N。

因�椋�Chroot Jail 架���e有的程式很少,�B shell、ls 和 一些基本Unix ���有的指令和程式也�]有。Hacker��,那�e�能�蛐薷哪愕南到y和上�d�件。

就算你他��能�蜃鞒龊艽蟮钠�模�他��能所破�牡囊仓徊贿^是 Chroot Jail �O牢中的假系�y,他��不可以穿�^ Chroot Jail �O牢�M入真正的系�y。

而且,一般�绦�Chroot Jail �O牢中的程式�r,大部份都不��使用 root 的�嘞�磉\作,�M量使用一些�]意�x的使用者�嘞�磉\作 Chroot Jail �O牢中的程式。

所以,Hacker �� hack �M�磲幔��@得的�嘞藓�直是低到不能再低。 就是建立了�@�N什�N�Y源都不足的�h境,保安方面便提高了很多。

一����蔚睦�子,在 Chroot Jail 中�绦� Shell �h境

�e例�f明如何建立一�� Chroot Jail �O牢和在Chroot Jail中的情�r。

  1. �� Jail �O牢建立目�

    # mkdir -p /chroot/shell

     
  2. 建立一��空�つ夸�架��

    # cd /chroot/shell
    # mkdir -p usr/bin usr/lib usr/lib lib etc tmp dev bin

     
  3. �}制 /bin/sh 到 jail �O牢

    # cp /bin/sh /chroot/shell/bin/sh

     
  4. �}制 /bin/sh 所需的 libraries

    # cp /usr/lib/ld.so.1 /chroot/shell/usr/lib
    # cp /usr/lib/libc.so.1 /chroot/shell/usr/lib
    # cp /usr/lib/libdl.so.1 /chroot/shell/usr/lib
    # cp /lib/ld.so.1 /chroot/shell/lib/ld.so.1

     
  5. 再�z查 /chroot/bin/sh ,�需要使用什�N libraries。然後,把需要的 libraries �}制到 Jail �O牢�e

    # ldd /chroot/shell/bin/sh 
            libgen.so.1 =>   /usr/lib/libgen.so.1
            libsecdb.so.1 =>         /usr/lib/libsecdb.so.1
            libc.so.1 =>     /usr/lib/libc.so.1
            libnsl.so.1 =>   /usr/lib/libnsl.so.1
            libcmd.so.1 =>   /usr/lib/libcmd.so.1
            libmp.so.2 =>    /usr/lib/libmp.so.2
            libmd5.so.1 =>   /usr/lib/libmd5.so.1
            libscf.so.1 =>   /usr/lib/libscf.so.1
            libdoor.so.1 =>  /usr/lib/libdoor.so.1
            libuutil.so.1 =>         /usr/lib/libuutil.so.1
            libm.so.2 =>     /usr/lib/libm.so.2
    
    在�@�e我只�}制 libgen.so.1,因�椋�能用就算,而且,其它的 libraries 就算�]�}制也能�\作。��然,�@也要按照你的��人要求��Q定。

    # cp /usr/lib/libgen.so.1 /chroot/shell/usr/lib

     
  6. 只需要:以下指令就可以�_始�y� Jail �O牢

    # chroot /chroot/shell /bin/sh

    在�y�中,你�入 pwd 都�可以看到你�M入了那��目�。但 ls 功能就不能用了。因�� Jail �O牢�h境中�]有 ls �@��程式。

    �x�_ shell 系�y

    # exit

    �}制 ls 到 Jail �O牢中

    # cp /bin/ls /chroot/shell/bin/ls
    # cp /bin/ls /chroot/shell/usr/bin/ls

    再�M入 Shell 的 Jail �O牢�e,���你可以看到以下目�

    # chroot /chroot /bin/sh
    # ls
    bin  dev  etc  lib  tmp  usr
    # ls -l bin
    total 188
    -r-xr-xr-x   1 0     1    15400 Oct  4 08:42 ls
    -r-xr-xr-x   1 0     1    79380 Oct  4 08:18 sh
    # ls -l dev
    total 0
    crw-r--r--   1 0     1   13,  2 Oct  4 08:30 null
    crw-r--r--   1 0     1   13, 12 Oct  4 08:26 zero
    # ls -l usr/lib
    total 2408
    -rwxr-xr-x   1 2     2   198836 Oct  4 08:29 ld.so.1
    -rwxr-xr-x   1 2     2   959436 Oct  4 08:29 libc.so.1
    -rwxr-xr-x   1 2     2     4484 Oct  4 08:29 libdl.so.1
    -rwxr-xr-x   1 0     1    38944 Oct  4 08:31 libgen.so.1
    # pwd
    /
    #

    由�@���y�把 Shell 放到 Jail �O牢中,你可以�到 Chroot Jail 怎�舆\作
     

�� Bind 9 DNS Server 建立一��安全的 Chroot Jail �h境

�� DNS Server 建立 Jail �O牢目�

  1. 建立 /chroot/dns 目�

    # mkdir /chroot/dns

     
  2. 建立一��空�つ夸�架��

    # cd /chroot/dns
    # mkdir -p etc/named var/run

     
  3. �}制 /etc/named.conf 到 Jail �O牢中

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

     
  4. �}制 /etc/named 目�中的文件到 Jail �O牢中

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

     
  5. 更改 /chroot/dns/var/run 目�的�嘞�

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

�� Solaris 10 建立一��新 service

原本的 DNS Server Service 名�Q�� dns/server。

建立新service 後,以後要��优f版本的 DNS service �r,不能只��� dns/server,而要改�� dns/server:default。

新 DNS Server Chroot service 名�Q�椋� dns/server:chroot

�_始建立新 Service

# 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'
------------------------
存�n
------------------------

停止�A�O DNS service

# svcadm disable dns/server:default

�R入新的 DNS Server Chroot service

# svccfg import server-chroot.xml

��� chroot DNS service

# svcadm enable dns/server:chroot

# svcs dns/server
STATE          STIME    FMRI
disabled        6:21:03 svc:/network/dns/server:default
online          6:27:01 svc:/network/dns/server:chroot
#

Bind 9 DNS Server �F在已�能�蛟� Chroot Jail �h境中�\行

 

升� Solaris 10 �鹊� Bind 9 DNS Server 到 Version 9.3.2

到 ISC BIND 下�d BIND 9.3.2 ( http://ftp.isc.org/isc/bind9/9.3.2/bind-9.3.2.tar.gz )
 


# 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
# 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 .

 

�z查新安�b的 BIND 9 DNS Server 版本
# /usr/sbin/named -v
BIND 9.3.2

�男��� Chroot Jail 了的 DNS Service
# svcadm disable dns/server:chroot
# svcadm enable dns/server:chroot

# svcs dns/server
STATE          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 �F在已�安�b好了。

你可能感兴趣的:(职场,休闲,solaris安装,bind设定)