Điểm:0

Tại sao máy chủ định danh có thẩm quyền không xác thực DNSSEC với kết quả của chính nó?

lá cờ pl

Nếu tôi truy vấn một máy chủ định danh một bản ghi thì nó có thẩm quyền vì có vẻ như câu trả lời không được xác thực DNSSEC:

$ đào cloudflare.com @ns3.cloudflare.com

; <<>> DiG 9.16.22-Debian <<>> cloudflare.com @ns3.cloudflare.com
;; tùy chọn chung: +cmd
;; Có câu trả lời:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28361
;; cờ: qr aa rd; CÂU HỎI: 1, TRẢ LỜI: 2, AUTHORITY: 0, BỔ SUNG: 1
;; CẢNH BÁO: yêu cầu đệ quy nhưng không khả dụng

;; LỰA CHỌN PSEULiều lượng:
; EDNS: phiên bản: 0, cờ:; udp: 1232
;; PHẦN CÂU HỎI:
;cloudflare.com. TRONG MỘT

;; PHẦN TRẢ LỜI:
cloudflare.com. 300 TRONG 104.16.133.229
cloudflare.com. 300 TRONG 104.16.132.229

;; Thời gian truy vấn: 3 mili giây
;; MÁY CHỦ: 162.159.0.33#53(162.159.0.33)
;; THỜI GIAN: Thứ bảy ngày 20 tháng 11 15:29:00 CET 2021
;; KÍCH THƯỚC MSG rcvd: 75

Không có cờ "quảng cáo" nào được trả về, do đó câu trả lời không được DNSSEC xác thực. Nếu tôi hỏi một máy chủ không có thẩm quyền cùng một truy vấn, cờ "quảng cáo" sẽ được trả về:

$ đào cloudflare.com @1.1.1.1

; <<>> DiG 9.16.22-Debian <<>> cloudflare.com @1.1.1.1
;; tùy chọn chung: +cmd
;; Có câu trả lời:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23361
;; cờ: qr rd ra quảng cáo; CÂU HỎI: 1, TRẢ LỜI: 2, AUTHORITY: 0, BỔ SUNG: 1

;; LỰA CHỌN PSEULiều lượng:
; EDNS: phiên bản: 0, cờ:; udp: 1232
;; PHẦN CÂU HỎI:
;cloudflare.com. TRONG MỘT

;; PHẦN TRẢ LỜI:
cloudflare.com. 145 TRONG MỘT 104.16.132.229
cloudflare.com. 145 TRONG MỘT 104.16.133.229

;; Thời gian truy vấn: 3 mili giây
;; MÁY CHỦ: 1.1.1.1#53(1.1.1.1)
;; THỜI GIAN: Thứ bảy ngày 20 tháng 11 15:35:35 CET 2021
;; KÍCH THƯỚC MSG rcvd: 75

Bạn có thể vui lòng cho tôi biết:

  1. Đây có phải là một hành vi chính xác và được xác định rõ?
  2. lý do không xác nhận được thực hiện là gì?
  3. Tôi có thể thay đổi hành vi này với liên kết ISC9 trong cấu hình? Thế nào?

(Nếu hành vi này là cố ý, bạn không bao giờ nên định cấu hình máy chủ định danh để sử dụng phần mềm máy chủ định danh của chính nó để giải quyết, vì đối với một số phần mềm máy khách, việc câu trả lời có được xác thực hay không sẽ tạo ra sự khác biệt: Tôi đã tự hỏi tại sao SSHFP hồ sơ không hoạt động ssh -o VerifyHostKeyDNS <máy chủ> từ chính máy chủ định danh).

Điểm:0
lá cờ cn

Tại sao máy chủ định danh có thẩm quyền không xác thực DNSSEC với kết quả của chính nó?

Bởi vì nó không thể, nếu không bản thân nó là một máy chủ định danh đệ quy, điều đó sẽ rất tệ.

Để xác thực đầy đủ DNSSEC, bạn cần bắt đầu từ gốc và đi qua toàn bộ liên kết của ĐS/DNSKEY các bản ghi và trình giải quyết có thẩm quyền mà bạn tham khảo không có thẩm quyền về tất cả những điều đó, chỉ là một phần của nó trong liên kết.

Xem ví dụ phần 6 của RFC 4033, "Cân nhắc trình giải quyết":

Trình phân giải nhận biết bảo mật phải có khả năng thực hiện mã hóa các chức năng cần thiết để xác minh chữ ký số sử dụng ít nhất (các) thuật toán bắt buộc phải thực hiện. Trình phân giải nhận biết bảo mật phải cũng có khả năng hình thành một chuỗi xác thực từ một mới vùng đã học trở lại khóa xác thực, như được mô tả ở trên. Cái này quá trình có thể yêu cầu các truy vấn bổ sung tới các vùng DNS trung gian để lấy các bản ghi DNSKEY, DS và RRSIG cần thiết. Nhận thức về bảo mật trình phân giải phải được định cấu hình với ít nhất một neo tin cậy làm điểm bắt đầu mà từ đó nó sẽ cố gắng thiết lập xác thực xiềng xích.

