配置一個安全的chroot DNS(3)_Windows教程
dig @a.root-servers.net . ns > /chroot/named/conf/named.root #這是在redhat下的用法,因為天緣所用的solaris默認(rèn)(我用的2.6)沒有dig命令,所以在solaris下我們用
cd /chroot/named/conf @ IN SOA @ root ( |
4、設(shè)置權(quán)限
其實這一步,才是我們作任何chroot 服務(wù)真正精華的地方。如何把權(quán)限劃分得準(zhǔn)確,不至于無法執(zhí)行服務(wù),也不能大到會威脅到其他程序的安全,實在是一個需要仔細(xì)考慮的問題。
a.由于我們的目的是達(dá)到讓bind程序以named用戶身份運行,所以必須讓它具有讀配置,無寫配置文件的權(quán)限,而且最好其他程序也不能改變我們的配置文件,只有root能改,named用戶能讀。為了滿足這個要求的,自然就想到把文件的擁有者改為root,組用戶設(shè)置為named,然后再慢慢仔細(xì)劃分權(quán)限。
cd /chroot/named
chown –R root.named ./ #-R參數(shù)表示下屬目錄也依照此權(quán)限,-R參數(shù)在chown和chmod中經(jīng)常用到
b.接下來想想各個文件、子目錄的權(quán)限。Root組對 文件需要讀寫執(zhí)行權(quán)限,named組對文件需要讀取權(quán)限,而對下屬子目錄而言,則必須具有執(zhí)行權(quán)限才能進入其中。因此作以下權(quán)限設(shè)置。
# 對文件賦予root 讀寫權(quán)限,賦予組named讀權(quán)限
find . -type f -print | xargs chmod u=rw,og=r
# 對目錄賦予roo讀寫執(zhí)行權(quán)限,賦予組named讀執(zhí)行權(quán)限(這里的執(zhí)行是為了能進入到下級目錄中)
find . -type d -print | xargs chmod u=rwx,og=rx
#對etc目錄下的配置文件,能不讓其他用戶讀取當(dāng)然是最好的,因此設(shè)置
chmod o= etc/*.conf
# "secondaries" 子目錄是此Dns服務(wù)器作輔助服務(wù)器,從主服務(wù)器更新消息的時候需要的,會在里面創(chuàng)建一些新文件。因此它的權(quán)限也需要特別設(shè)置,在這個目錄下,named組、用戶需要具有讀權(quán)限,而不需要用到root用戶,也不想讓其他的用戶身份訪問。
chown root.named conf/secondaries/ #設(shè)置secondaries目錄用戶為root,組為named
chmod ug=rwx,o= conf/secondaries/ #給予root和named全部權(quán)限,以方便訪問下面的文件
touch conf/secondaries/.empty # 去掉舊有的該文件
find conf/secondaries/ -type f -print | xargs chown named.named #將用戶組、用戶都設(shè)置為named
find conf/secondaries/ -type f -print | xargs chmod ug=r,o= #只讓named組和用戶有讀權(quán)限,而其他用戶無任何權(quán)限
接著是為var/目錄設(shè)置權(quán)限(在這里會生成進程守護文件named.pid—我們在named.conf中設(shè)置了的)
chown root.root var/ #這里可以把named拋棄,
chmod u=rwx,og=x var/ #root可以讀寫設(shè)置,其他用戶能執(zhí)行就行,其實我們之所以做一個chroot DNS需要大費周折地單獨設(shè)置目錄,就是為了不讓named具有訪問真正的/var的權(quán)限。
chown root.named var/run/ #因為在run下面的需要由named身份來寫named.pid文件,所以需要將組改為named好限制權(quán)限
chmod ug=rwx,o=rx var/run/ #用戶/組具有讀寫執(zhí)行權(quán)限,其他用戶能讀/執(zhí)行就可以了,這樣的設(shè)置,主要是為了方便我們后面寫shell來判斷DNS目前的狀態(tài)。
chown root.named logs/ #日志目錄,設(shè)置成這樣的原因不用解釋了吧
chmod ug=rwx,o=rx logs/ #日志允許其他人看比較好,方便以后掛第三方程序
- 相關(guān)鏈接:
- 教程說明:
Windows教程-配置一個安全的chroot DNS(3)。