Là trường hợp tên máy chủ nhạy cảm?


Câu trả lời:


24

Tên được giải quyết từ DNS không phân biệt chữ hoa chữ thường. Điều này rất quan trọng để ngăn ngừa sự nhầm lẫn. Nếu nó phân biệt chữ hoa chữ thường thì chúng ta sẽ có tám biến thể của .com (.com, .Com, .cOm, .COm, .coM, .CoM, .cOM và .COM). Mã quốc gia sẽ có bốn.

Nếu độ phân giải tên phân biệt chữ hoa chữ thường đối với Ping thì nó không được DNS thực hiện.


Nó dường như có được một chút khó khăn sau khi tên miền quốc tế hóa được thêm vào. Trong trường hợp bối cảnh không phải ASCII có thể có vấn đề.
Zoredache

1
@Zoredache: Dường như các tên miền quốc tế hóa sử dụng hệ thống IDNA phải được mã hóa trong Punycode, bao gồm dịch sang chữ thường. Ngoài ra còn có các hạn chế bổ sung để đảm bảo các tên được phân biệt trực quan. Ngoài ra, bạn không muốn buộc người dùng đảm bảo họ giải quyết đúng vụ việc.
BillThor

6

Tôi vừa mới làm việc ở đây. DNS nên không phân biệt chữ hoa chữ thường .... RFC chỉ định điều đó. https://tools.ietf.org/html/rfc4343 nhưng không nói nó PHẢI là chữ thường.

Vì vậy, chúng tôi rất vui khi xử lý sự cố một máy chủ không giải quyết mọi thứ phù hợp với miền nội bộ của chúng tôi "t.local"

p123$ ping p123-db.t.local
PING p123-db.t.local (192.168.106.175) 56(84) bytes of data.
....works ok

p123$ ping P123-dB.T.lOcal
ping: unknown host P123-dB.T.lOcal

Tại sao phải giải quyết vụ án hỗn hợp? Bởi vì đó là những gì tcpdump đã hiển thị dưới dạng truy vấn DNS vì đó là những gì phần mềm đang chạy đang yêu cầu. pgbouncer đã được cấu hình để sử dụng "p123-db" trong cấu hình của nó và decv.conf đã chỉ định miền tìm kiếm của "t.local" Vậy điều gì đang trộn lẫn trường hợp này?

Hóa ra glibc đã thay đổi trường hợp một cách ngẫu nhiên. Quá trình này được gọi là "đệm 0x20" và được mô tả lần đầu tiên vào năm 2008 trong "Sử dụng Bit 0x20 trong Nhãn DNS để cải thiện nhận dạng giao dịch" http://tools.ietf.org/html/draft-vixie-dnsext-dns0x20-00

Mục đích chính là để tăng entropy sao cho khó trả lời giả hơn - trường hợp của câu hỏi phải khớp với trường hợp của câu trả lời.

Một cuộc thảo luận tốt có thể được tìm thấy ở đây. https://developers.google.com/speed/public-dns/docs/security?csw=1#randomize_case


Một cách riêng biệt, chúng tôi chạy powerDNS trong nội bộ và điều đó tìm kiếm dựa trên cơ sở dữ liệu. Trong nhiều năm, noone đã sử dụng tên máy chủ hoặc FQDN trong tên miền t.local bằng chữ in hoa, vì vậy chúng tôi không bao giờ nhận thấy rằng tên miền nội bộ của chúng tôi phân biệt chữ hoa chữ thường.

Đã được sửa bởi một số điều chỉnh trong truy vấn, nhưng điều này sẽ phá vỡ các tra cứu trường hợp hỗn hợp 0x20 như trên - khách hàng có thể yêu cầu trả lời được trả lại trong cùng trường hợp như được yêu cầu.

Câu trả lời ngắn : DNS không nên phân biệt chữ hoa chữ thường, nhưng câu hỏi và câu trả lời sẽ cần phải giống hệt trường hợp, trong tương lai.


2
Câu trả lời 4 năm sau khi câu hỏi được hỏi, thật khác biệt. Tôi tự hỏi trong 4 năm nữa câu trả lời sẽ là "có - DNS hiện phân biệt chữ hoa chữ thường"
Criggie

4

Tôi vừa xử lý xong sự cố trên một thiết bị SE Linux nhúng có độ phân giải tên máy chủ thể hiện độ nhạy trường hợp.

"ping MYHOST" sẽ ping đến 127.0.0.1, trong khi "ping myhost" sẽ ping địa chỉ IP chính xác.

nslookup tạo ra kết quả chính xác cho cả chữ hoa và chữ thường, cho thấy rằng máy chủ DNS không có lỗi.

Nhưng không giống như nslookup, bỏ qua bộ đệm, "getent host MYHOST" output "0.0.0.0" và "getent hosts myhost" xuất địa chỉ IP chính xác.

Vì vậy, nscd rõ ràng là trường hợp nhạy cảm. Gọi "nscd -i hosts" để xóa bộ đệm đã khắc phục sự cố.

MYHOST in (chữ hoa) đã kết thúc bộ nhớ cache với 0.0.0.0 do một quá trình cố gắng thiết lập kết nối với MYHOST trước khi mục nhập DNS được tạo, điều này xảy ra khi thiết bị từ xa được gán DHCP.


0

Như BillThor đã đề cập, nó không phân biệt chữ hoa chữ thường ở cấp độ phân giải DNS hoặc netbios.

Các hệ điều hành khác nhau sẽ không có vấn đề với các vỏ khác nhau.

Tuy nhiên, các ứng dụng có thể nhận thức được chúng. Ví dụ, các nền tảng web trên các môi trường khác nhau có thể kiểm tra độ nhạy trường hợp. Bây giờ nó phổ biến hơn cho các lý do tối ưu hóa công cụ tìm kiếm (SEO) để xem các vỏ và chuyển hướng khác nhau. Đó là tất cả tùy thuộc vào ứng dụng mặc dù vậy câu trả lời là nó khác nhau.

Đối với 'phần lớn', tên máy chủ cũng không phải là vấn đề nhạy cảm ở cấp độ ứng dụng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.