Bảo mật lưu lượng DNS bằng DNSSEC và Chính sách DNS

Tác giả sysadmin, T.M.Hai 20, 2022, 10:51:09 SÁNG

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Bảo mật lưu lượng DNS bằng DNSSEC và Chính sách DNS


Trong Windows Server 2016, chúng tôi có thể bảo mật lưu lượng DNS bằng DNSSEC và các chính sách DNS. DNSSEC cho phép khách hàng xác thực các phản hồi DNS, vì theo mặc định, DNS không được thiết kế để trở thành một giao thức bảo mật. DNSSEC cho phép khách hàng xác nhận rằng thông tin được trả về từ máy chủ DNS thực sự đến từ máy chủ DNS chính xác và đáng tin cậy mà không cần sửa đổi.

DNSSEC, viết tắt của Phần mở rộng bảo mật hệ thống tên miền, đã được thêm vào để giúp bảo mật giao thức DNS hiện có. Hướng dẫn này sẽ hướng dẫn bạn cách định cấu hình DNSSEC trong môi trường Windows Server 2016.

Cũng cần lưu ý rằng DNSSEC không phải là thứ gì đó độc nhất đối với Windows, nó là phần mở rộng của DNS và do đó không thể biết được hệ điều hành. Tôi đề xuất hướng dẫn này nếu bạn muốn có cái nhìn tổng quan về DNSSEC, vì phần còn lại của bài đăng này sẽ phác thảo cách định cấu hình và sử dụng nó, thay vì cung cấp thông tin cụ thể về tất cả các bản ghi DNSSEC. Cũng cần lưu ý rằng để máy chủ DNS sử dụng DNSSEC, máy chủ DNS phải đang chạy Windows Server 2012 trở lên.

1. Bảo mật lưu lượng DNS bằng DNSSEC và Chính sách DNS

Chúng ta sẽ bắt đầu bằng cách thảo luận cách bảo mật lưu lượng DNS bằng DNSSEC, sau đó chuyển sang sử dụng Bảng chính sách phân giải tên (NRPT) để đảm bảo rằng các máy khách sử dụng DNSSEC cho các miền được chỉ định thông qua chính sách nhóm.

1.1. Định cấu hình DNSSEC

Trong ví dụ này, chúng tôi sẽ định cấu hình DNSSEC trên bộ điều khiển miền Active Directory đang hoạt động như một máy chủ DNS trong miền. Bắt đầu bằng cách mở Trình quản lý DNS, có thể tìm thấy điều này trong Trình quản lý Máy chủ trong Công cụ > DNS.

Trong DNS Manager, chọn Forward Lookup Zones và tìm vùng DNS mà bạn muốn ký. Trong ví dụ này, đây là   Đăng nhập để xem liên kết. Chọn DNSSEC, sau đó ký tên vào vùng.


Thao tác này sẽ mở Trình hướng dẫn ký vùng, nhấp vào tiếp theo để tiếp tục.


Mặc dù chúng tôi có thể tùy chỉnh cài đặt, nhưng trong ví dụ này, chúng tôi sẽ sử dụng cài đặt mặc định khi ký vùng.


Bây giờ chúng ta sẽ thấy các tham số sẽ được sử dụng khi ký vùng, bạn có thể cuộn qua các tham số này rồi nhấp vào tiếp theo để tiếp tục.


Sau đó, bạn sẽ được thông báo khi quá trình ký hoàn tất, nhấp vào kết thúc để hoàn tất quá trình.


Bây giờ chúng tôi có thể làm mới cửa sổ Trình quản lý DNS và thấy rằng chúng tôi có toàn bộ các bản ghi liên quan đến DNSSEC hiện đang hiển thị.


Ngoài ra, có thể sử dụng PowerShell, cụ thể là lệnh ghép ngắn Resolve-DnsName. Như được hiển thị bên dưới với tùy chọn -dnssecok, chúng tôi có thể xem một số thông tin cụ thể về DNSSEC không có ở đó trước khi ký vùng.


Chúng tôi cũng có thể xem các thuộc tính DNSSEC bằng cách nhấp chuột phải vào vùng, chọn DNSSEC như trước, tiếp theo là các thuộc tính.


1.2. Định cấu hình Bảng chính sách phân giải tên

Bây giờ DNSSEC đã được định cấu hình và vùng đã được ký, chúng tôi sẽ định cấu hình NRPT thông qua chính sách nhóm.

Để bắt đầu mở Quản lý chính sách nhóm, điều này có thể được thực hiện thông qua Trình quản lý máy chủ > Công cụ > Quản lý chính sách nhóm hoặc bằng cách chạy 'gpmc.msc' trong PowerShell hoặc Dấu nhắc lệnh. Tại thời điểm này, bạn có thể tạo chính sách mới hoặc chỉnh sửa chính sách hiện có. Trong ví dụ này, chúng ta sẽ tạo một GPO mới có tên là "DNSSEC".


