"Trình phân giải DNS mở" là một máy chủ DNS sẵn sàng giải quyết các tra cứu DNS đệ quy cho bất kỳ ai trên internet. Nó giống như một chuyển tiếp SMTP mở, trong đó việc thiếu xác thực đơn giản cho phép các bên thứ 3 độc hại tuyên truyền tải trọng của họ bằng thiết bị không bảo mật của bạn. Với các rơle SMTP mở, vấn đề là chúng chuyển tiếp thư rác. Với các trình phân giải DNS mở, vấn đề là chúng cho phép tấn công từ chối dịch vụ được gọi là Tấn công khuếch đại DNS.
Cách thức hoạt động của cuộc tấn công này khá đơn giản - vì máy chủ của bạn sẽ giải quyết các truy vấn DNS đệ quy từ bất kỳ ai, kẻ tấn công có thể khiến nó tham gia vào DDoS bằng cách gửi cho máy chủ của bạn một truy vấn DNS đệ quy sẽ trả về một lượng lớn dữ liệu, lớn hơn nhiều so với gói yêu cầu DNS gốc. Bằng cách giả mạo (giả mạo) địa chỉ IP của họ, họ sẽ hướng lưu lượng truy cập bổ sung này đến máy tính của nạn nhân thay vì của họ, và tất nhiên, họ sẽ thực hiện nhiều yêu cầu nhanh nhất có thể đến máy chủ của bạn và bất kỳ DNS mở nào khác người giải quyết họ có thể tìm thấy. Theo cách này, ai đó có một đường ống tương đối nhỏ có thể "khuếch đại" một cuộc tấn công từ chối dịch vụ bằng cách sử dụng tất cả băng thông trên đường ống của họ để hướng lưu lượng truy cập lớn hơn nhiều vào nạn nhân của họ.
ArsTechnica đã thực hiện một bài viết khá hay về cuộc tấn công DDoS khuếch đại DNS gần đây chống lại Spamhaus và đáng để đọc nhanh để có được những điều cơ bản (và một hình ảnh tốt về khuếch đại).
Cách đơn giản nhất để bảo vệ hệ thống của bạn khỏi bị lạm dụng như thế này là giới hạn các địa chỉ mà máy chủ của bạn sẽ thực hiện tra cứu đệ quy cho các mạng con cục bộ của bạn. (Tất nhiên, các chi tiết cụ thể phụ thuộc vào máy chủ DNS mà bạn đang sử dụng).
Ví dụ: nếu tôi đang sử dụng BIND 9 và chỉ muốn ngăn đệ quy DNS từ các địa chỉ bên ngoài, tôi sẽ sử dụng mã sau trong cấu hình của mình:
options {
directory "/var/named/master";
allow-recursion { 127.0.0.1; 10.0.0.0/8; 192.168.0.0/16; 172.16.0.0/12; };
Dòng mã đó báo cho máy chủ BIND của tôi chỉ xử lý các yêu cầu DNS đệ quy cho địa chỉ loopback cục bộ (mà tôi đoán là tôi có thể / nên đặt thành khối loopback cục bộ, toàn bộ / 8) và 3 không gian địa chỉ IPv4 riêng tư.
Đối với Windows Server 2012, mà bạn nói bạn đang sử dụng, bạn có các tùy chọn bên dưới.
1. Tách máy chủ DNS của bạn khỏi máy chủ IIS của bạn.
- Ít nhất là trong một thế giới hoàn hảo, không có lý do gì bạn cần chạy DNS trên cùng một hộp với IIS.
- Đặt DNS vào hộp bên trong không phải là NAT, vì vậy thế giới bên ngoài không thể truy cập được và để IIS nằm trên hộp đối diện bên ngoài mà phần còn lại của thế giới có thể có được. Bạn có thể sử dụng quy tắc tường lửa kép hoặc tường lửa để chọn lọc cho phép truy cập vào máy chủ DNS của bạn từ máy chủ IIS.
2. Chặn các yêu cầu DNS bên ngoài bằng tường lửa, chẳng hạn như tường lửa tích hợp trong Windows.
- Thật ngạc nhiên, Windows DNS không cho phép bạn giới hạn các địa chỉ mà các yêu cầu DNS đệ quy được thực hiện, vì vậy đây thực sự là phương pháp được đề xuất bởi Microsoft.
-
- Chọn quy tắc DNS (TCP và UDP), đi đến
Remote IP address
phần và thêm các mạng con được sử dụng trên mạng LAN của bạn, cũng như mọi địa chỉ IP đối mặt công khai của các máy chủ cần truy cập vào Active Directory. Như với ví dụ BIND, không gian địa chỉ riêng của IPv4 là 127.0.0.0/8
10.0.0.0/8
192.168.0.0/16
và 172.16.0.0/12
.
- Tôi thực sự không chắc chắn điều này sẽ có ảnh hưởng gì đến môi trường của bạn, vì bạn chưa thực sự nói rõ DNS và AD được cấu hình như thế nào trong môi trường của bạn và do đó, đây là tùy chọn cuối cùng.
-
- Mở Trình quản lý DNS.
- Trong cây điều khiển, bấm chuột phải vào máy chủ DNS hiện hành, sau đó bấm Thuộc tính.
- Ở đâu?
- DNS / máy chủ DNS áp dụng
- Nhấp vào tab Nâng cao.
- Trong tùy chọn Máy chủ, chọn hộp kiểm Vô hiệu đệ quy, rồi bấm OK.
- Vì chúng ta có một môi trường nhiều rừng và sử dụng các giao nhận có điều kiện để làm việc đó, tôi sẽ không kiểm tra hộp đó. Có thể là một cái gì đó để bạn xem xét là tốt.