Domain-Name-System

主 DNS 伺服器和從屬 DNS 伺服器應該(或可以)有不同的 RRSIG 條目嗎?

  • April 15, 2019

我剛剛在我的主 DNS 伺服器上配置了 DNSSEC,並在從每台伺服器到另一台伺服器的 dig 測試中,我發現雖然每台伺服器都有 RRSIG 條目,但它們是不同的。

這是預期的行為嗎?我看到每個伺服器的簽名都有不同的時間,這是造成它的原因嗎?這甚至是一個問題嗎?

主結果:

example.com.           600 IN RRSIG NS 5 2 600 (
                               20181225201200 20181125193702 47985 example.com.
                               PNY/8BLZrBZ6Ax27MsblQg/QGPyIrS/uK/xAJY9DXw+s
                               nexXcvRXbEG+3E4yotVtay/ACN4+qMto4Ny87yyM7XFI
                               t0cBHnRx6n1DqU0jX0ARNWWDjaNRW/PlYrTKeqyXesVj
                               Cew44FJDXSd+65PxFlvQRDw6ZIdSbDYdXF1OYMw= )

奴隸結果:

example.com.           600 IN RRSIG NS 5 2 600 (
                               20181225193928 20181125191401 47985 example.com.
                               b034jrblNOi/Rmm7o34pRMLwH2Qa4dPuJ7ssTGWam/7z
                               b8JTaCtgKwrglzBXzcGaUfcxfCTNeBV0o6HXDvQ7kmx4
                               pZVt8Igvsw/ansIJOsvG+k+nS+ZHTACsgFaOgOegTnNb
                               +SMspj5n54s/mdMhAMreMKYXBPyVEfN0PFVv574= )

這是意料之中的:如果記錄中有任何變化,比如開始/結束日期,那麼簽名本身會在計算時發生變化。可能會或可能不會在區域的不同名稱伺服器上看到不同的 RRSIG 報告,但這在很大程度上取決於設置,這裡沒有詳細描述。

但它發生了,請參閱以下內容。

相同的密鑰(key tag 34505),但 5 個權威名稱伺服器中的每一個都提供不同的 RRSIG(如果您將 2 秒的睡眠時間與簽名初始時間戳進行比較,您可以看到它們是在查詢時線上計算的):

$ for ns in `dig NS cloudflare.com. +short` ; do echo -n $ns " " ; dig @$ns cloudflare.com. A +dnssec +short|grep ' 34505 '; sleep 2s; done
ns4.cloudflare.com.  A 13 2 600 20190412164722 20190410144722 34505 cloudflare.com. i7WphUbWNj+0sfA0Mp3gLueKvgDvTDF+p4HuD/x+Weu1Cuglp7Cmx/v/ b0icIaYNsUKzm6OCgDnGQNH27SD8lg==
ns5.cloudflare.com.  A 13 2 600 20190412164724 20190410144724 34505 cloudflare.com. L9/aRuVFtDunNqowLBgYZzahiWhTw7Y82LeEdseBL0ZgJlQSZj8YjB36 Dj89ozZ4KK6zRxPbFmM5VRwwV/rI3Q==
ns7.cloudflare.com.  A 13 2 600 20190412164726 20190410144726 34505 cloudflare.com. khYsYMwEwH/2obxbibonU0gYveHknrtU+pZ6CFr7sLhV2Xv7/DaTKwM7 ABI2mxApVKlEhEz3rQG6XKg/6MPKFg==
ns6.cloudflare.com.  A 13 2 600 20190412164728 20190410144728 34505 cloudflare.com. gJZXNyYpTe7WqjJwaA08M/2ysFkoHze5GEV/XpoWU/y6pOLmt4DhzL4I e/PuEvWQ6agBvtdqzGzSb10p6DQx1A==
ns3.cloudflare.com.  A 13 2 600 20190412164730 20190410144730 34505 cloudflare.com. N0DwRjQKkagAoWn4WuFekvKhPL/juxzGrrn/lOEOpX7Sqmmt+ibaZJf/ YTsSFPtuCgI2hdMBvr/+b9B6rjv4Bg==

記錄的RRSIG簽名是根據您看到的所有內容(當然簽名本身除外)計算得出的,因此包括所有者(即左側的域名)以及記錄類型(NS此處)、算法(5即“橢圓曲線

$$ ECC $$")、標籤個數(因為有22個標籤)example.com、原始TTL (資源記錄集的內容)600``20181225193928``20181125191401``47985``example.com``example.com. NS 請參閱定義 RRSIG 記錄的RFC 4034 。

第 3.1 節顯示:

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|        Type Covered           |  Algorithm    |     Labels    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         Original TTL                          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                      Signature Expiration                     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                      Signature Inception                      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            Key Tag            |                               /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+         Signer's Name         /
/                                                               /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
/                                                               /
/                            Signature                          /
/                                                               /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

和 3.1.8 說:

Signature 欄位包含覆蓋

RRSIG RDATA(不包括 Signature 欄位)和

由 RRSIG 所有者名稱、RRSIG 類和 RRSIG Type

Covered 欄位指定的 RRset 的加密簽名。該欄位的格式取決於使用的​​算法

,這些格式在單獨的配套文件中進行了描述。

引用自:https://serverfault.com/questions/941591