透過採用共享秘密金鑰 (也稱為 TSIG 金鑰) 的交易簽章 (TSIG),可以實現安全交易。本節說明如何產生及使用這類金鑰。
不同伺服器之間的通訊,以及區域資料的動態更新,都需要安全交易。讓存取控制依靠金鑰比單純依靠 IP 位址要來得安全許多。
使用以下指令可產生 TSIG 金鑰 (有關詳細資訊,請參閱 man dnssec-keygen
):
dnssec-keygen -a hmac-md5 -b 128 -n HOST host1-host2
這樣會建立兩個檔案,名稱類似如下:
Khost1-host2.+157+34265.private Khost1-host2.+157+34265.key
金鑰本身 (如 ejIkuCyyGJwwuN3xAteKgg==
的字串) 在兩個檔案中都可找到。如果要用於交易,第二個檔案 (Khost1-host2.+157+34265.key
) 必須傳輸到遠端主機,最好是以安全的方式傳輸 (例如,使用 scp)。在遠端伺服器上,金鑰必須包含於檔案 /etc/named.conf
內,才能開啟 host1
與 host2
之間的安全通訊:
key host1-host2. { algorithm hmac-md5; secret ";ejIkuCyyGJwwuN3xAteKgg==; };
![]() | /etc/named.conf 的檔案權限 |
---|---|
請確定 include "filename" 將 |
若要讓伺服器 host1
能夠使用 host2
(在此範例中位址為 192.168.2.3
) 的金鑰,伺服器的 /etc/named.conf
必須包含以下規則:
server 192.168.2.3 { keys { host1-host2. ;}; };
類比項目必須包含於 host2
的組態檔中。
針對為 IP 位址和位址範圍定義的任何 ACL (存取控制清單,切勿與檔案系統 ACL 混淆) 新增 TSIG 金鑰,以確保交易安全性。對應項目應該看起來如下:
allow-update { key host1-host2. ;};
此主題在 update-policy
下的 BIND Administrator Reference Manual 中有詳細討論。