Đệ quy DNS là không an toàn, nhưng cần thiết cho các ứng dụng nội bộ?


16

Trong việc quản lý Windows Server 2008, máy chủ lưu trữ DNS (là máy chủ tên) cho một số tên miền, cũng như lưu trữ một số ứng dụng có thể truy cập công khai.

Quét bảo mật đã chỉ ra rằng cấu hình DNS không an toàn, vì nó cho phép truy vấn đệ quy.

Vô hiệu hóa các truy vấn đệ quy đã được thử, nhưng một số vấn đề đã xảy ra (email được gửi từ các ứng dụng cục bộ không được gửi và một ứng dụng chạy cục bộ kết nối với trang web của bên thứ ba không thể giải quyết tên miền cho kết nối, v.v.). Vì vậy, có vẻ như các yêu cầu DNS có nguồn gốc từ chính máy chủ dựa trên các truy vấn đệ quy để hoạt động.

Có cách nào để vô hiệu hóa các truy vấn đệ quy bởi DNS được lưu trữ trên máy chủ trong khi vẫn cho phép các truy vấn DNS có nguồn gốc trên máy chủ hoạt động không? Tôi tự hỏi liệu chúng ta có thể vô hiệu hóa các truy vấn đệ quy trên máy chủ DNS cục bộ không và đặt DNS đi trong cài đặt mạng thành một cái gì đó bên ngoài (như 8.8.8.8), để các truy vấn DNS gửi đi sẽ đến đó trước và DNS của máy chủ này sẽ chỉ kết thúc được truy vấn cho các tên miền mà nó thực sự lưu trữ cục bộ.

Cảm ơn vì đã dành thời gian cho tôi!

Câu trả lời:


11

Đó là một ý tưởng tốt không cung cấp chức năng tra cứu đệ quy cho toàn bộ Internet, vì vậy cấu hình máy chủ DNS của bạn để truy vấn trả lời duy nhất đó là có thẩm quyền cho là một điều tốt TM .

Nhìn bề ngoài, có vẻ như kết luận bạn đã đạt được trong đoạn cuối của mình là một kết quả tốt: Định cấu hình cài đặt TCP / IP của máy chủ để sử dụng máy chủ DNS được ủy quyền để cung cấp tra cứu đệ quy. Quá trình Máy chủ DNS không sử dụng các máy chủ DNS được định cấu hình trong cài đặt TCP / IP trên NIC của máy tính cho bất kỳ điều gì cụ thể. Thay vào đó, nó chuyển tiếp yêu cầu (hoặc sử dụng gợi ý gốc) dựa trên cấu hình Máy chủ DNS.

Khi các ứng dụng chạy trên máy chủ cố gắng truy vấn tên miền, Máy chủ DNS chạy trên máy đó có thẩm quyền cho yêu cầu, cuối cùng, sẽ chuyển đến quy trình Máy chủ DNS chạy trên máy đó và truy vấn sẽ được trả lời.


14

Có cách nào để vô hiệu hóa các truy vấn đệ quy bởi DNS được lưu trữ trên máy chủ trong khi vẫn cho phép các truy vấn DNS có nguồn gốc trên máy chủ hoạt động không?

Không phải với máy chủ DNS của Microsoft, không có.

Với máy chủ DNS của ISC, BIND, người ta có thể đánh cược mọi thứ bằng lượt xem. Máy chủ DNS của Microsoft không có cơ chế như vậy. Vì vậy, đối với bất kỳ phiên bản cụ thể nào của máy chủ DNS của Microsoft, người ta phải chọn xem đó là máy chủ DNS nội dung công cộng hay máy chủ DNS proxy cục bộ . Nó không thể đặt cược mọi thứ và giả vờ là các loại máy chủ khác nhau cho các máy khách DNS khác nhau.

Các dịch vụ / công cụ kiểm tra bảo mật là hoàn toàn đúng. Cách tốt nhất không cung cấp dịch vụ proxy - bất kỳ loại dịch vụ proxy nào: có thể là dịch vụ proxy HTTP, dịch vụ proxy DNS hoặc dịch vụ Gửi SMTP - cho phần còn lại của Internet ngoài trang web của chính mình. Bạn nên có nhiều máy chủ riêng biệt : máy chủ DNS nội dung xuất bản dữ liệu DNS công khai của bạn, về tên miền mà bạn đã đăng ký, cho mọi người trên Internet; và một máy chủ DNS proxy cục bộ, thực hiện công việc phân giải truy vấn thay mặt cho các máy tính / tổ chức LAN của bạn, chỉ có thể truy cập được đối với các máy tại tổ chức / trên mạng LAN của bạn. Với máy chủ DNS của Microsoft, điều này không đặc biệt dễ dàng.

Nó sẽ là đặc biệt khó khăn nếu máy tính của bạn cũng là một domain controller. Bạn nói rằng máy này có thể truy cập trực tiếp từ toàn bộ Internet. Nếu một máy như vậy là một bộ điều khiển miền, thì bạn nên nghĩ lại về tổ chức mạng của mình ngay bây giờ . Bạn sẽ tiết lộ rất nhiều dịch vụ nội bộ ra công chúng, không chỉ dịch vụ DNS proxy. Vì vậy, hãy làm việc với giả định rằng đây không phải là bộ điều khiển miền.