Chỉnh sửa chính sách và duyệt đến Cấu hình máy tính > Chính sách > Cài đặt Windows > Chính sách phân giải tên.


Trong ví dụ này, chúng tôi đang định cấu hình tất cả độ phân giải DNS cho miền *.example.com để yêu cầu máy khách sử dụng DNSSEC qua IPsec, điều này cũng sẽ mã hóa máy chủ giữa máy khách DNS và máy chủ. Bản thân DNSSEC không mã hóa lưu lượng DNS thực tế, tuy nhiên chúng ta có thể thực hiện việc này với sự trợ giúp của IPsec. Khi bạn đã thiết lập mọi thứ theo cách mình muốn, hãy cuộn xuống và nhấp vào áp dụng. Tất cả những gì còn lại phải làm là áp dụng đối tượng chính sách nhóm (GPO) cho một trang web, miền hoặc đơn vị tổ chức (OU) nơi bạn muốn chính sách có hiệu lực.

Việc triển khai DNSSEC sẽ đưa ra chi phí hoạt động, hãy xem trang cân nhắc về hiệu suất DNSSEC của Microsoft nếu bạn quan tâm đến vấn đề này.

2. Bảo mật DNS khác

Có một số tính năng bảo mật DNS khác mà Microsoft đã triển khai để giúp bảo mật máy chủ DNS.

2.1. Khóa bộ đệm DNS

Bản ghi DNS được lưu vào bộ nhớ đệm trong khoảng thời gian được xác định trong giá trị Thời gian tồn tại (TTL) được xác định trong bản ghi. Nếu TTL hết hạn, bản ghi sẽ bị xóa khỏi bộ đệm cho đến khi nó được tra cứu và lưu lại vào bộ đệm. Bản ghi bộ đệm giúp cải thiện hiệu suất DNS vì máy chủ DNS sẽ không cần thực hiện tra cứu máy chủ DNS bên ngoài.

Khóa bộ đệm DNS có thể giúp bảo vệ bộ đệm DNS khỏi các cuộc tấn công đầu độc bằng cách khóa bộ đệm, ngăn không cho các mục nhập bị ghi đè. Theo mặc định, khóa bộ đệm ẩn DNS được bật và sẽ khóa bộ đệm ẩn trong toàn bộ khoảng thời gian bản ghi được lưu vào bộ đệm ẩn. Lệnh bên dưới sẽ thay đổi phần trăm khóa bộ đệm thành 50%, nghĩa là sau khi bản ghi đã vượt qua 50% TTL, nó có thể được sửa đổi.

Mã nguồn [Chọn]
dnscmd /config /cachelockingpercent 50
Lưu ý rằng giá trị mặc định 100% thích hợp hơn trong hầu hết các môi trường, lệnh trên dành cho mục đích trình diễn.

2.2. DNS Socket Pool

Đây là một tính năng bảo mật DNS khác, tuy nhiên lần này nó dành riêng cho Windows Server 2008 R2 trở lên. Điều này sẽ làm cho máy chủ DNS sử dụng một cổng nguồn ngẫu nhiên khi gửi các truy vấn DNS giúp bảo vệ chống lại ngộ độc bộ đệm DNS. Vì cổng nguồn hiện là ngẫu nhiên cho mỗi yêu cầu DNS thay vì giống nhau và dễ đoán hơn nên kẻ tấn công khó đoán chính xác hơn. Điều này được bật theo mặc định để sử dụng 2500 cổng khác nhau, tuy nhiên chúng ta có thể mở rộng cổng này lên tối đa 10000 bằng lệnh dnscmd.

Mã nguồn [Chọn]
dnscmd /config /socketpoolsize 10000
Chúng tôi có thể bảo mật lưu lượng DNS bằng cách sử dụng DNSSEC và các chính sách DNS trong miền Windows của mình để cung cấp quyền truy cập nguồn gốc, tính toàn vẹn của dữ liệu và từ chối sự tồn tại đã được xác thực, đồng thời giúp bảo vệ chống lại các cuộc tấn công giả mạo DNS. Với chính sách nhóm, chúng tôi có thể định cấu hình bảng chính sách phân giải tên để đảm bảo rằng máy khách sử dụng DNSSEC khi phân giải DNS cho các miền được chỉ định. Chúng tôi thậm chí có thể tùy chọn mã hóa lưu lượng này bằng IPsec, vì bản thân DNSSEC không cung cấp bất kỳ mã hóa nào cho lưu lượng DNS.