• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 配置一個安全的chroot DNS(3)

    發表于:2007-05-25來源:作者:點擊數: 標簽:
    首先是named.root的建立 dig @a.root-servers.net . ns /chroot/named/conf/named.root #這是在redhat下的用法,因為天緣所用的solaris默認(我用的2.6)沒有dig命令,所以在solaris下我們用 cd /chroot/named/conf ftp ftp://ftp.rs.internic.net/domain/na
    首先是named.root的建立

      dig @a.root-servers.net . ns > /chroot/named/conf/named.root #這是在redhat下的用法,因為天緣所用的solaris默認(我用的2.6)沒有dig命令,所以在solaris下我們用

    cd /chroot/named/conf
    ftp ftp://ftp.rs.internic.net/domain/named.root
    接著是named.local

    ;
    ;named.local
    ;
    $TTL  86400

    @    IN SOA  @ root (
                42       ; 版本
                3H       ; 刷新時間3小時
                15M       ; 重試時間15分鐘
                1W       ; 最大期限一周
                1D )      ; 最小TTL一天     IN NS    @
        IN A     127.0.0.1

    接著是named.127.0.0

    ;
    ; named.127.0.0
    ;
    $TTL  86400
    @    IN   SOA   localhost. root.localhost. ( ;這里的root.localost其實是root@localhost,在DNS設置中,將@用.代替
                  1 ; 版本
                  28800   ; 刷新,這里和下面的特意以分鐘為單位,和上面的寫法不同,就當多舉個例子吧
                  14400   ; 重試
                  3600000  ; 最大期限
                  86400 )  ; 最小TTL
        IN   NS   localhost.
    1    IN   PTR   localhost.

      4、設置權限

      其實這一步,才是我們作任何chroot 服務真正精華的地方。如何把權限劃分得準確,不至于無法執行服務,也不能大到會威脅到其他程序的安全,實在是一個需要仔細考慮的問題。

      a.由于我們的目的是達到讓bind程序以named用戶身份運行,所以必須讓它具有讀配置,無寫配置文件的權限,而且最好其他程序也不能改變我們的配置文件,只有root能改,named用戶能讀。為了滿足這個要求的,自然就想到把文件的擁有者改為root,組用戶設置為named,然后再慢慢仔細劃分權限。

      cd /chroot/named

      chown –R root.named ./ #-R參數表示下屬目錄也依照此權限,-R參數在chown和chmod中經常用到

      b.接下來想想各個文件、子目錄的權限。Root組對 文件需要讀寫執行權限,named組對文件需要讀取權限,而對下屬子目錄而言,則必須具有執行權限才能進入其中。因此作以下權限設置。

      # 對文件賦予root 讀寫權限,賦予組named讀權限
      find . -type f -print | xargs chmod u=rw,og=r

      # 對目錄賦予roo讀寫執行權限,賦予組named讀執行權限(這里的執行是為了能進入到下級目錄中)
      find . -type d -print | xargs chmod u=rwx,og=rx

      #對etc目錄下的配置文件,能不讓其他用戶讀取當然是最好的,因此設置
      chmod o= etc/*.conf

      # "secondaries" 子目錄是此DNS服務器作輔助服務器,從主服務器更新消息的時候需要的,會在里面創建一些新文件。因此它的權限也需要特別設置,在這個目錄下,named組、用戶需要具有讀權限,而不需要用到root用戶,也不想讓其他的用戶身份訪問。

      chown root.named conf/secondaries/ #設置secondaries目錄用戶為root,組為named

      chmod ug=rwx,o= conf/secondaries/ #給予root和named全部權限,以方便訪問下面的文件

      touch conf/secondaries/.empty # 去掉舊有的該文件

      find conf/secondaries/ -type f -print | xargs chown named.named #將用戶組、用戶都設置為named

      find conf/secondaries/ -type f -print | xargs chmod ug=r,o= #只讓named組和用戶有讀權限,而其他用戶無任何權限

      接著是為var/目錄設置權限(在這里會生成進程守護文件named.pid—我們在named.conf中設置了的)

      chown root.root var/ #這里可以把named拋棄,

      chmod u=rwx,og=x var/ #root可以讀寫設置,其他用戶能執行就行,其實我們之所以做一個chroot DNS需要大費周折地單獨設置目錄,就是為了不讓named具有訪問真正的/var的權限。

      chown root.named var/run/ #因為在run下面的需要由named身份來寫named.pid文件,所以需要將組改為named好限制權限

      chmod ug=rwx,o=rx var/run/ #用戶/組具有讀寫執行權限,其他用戶能讀/執行就可以了,這樣的設置,主要是為了方便我們后面寫shell來判斷DNS目前的狀態。

      chown root.named logs/ #日志目錄,設置成這樣的原因不用解釋了吧

      chmod ug=rwx,o=rx logs/ #日志允許其他人看比較好,方便以后掛第三方程序

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>