找回密码
 注册
搜索
热搜: 回贴
  • 前程无忧官网首页 有什么好的平台可以
  • 最新的销售平台 互联网营销的平台有哪
  • 制作网页的基本流程 网页制作和网页设
  • 【帝国CMS】输出带序号的列表(数字排
  • 网站建设公司 三一,中联,极东泵车的
  • 织梦 建站 织梦网站模版后台怎么更改
  • 云服务官网 哪些网站有免费的简历模板
  • 如何建网站要什么条件 建网站要用什么
  • 吉林市移动公司电话 吉林省退休人员网
  • 设计类毕业论文 网站设计与实现毕业论
查看: 13832|回复: 2

DNS server 安全防護

[复制链接]
发表于 2009-11-29 01:34:48 | 显示全部楼层 |阅读模式 IP:江苏扬州
来源:http://dns-learning.twnic.net.tw/bind/security.html
TSIG
TSIG設定步驟
rndc
rndc設定步驟(local端)
rndc設定步驟 (遠端)
以下2種功能皆由Bind 9所提供的安全防護。TSIG提供DNS server間在做Zone Transfer及DNS更新(更新zone的設定…)時對其傳輸資料所做的加密簽章,並能對其他DNS server做認證;”rndc” command提供使用者能遠端控管DNS server,並對傳輸資料做加密,來提高DNS server的安全防護。
TSIG
Transaction Signature(TSIG ; RFC 2845)是使用加密簽章驗證DNS訊息,特別是回應與更新。它是以MD5 hash加密簽章(cryptographic signature)方式,以認證DNS server間資料傳輸。首先須於Primary master上自行產生加密簽章,之後將此簽章傳遞給Slave,經設定後由Slave以密碼簽章送往Primary master要求Zone Transfer。同時亦提供服務給加密簽章簽署過的動態更新要求。 TSIG功能為確認DNS之資訊是由某特定DNS Server提供;並且大多數應用於DNS間之Zone Transfer,確保 Slave與Primary DNS server複製資料不會由其它假的DNS server提供或被篡改截取。
TSIG設定步驟
rndc
Bind 9之後提供新的功能為”rndc”(remote name daemon control),不過可視為Bind舊版ndc的延伸,它可使系統管理者利用rndc command遠端或本端(localhost)控制管理Bind,並以加密方式來傳送資料,以防止其他非授權使用者控制Bind。
rndc設定步驟(local端)
rndc設定步驟 (遠端)
遠端控制管理Bind的意思是在其他的電腦上能透過”rndc”command的方式來對遠端的DNS server(Bind)做設定或是管理的動作,由於透過rndc的方式,所以能增加資料傳送的安全性。
在設定local端時,我們已產生rndc.key及rndc.conf,所以就繼續沿用此2個檔案。
修改/etc/named.conf
在named.conf檔案中加入

allow{ any; }表示允許任何電腦連線到此電腦,inet 後面則接DNS server IP address。
檢查 /var/log/messages
重新啟動Bind後,若在/var/log/messages中發現

即表示之後便可以在遠端電腦利用”rndc”command來控制管理Bind。
設定遠端電腦的rndc.key及rndc.conf
將遠端電腦中的rndc.key及rndc.conf檔案中的secret設成與欲控制的DNS server中rndc.key之secret相同,如此才能控制遠端DNS server。
測試

rndc –s 後面接DNS server IP address(domain name亦可)。執行後可列出遠端DNS server相關訊息。
產生/etc/rndc.key檔案

執行”rndc-confgen -a”指令後,會在/etc目錄下產生rndc.key檔案,而所產生的檔案內容如下圖所示:

“algorithm hmac-md5”表示我們是使用”hmac-md5”演算法來產生”secret”每次執行都會產生不一樣的”secret”
產生/etc/rndc.conf檔案

執行上圖指令後會在/etc目錄下產生rndc.conf檔案,將檔案中secret置換成rndc.key的secret。置換後的檔案內容如下:
修改/etc/named.conf
如rndc.conf檔案後面的注解所示,在/etc/named.conf檔案中加入

檢查 /var/log/messages
重新啟動Bind後,若在/var/log/messages中發現

則表示設定成功。
測試
即表示之後便可以在本機端利用”rndc”command來控制管理Bind。
例如:

rndc後面接status參數可以展示出目前DNS server的相關訊息,可以接的參數可以由只輸入”rndc”後面不加任何參數,執行後便會列出所有可以接的參數為何。
有關”rndc” command的用法可由”man rndc”查詢得知。
產生key值

輸入“dnssec-keygen -a hmac-md5 -b 128 -n HOST example”表示以”hmac-md5”演算法來產生share key,”128”表示所產生key的長度(bits),最長可以產生512 bits 的key;而”example”表示當執行指令後所產生的2個檔案分別名為 ”Kexample.+157+45717.key” 和 ”Kexample.+157+45717.private”,而key值就存放在Kexample.+157+45717.key檔案中。
設定兩邊DNS servers的/etc/named.conf (1)
如果產生的key值為: OQCfZ2DMmOrIkX8m5dqtRg==,則在雙方電腦的named.conf檔案中加入

設定兩邊DNS server的/etc/named.conf (2)
在雙方電腦的named.conf檔案中加入

server後面接的是對方的IP address,若host1與host2為DNS server,則host1便在此設host2的IP address,反之亦同。
在zone transfer部分
只要在named.conf檔案中在zone後面加上”allow-transfer{ key example; };”,使得DNS server間在做zone transfer時可以利用TSIG的方式來傳送資料。

在zone update的部分
只要在named.conf檔案中對想要更新的zone後面加上”allow-update {key example; };”,使得我們在更新時可以利用TSIG的方式來傳送資料。

附帶一提的是,由例子可以得知我們是使用與zone transfer時相同的key;即”example”,若要有所區隔,我們可以重新產生新的key值,而使用與zone transfer不同的key值來傳送。(由”nsupdate” command來做zone update,”nsupdate” command的相關細節可由”man nsupdate”得知。)
檢查 /var/log/messages
重新啟動Bind後,檢查messages檔案是否有任何錯誤訊息。
发表于 2010-3-7 03:05:15 | 显示全部楼层 IP:北京
让人半夜上厕所都要打开电脑再看一遍的好帖
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-10-1 12:13 , Processed in 0.929031 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表