差異處

這裏顯示兩個版本的差異處。

連向這個比對檢視

兩邊的前次修訂版前次修改
下次修改
前次修改
dns:dnssec [2011/06/03 16:22] jaldns:dnssec [2021/11/14 17:26] (目前版本) jal
行 4: 行 4:
 ===== 實作步驟 ===== ===== 實作步驟 =====
   - 產生 DNSKEY   - 產生 DNSKEY
-    - 產生 ZSK (Zone sign key+    - 使用 RSA/SHA-1 演算法 (已不建議使用,請直接使用第二組 SHA-256) 
-      * dnssec-keygen -r /dev/urandom -a RSASHA1 -b 1024 -n ZONE jal.tw +      - 產生 KSK (Key Signing Key) 
-    產生 KSK (Key sign key+        * dnssec-keygen -r /dev/urandom -f KSK -a RSASHA1 -b 2048 -n ZONE jal.tw 
-      * dnssec-keygen -r /dev/urandom -f KSK -a RSASHA1 -b 2048 -n ZONE jal.tw+        * 同樣會產生二個檔案(檔名請勿修改) 
 +          * Kjal.tw.+005+46449.key 
 +          * Kjal.tw.+005+46449.private 
 +      - 產生 ZSK (Zone Signing Key
 +        * dnssec-keygen -r /dev/urandom -a RSASHA1 -b 1024 -n ZONE jal.tw 
 +          * 會產生二個檔案(檔名請勿修改) 
 +            * Kjal.tw.+005+30233.key 
 +            * Kjal.tw.+005+30233.private 
 +          * 005 是代表 RSASHA1,[[http://www.iana.org/assignments/dns-sec-alg-numbers/dns-sec-alg-numbers.xhtml#dns-sec-alg-numbers-1|演算法列表]] 
 +          * 30258 代表 Key ID 
 +    - 使用 RSA/SHA-256 演算法 
 +      * dnssec-keygen -r /dev/urandom -f KSK -a RSASHA256 -b 2048 -n ZONE jal.tw 
 +        * Kjal.tw.+008+33567.key 
 +        * Kjal.tw.+008+33567.private 
 +      * dnssec-keygen -r /dev/urandom -a RSASHA256 -b 1024 -n ZONE jal.tw 
 +        * Kjal.tw.+008+42644.key 
 +        * Kjal.tw.+008+42644.private 
 +      * 這時你會發現演算法變成 8 = RSA/SHA-256 
 +      * Tips: 產生出來之後常常會混亂哪個是 KSK 哪個是 ZSK,簡單的判斷法,由於 KSK 是 2048 bits,所以檔案大小會比較大,這樣看最快了~
   - 將 DNSKEY 放入 zone file   - 將 DNSKEY 放入 zone file
     * cat *.key >> /etc/namedb/jal.tw.db     * cat *.key >> /etc/namedb/jal.tw.db
   - 簽署網域   - 簽署網域
-    * dnssec-signzone -o jal.tw -k Kjal.tw.ksk.key /etc/namedb/jal.tw.db Kjal.tw.zsk.key+    * dnssec-signzone -o jal.tw -k Kjal.tw.+008+33567.key /etc/namedb/jal.tw.db Kjal.tw.+008+42644.key 
 +    * dnssec-signzone -o domain -k KSK_file zone_file ZSK_file
     * 完成後會出現 /etc/namedb/jal.tw.db.signed     * 完成後會出現 /etc/namedb/jal.tw.db.signed
 +    * ps.20150116: 我直到今天才發現我把 KSK & ZSK 放反了,對不起。
   - 啟用該檔案   - 啟用該檔案
     * <code>     * <code>
行 22: 行 42:
   - reload named   - reload named
     * named.reload     * named.reload
 +  - 因為常常會忘記每個重新簽發,所以寫了個 php 小程式直接丟 crontab 處理。[[https://github.com/jal-tw/dnssec-reissue-and-bind-reload| GitHub 連結]]
 ===== 完成後檢查 ===== ===== 完成後檢查 =====
   * dig any trace jal.tw   * dig any trace jal.tw
   * dig +dnssec jal.tw   * dig +dnssec jal.tw
   * dig any trace jal.tw @8.8.8.8   * dig any trace jal.tw @8.8.8.8
-  * dig -6 any trace jal.tw @dns.au.edu.tw+  * dig -6 any trace jal.tw @dns.google.com
   * dig -6 any trace he.net @ns2.he.net   * dig -6 any trace he.net @ns2.he.net
  
-===== 關文章 =====+===== 註冊 DS 紀錄至上層 DNS ===== 
 +本人在此步驟卡卡了大概有三年之久了,從此文章完成後沒多久就發現\\  
 +[[https://domain.tfn.net.tw|TFN]] 及 [[https://domain.hinet.net/dnssec-ds.html|HiNet DNSSEC]] 都已經完成 DS 登記頁面了。\\  
 +但由於網頁上寫的不清不楚的(<del>根本沒寫</del>),完全沒有任何有用的說明導致從來沒成功過。\\  
 +最後在瘋狂測試及直接看原文的相關說明後終於被我試出來了。\\  
 +  * 所需檔案 dsset-jal.tw. 內容會類似下面<code> 
 +jal.tw.       IN DS 46449 5 1 3973B7E50692468334CA8B1517D305D4BC26CBD6 
 +jal.tw.       IN DS 46449 5 2 E548AEB1E2988A3D2F2BC64631E305D4ABD23181B3AFAE785D6549D4 60CBD40B 
 +jal.tw.       IN DS 42644 8 1 9D434E2926E5B3AB334CA8B1517D977160CBD40B 
 +jal.tw.       IN DS 42644 8 2 0D2CF5DB1BB12345E9122AE18DDA3C55F53CC2D2C1FFA398E93549D4 132D2A21 
 +</code> 
 +  * TFN DS 註冊方式 
 +    * 重點在於那個 4 跟 1 之間的空格請刪除,它就會變成長度 64 的 DS 紀錄 
 +    * TFN 可支援不同的 Algorithm 所產生的紀錄 
 +    * 但是都只支援輸入 Digest type 2 (SHA-256) 的紀錄,也就是上述紀錄第 6 個欄位為 2 的紀錄。 
 +      * Digest type 1 為 SHA-1 紀錄 
 +  * Cloudflare 註冊方式 
 +    * 重點是 Alg 是 13 ECDSA,原先 tw 各家註冊商都不支援,不過再反應給 TWNIC 後,聽說都支援了。 
 + 
 +^ Key ID ^ Algorithm Number ^ DS紀錄 ^ 
 +| 46449 | 5 | E548AEB1E2988A3D2F2BC64631E305D4ABD23181B3AFAE785D6549D460CBD40B | 
 +| 42644 | 8 | 0D2CF5DB1BB12345E9122AE18DDA3C55F53CC2D2C1FFA398E93549D4132D2A21 | 
 + 
 +  * HiNet DS 註冊方式 
 +    * 個人沒有 HiNet 的,但是從 GSN 的文件看的話,我猜輸入格式如下 
 +    * 另外,HiNet 直接寫明僅接受 Algorithm 為 SHA-256 所產生的紀錄(所以 dnssec-keygen 請用 -a RSASHA256 來產生 key) 
 + 
 +^ Keytag ^ DS 設定 ^ 
 +| 42644 | 0D2CF5DB1BB12345E9122AE18DDA3C55F53CC2D2C1FFA398E93549D4132D2A21 | 
 + 
 +===== 相關網站 =====
   - [[http://phorum.study-area.org/index.php?topic=60268.0|DNSSEC 入門介紹]] <- 觀念講解的很清楚   - [[http://phorum.study-area.org/index.php?topic=60268.0|DNSSEC 入門介紹]] <- 觀念講解的很清楚
   - [[http://www.myhome.net.tw/2011_04/p13.htm|DNSSEC 驗證流程]]   - [[http://www.myhome.net.tw/2011_04/p13.htm|DNSSEC 驗證流程]]
-  - [[http://dns-security.twnic.net.tw/SEC100/files/50.pptx|TWNIC DNSSEC 實作班投影片]] <- 大大推薦,我是按照這份完成設定的+  - [[http://dns-security.twnic.net.tw/SEC100/files/50.pptx|TWNIC DNSSEC 實作班投影片(Link Broken)]] <- 大大推薦,我是按照這份完成設定的,可惜它失效了 
 +  - [[http://dnsviz.net/d/jal.tw/dnssec/|DNS Visualization Tool (jal.tw)]] 
 +  - [[http://dnsviz.net/d/au.edu.tw/dnssec/|DNS Visualization Tool (au.edu.tw)]]
  
 ===== 結論 ===== ===== 結論 =====
-  * 我完成所有設定了,可是,我卻無法找上層來進行簽署的動作,因為上層也都還沒完成+  * 我完成所有設定了,<del>可是,我卻無法找上層來進行簽署的動作,因為上層也都還沒完成</del>。 
 +  * 我終於可以刪除上面這句話的後半部了,以及真正的完成前半部。
  
dns/dnssec.1307118120.txt.gz · 上一次變更: 2011/06/03 16:22 由 jal
上一頁 | 下一頁 | 回首頁 | RSS Feed | Facebook