Vì nó không phải là bộ điều khiển miền và chỉ là máy chủ thành viên , nên bạn không có yêu cầu rằng máy khách DNS trên máy phải sử dụng máy chủ DNS của chính máy đó (hoặc, ban đầu, máy chủ DNS của bộ điều khiển miền khác) cho proxy Dịch vụ DNS, đó là trường hợp cho bộ điều khiển miền. Nếu bạn có, bạn sẽ không thể tắt dịch vụ DNS proxy trên máy chủ DNS của máy. May mắn thay, nó không phải là bộ điều khiển miền và máy khách DNS của nó có thể sử dụng một số máy khác cho dịch vụ DNS proxy chứ không phải chính nó.

Tuy nhiên, máy khách DNS trên máy chủ thành viên vẫn phải sử dụng máy chủ DNS proxy nội bộ . Bạn không thể chỉ nó vào một số máy chủ DNS bên ngoài như các máy chủ được cung cấp bởi ISP, Google hoặc bất kỳ bên nào khác không biết tất cả dữ liệu DNS mà Active Directory đang sử dụng trên mạng LAN của bạn . Tuy nhiên, bạn có thể trỏ máy khách DNS của máy vào máy chủ DNS trên một hoặc nhiều bộ điều khiển miền của bạn. Điều này khá đơn giản và là những gì bạn đang - sau tất cả - đã làm trên tất cả các máy trạm của bạn trên mạng LAN. Máy khách DNS trên máy chủ thành viên của bạn chỉ cần được cấu hình giống như máy khách DNS trên tất cả các máy trạm của bạn .

Cho rằng máy khách DNS của máy của bạn không sử dụng máy chủ DNS chạy trên máy cho dịch vụ DNS proxy, sau đó bạn chỉ cần định cấu hình máy chủ DNS của Microsoft để không cung cấp dịch vụ DNS proxy dưới bất kỳ hình thức nào cho bất kỳ ai.

đọc thêm


Tuyệt vời viết lên.
Nic

Tôi đánh giá cao những thông tin, cảm ơn bạn! Tôi đang làm việc với một cơ sở hạ tầng nhỏ hơn ở đây, vì vậy giải pháp được đưa ra là quá mức cần thiết cho kịch bản này.
ilasno

Chỉ cần lưu ý nhanh rằng điều này không còn đúng kể từ Server 2016 - Windows hiện hỗ trợ DNS tách não , bao gồm tùy chọn để hạn chế tra cứu đệ quy tùy thuộc vào địa chỉ của máy khách. Tuy nhiên, thiết lập một máy chủ độc lập cho các yêu cầu công khai vẫn là tùy chọn đơn giản hơn.
Bob

5

Như Evan đã nêu trong câu trả lời của mình, các ứng dụng của bạn cần sử dụng thành phần máy khách DNS trên máy chủ, hoàn toàn độc lập với thành phần máy chủ DNS. Thành phần máy chủ DNS có thể được cấu hình để không thực hiện đệ quy, cho phép nó trả lời các truy vấn được gửi cho nó chỉ dành cho các vùng DNS mà nó có thẩm quyền.

Các ứng dụng có thể sử dụng các máy chủ DNS được định cấu hình trong các thuộc tính TCP / IP của NIC có liên quan, có thể được cấu hình để sử dụng bất kỳ máy chủ DNS nào sẽ thực hiện đệ quy (chẳng hạn như máy chủ DNS của Google). Các máy chủ DNS được định cấu hình trong các thuộc tính TCP / IP của NIC có liên quan không cần trỏ đến máy chủ DNS đang chạy trên cùng một máy chủ đó.


0

Tôi mới gặp vấn đề tương tự và máy chủ DNS của chúng tôi đã được sử dụng cho các cuộc tấn công khuếch đại. Nhưng tôi cần tiếp tục đệ quy cho các máy chủ nội bộ khác của chúng tôi.

Nếu bạn có bộ định tuyến của Cisco, đây là một sửa chữa có thể. Tôi đã chuyển DNS bên ngoài của chúng tôi sang bộ định tuyến Cisco 7200VXR và định cấu hình nó để chỉ trả lời các vùng DNS cụ thể. Nó sẽ truy vấn các máy chủ DNS nội bộ để bạn không phải nhập mọi thứ ở hai nơi.

Đây là một đoạn cấu hình của Cisco mà tôi đã sử dụng:

ip dns view default
 dns forwarder 192.168.0.xx (internal DNS server)
 domain round-robin

ip dns view-list default
 view default 1
  restrict name-group 1

ip dns name-list 1 permit abc.com
ip dns name-list 1 permit def.com
ip dns name-list 1 permit anyotherdomainthatyouhost.com
ip dns name-list 1 permit 3.2.1.in-addr.arpa (needed for reverse PTR lookups)

interface fastethernet0/0 (the interface where the IP address is that will host DNS)
 ip dns view-group default
 ip address 1.2.3.4 secondary (use the public facing IP you will use to host DNS)

ip dns server

Ngoài ra, đừng quên cho phép các gói DNS vào bộ định tuyến với danh sách truy cập, chẳng hạn như:

permit udp any host 1.2.3.4 eq domain
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.