Trình phân giải DNS mở là gì và làm cách nào tôi có thể bảo vệ máy chủ của mình khỏi bị tin tặc lạm dụng?


15

Tôi không có nền tảng bảo mật máy tính mạnh nhất, nhưng hôm qua một trong những máy chủ của công ty tôi đã bị máy chủ của chúng tôi đóng cửa.

Đó là một máy chủ được gán một IP công cộng nơi tôi lưu trữ một số ứng dụng dịch vụ web bao gồm các trang web và API. Tôi được thông báo rằng máy chủ của tôi "đang chạy một trình phân giải dns mở đang được sử dụng để chuyển tiếp cuộc tấn công từ chối dịch vụ sang một thực thể bên ngoài."

Điều đó có nghĩa là gì? Cuộc tấn công này hoạt động như thế nào? Và làm thế nào tôi có thể bảo vệ hệ thống của mình khỏi bị lạm dụng như thế này?

Trong trường hợp cụ thể của tôi, máy chủ được đề cập là trên Windows Server 2012 và nó đang phục vụ DNS cho miền Active Directory.


Nếu bạn cho chúng tôi biết máy chủ DNS nào bạn sử dụng, ai đó có thể cho bạn biết chính xác cấu hình bạn cần đặt và thời trang nào. Không có thông tin đó, tôi chỉ đơn giản đoán BIND và tất cả các không gian địa chỉ IP riêng tư, bởi vì BIND là máy chủ DNS phổ biến nhất và không gian địa chỉ riêng là an toàn. Có lẽ bạn cũng muốn cho phép các yêu cầu đệ quy từ (các) khối địa chỉ bên ngoài của mình, nếu có.
HoplessN00b

@ HoplessN00b Cảm ơn bạn, câu trả lời của bạn khá hữu ích. Tôi không sử dụng BIND (máy chủ của tôi cũng cho rằng tôi đã và cung cấp cho tôi một số lệnh để chạy); Tôi có một máy chủ DNS được thiết lập như một vai trò trong IIS. Thật thú vị, tôi đã không tự cấu hình máy chủ DNS và tôi không chắc rằng tôi hoàn toàn hiểu tại sao tôi thậm chí cần cái này. Điều gì phá vỡ nếu nó bị vô hiệu hóa?
JSideris

Uh, không vô hiệu hóa DNS trong môi trường Windows. Có khả năng bạn sẽ phá vỡ Active Directory. Hãy cho tôi biết phiên bản Windows Server nào và tôi có thể (có thể) chỉnh sửa trong một số ảnh chụp màn hình để chỉ cho bạn cách bảo mật hộp DNS Windows.
HoplessN00b

Ổn thỏa. Tôi thực sự chỉ cần thiết lập thư mục hoạt động vào cuối tuần này. Đó là máy chủ windows 2012 tiêu chuẩn.
JSideris

Câu trả lời:


28

"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.
  • nhập mô tả hình ảnh ở đây
    • Chọn quy tắc DNS (TCP và UDP), đi đến Remote IP addressphầ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/16172.16.0.0/12.

3. Vô hiệu hóa đệ quy .

  • 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.
  • nhập mô tả hình ảnh ở đây
    1. Mở Trình quản lý DNS.
    2. 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.
    3. Ở đâu?
    4. DNS / máy chủ DNS áp dụng
    5. Nhấp vào tab Nâng cao.
    6. 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.

Câu trả lời tuyệt vời!
Fred the Magic Wonder Dog

Giải pháp hoàn hảo, tài liệu tốt :).
JSideris

2
Vậy thì làm thế nào để 8.8.8.8 hoặc 1.1.1.1 ngăn mình khỏi các bộ giải quyết mở?
LinuxBabe
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.