Và RFC 4035, phần §3.2.3 "Bit quảng cáo" trong "Máy chủ tên đệ quy":

Phía máy chủ tên của máy chủ tên đệ quy nhận biết bảo mật PHẢI KHÔNG đặt bit AD trong phản hồi trừ khi máy chủ định danh xem xét tất cả Các tập bản ghi tài nguyên trong phần Trả lời và Quyền hạn của phản hồi sẽ được thật. Phía máy chủ tên NÊN đặt bit AD khi và chỉ khi phía trình giải quyết xem xét tất cả các tập bản ghi trong phần Trả lời và bất kỳ các RR phản hồi tiêu cực có liên quan trong phần Thẩm quyền sẽ được thật. Phía giải quyết PHẢI tuân theo quy trình được mô tả trong Mục 5 để xác định xem các RR được đề cập có xác thực hay không. Tuy nhiên, để tương thích ngược, máy chủ định danh đệ quy CÓ THỂ đặt bit AD khi một phản hồi bao gồm các bản ghi tài nguyên CNAME không được ký nếu các bản ghi tài nguyên CNAME đó Rõ ràng là các RR có thể đã được tổng hợp từ một DNAME đích thực RR cũng được bao gồm trong phản ứng theo tổng hợp các quy tắc được mô tả trong [RFC2672].

Đối với:

nó tạo ra sự khác biệt cho dù một câu trả lời có được xác thực hay không

Tất nhiên là có, đó là toàn bộ mục đích của DNSSEC. Nhưng khách hàng cuối không tham khảo trực tiếp máy chủ tên có thẩm quyền trong quá trình hoạt động bình thường. Họ sử dụng một máy chủ tên đệ quy, máy chủ này sẽ lặp lại nhiều máy chủ tên có thẩm quyền khác nhau để nhận được câu trả lời cuối cùng và có thể xác thực DNSSEC nếu được định cấu hình để làm như vậy.

Tôi thắc mắc tại sao các bản ghi SSHFP không hoạt động khi thực hiện ssh -o VerifyHostKeyDNS từ chính máy chủ định danh

Bất kể vấn đề bạn có ở đây không liên quan đến bất cứ điều gì ở trên. ssh nên sử dụng bất kỳ trình phân giải cấp hệ điều hành nào được định cấu hình để lấy dữ liệu.

Nhìn thấy https://github.com/openssh/libopenssh/blob/05dfdd5f54d9a1bae5544141a7ee65baa3313ecd/ssh/dns.c#L191 đó là bên trong verify_host_key_dns chức năng:

    kết quả = getrrsetbyname(tên máy chủ, DNS_RDATACLASS_IN,
        DNS_RDATATYPE_SSHFP, 0, &dấu vân tay);
    nếu (kết quả) {
        verbose("Lỗi tra cứu DNS: %s", dns_result_totext(result));
        trả về -1;
    }


    if (dấu vân tay->rri_flags & RRSET_VALIDATED) {
        *cờ |= DNS_VERIFY_SECURE;
        debug("đã tìm thấy %d dấu vân tay an toàn trong DNS",
            dấu vân tay->rri_nrdatas);
    } khác {
        debug("đã tìm thấy %d dấu vân tay không an toàn trong DNS",
            dấu vân tay->rri_nrdatas);
    }

getrrsetbyname được định nghĩa trong https://github.com/openssh/openssh-portable/blob/2dc328023f60212cd29504fc05d849133ae47355/openbsd-compat/getrrsetbyname.c và về cơ bản là một vỏ bọc xung quanh res_query đó là ràng buộc libc cấp thấp để thực hiện các truy vấn DNS.

tôi đã tìm thấy tại https://weberblog.net/sshfp-authenticate-ssh-fingerprints-via-dnssec/ một số chi tiết về ssh hành vi giữa một xác thực (DNSSEC) SSHFP ghi lại hay không.

lá cờ pl
Tôi không gặp vấn đề gì với ssh/SSHFP, tôi chỉ thấy nó không hoạt động trên một trong các máy chủ định danh của tôi: Máy chủ cụ thể này đã tự đặt chính nó làm trình phân giải trong /etc/resolv.conf, đó là lý do, tại sao lại như vậy không hoạt động: Do đó, câu hỏi của tôi ở đây. Cảm ơn bạn vì câu trả lời.
lá cờ pl
Các RFC được trích dẫn đề cập đến việc không xác thực các vùng có thẩm quyền. Ít nhất là liên kết và có lẽ nhiều phần mềm máy chủ định danh khác có thể xác thực đệ quy, vì vậy chúng thực sự có thể xác thực các vùng riêng của chúng.
Patrick Mevzek avatar
lá cờ cn
"để họ thực sự có thể xác thực các khu vực của riêng họ." Bản thân họ không phải là một máy chủ định danh đệ quy để tìm nạp tất cả dữ liệu mà họ không có. `bind` có thể có cả hai vai trò (có thẩm quyền và đệ quy) nhưng không nên làm như vậy. Nếu bạn sử dụng phần mềm khác như `nsd` hoặc `yadifa` thì chúng chỉ có thẩm quyền, không có bất kỳ logic đệ quy nào...

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.