Bảo mật kết nối DNS bằng Windows Server 2008 R2 DNSSEC

Quản trị mạngTrong hướng dẫn này chúng tôi sẽ giới thiệu các kiến thức tổng quan về DNSSEC và các lý do tại sao việc bảo mật cơ sở hạ tầng DNS lại quan trọng đối với tổ chức của bạn.

Với sự nổi dậy của IPv6, việc truy cập vào các máy tính thông qua tên miền DNS sẽ trở nên quan trọng hơn bao giờ hết. Một số người đã và đang làm việc với IPv4 nhiều năm thấy rằng họ có thể dễ dàng nhớ được số địa chỉ IPv4 bằng hệ thống bốn chữ số cách nhau bởi dấu chấm, trong khi đó không gian địa chỉ IPv6 quá lớn và định dạng hexa là quá phức tạp, do đó chỉ có ít người có thể nhớ được các địa chỉ IP phức tạp này trên mạng của họ. Mỗi địa chỉ IPv6 đều có 128 bit – có chiều dài gấp 4 lần chiều dài của địa chỉ IPv4. Đây là cách cung cấp một không gian địa chỉ lớn hơn cho số lượng các host trên Internet ngày càng tăng, tuy nhiên nó cũng làm cho việc nhớ các địa chỉ trở nên khó khăn hơn.

Vấn đề: Bản tính không an toàn của cơ sở dữ liệu DNS

Do sự phụ thuộc ngày càng tăng vào DNS nên chúng ta sẽ cần một cách để bảo đảm rằng toàn bộ các entry trong cơ sở dữ liệu DNS luôn chính xác và tin cậy – và một trong những cách hiệu quả nhất cho chúng ta thực hiện điều đó là bảo đảm rằng các cơ sở dữ liệu DNS của chúng ta được an toàn. Tuy nhiên cho tới gần đây, DNS vẫn được biết đến là một hệ thống không an toàn, với hàng loạt các giả định được đưa ra để cung cấp một mức an toàn cơ bản.

Do bản tính không an toàn này nên đã có nhiều trường hợp mà ở đó sự tin tưởng đã bị vi phạm và các máy chủ DNS bị chiếm quyền điều khiển (redirect sự phân giải tên DNS đến các máy chủ DNS giả mạo), các bản ghi DNS và DNS cache bị giả mạo, làm cho người dùng tin rằng họ đang kết nối đến các website hợp lệ nhưng thực tế là họ đang kết nối đến các website có chứa nội dung mã độc hoặc có thể thu thập các thông tin của họ bằng cách pharming (redirect lưu lượng của một website đến một website khác). Pharming cũng tương tự như phishing, tuy nhiên thay vì sử dụng theo một liên kết trong email, người dùng truy cập sitte bằng cách sử dụng URL đúng của site hợp lệ và họ nghĩ là đang an toàn. Tuy nhiên thực tế bản ghi DNS đã bị thay đổi và được redirect đến URL giả mạo, site bị pharming.

Giải pháp: Windows Server 2008 R2 DNSSEC

Một giải pháp bạn có thể sử dụng trên mạng nội bộ để bảo đảm an toàn cho môi trường DNS của mình là sử dụng Windows Server 2008 R2 DNSSEC. DNSSEC là một bộ sưu tập các extension có khả năng cải thiện độ bảo mật của các giao thức DNS. Các extension này sẽ bổ sung thêm sự tin cậy, tính niêm trực của dữ liệu và khả năng từ chối DNS đã được nhận thực. Giải pháp cũng bổ sung thêm số bản ghi mới vào DNS, chẳng hạn như DNSKEY, RRSIGN, NSEC và DS.

DNSSEC làm việc như thế nào

Những gì DNSSEC thực hiện là cho phép tất cả các bản ghi trong cơ sở dữ liệu DNS đều được ký giống như phương pháp được sử dụng để truyền thông email. Khi một máy khách DNS phát hành một truy vấn đến máy chủ DNS, nó sẽ trả về các chữ ký số của bản ghi. Máy khách sẽ có khóa công của CA đã các ký bản ghi DNS, sau đó có thể giải mã các giá trị đã được hash (chữ ký) và hợp lệ hóa các đáp trả. Để thực hiện điều này, máy khách DNS và máy chủ được cấu hình để sử dụng trust anchor. Trust anchor là một khóa công được cấu hình từ trước kết hợp với vùng DNS nào đó.

Cơ sở dữ liệu DNS có sẵn cho cả hai vùng dựa trên file (không được tích hợp Active Directory) và các cùng được tích hợp, việc tạo bản sao cũng có sẵn cho các máy chủ DNS khác có thẩm quyền cho các vùng đang được nói đến.

Windows 2008 R2 và các máy khách Windows 7 DNS đều được cấu hình, mặc định, không hợp lệ. Khi rơi vào trường hợp này, máy khách DNS sẽ cho phép máy chủ DNS thực hiện sự hợp lệ hóa dựa trên hành vi của nó và máy khách DNS có khả năng chấp nhận các đáp trả DNSSEC được gửi trở lại từ máy chủ DNS DNSSEC. Bản thân máy khách DNS cũng được cấu hình để sử dụng Name Resolution Policy Table (NRPT) nhằm phân định cách tương tác với máy chủ DNS như thế nào. Cho ví dụ, nếu NRPT chỉ thị rằng máy khách DNS cần bảo mật kết nối giữa máy khách và máy chủ DNS, khi đó sự chứng thực bằng chứng chỉ sẽ được thực thi trên truy vấn. Nếu sự điều đình bảo mật thất bại, chắc chắn đã xuất hiện một vấn đề nào đó trong quá trình phân giải tên, và cố gắng truy vấn tên sẽ thất bại. Mặc định, khi máy khách trả về đáp trả truy vấn DNS cho ứng dụng tạo yêu cầu, nó sẽ chỉ trả về các thông tin này nếu máy chủ DNS đã hợp lệ hóa các thông tin.

Bảo đảm các kết quả hợp lệ

Có hai phương pháp được sử dụng để bảo đảm rằng các kết quả của truy vấn DNS là hợp lệ. Đầu tiên, bạn cần bảo đảm rằng các máy chủ DNS có các máy khách DNS của bạn kết nối đến thực sự là các máy chủ DNS mà bạn muốn các máy khách DNS kết nối đến – chúng không phải là các máy chủ DNS tấn công hay giả mạo đang gửi đi các đáp trả giả mạo. IPsec là một cách hiệu quả để bảo đảm sự nhận dạng của máy chủ DNS. DNSSEC sử dụng SSL để xác nhận rằng kết nối là an toàn. Máy chủ DNS sẽ tự thẩm định nó thông qua một chứng chỉ được ký bởi nhà phát hành tin cậy (chẳng hạn như PKI riêng của bạn).

Cần lưu ý rằng nếu có máy chủ IPsec và thực thi cách ly miền thì bạn phải loại bỏ TCP và UDP ports 53 trong chính sách. Nếu không, chính sách IPsec sẽ được sử dụng thay vì sự chứng thực dựa trên chứng chỉ. Điều này sẽ làm cho máy khách thất bại trong việc hợp lệ hóa chứng chỉ từ máy chủ DNS và kết nối an toàn sẽ không được thiết lập.

Vùng được ký

DNSSEC sẽ ký các vùng, sử dụng hành động ký offline với công cụ dnscmd.exe. Cách thức này cho kết quả trong file vùng được ký. File vùng được ký có chứa RRSIG, DNSKEY, DNS và các bản ghi tài nguyên NSEC cho vùng đó. Sau khi một vùng nào đó được ký, nó cần được reload bằng công cụ dnscmd.exe hoặc DNS manager console.

Một hạn chế trong việc ký vùng là các nâng cấp động sẽ bị vô hiệu hóa. Windows Server 2008 R2 chỉ cho phép DNSSEC với các vùng tĩnh. Vùng này phải được ký lại mỗi khi có thay đổi diễn ra đối với vùng, điều này có thể làm hạn chế sự tiện ích của DNSSEC trong nhiều môi trường.

Vai trò của Trust Anchor

Trust anchor đã được đề cập đến ở phần trên. Các bản ghi tài nguyên DNSKEY được sử dụng để hỗ trợ cho các trust anchor. Một máy chủ DNS hợp lệ hóa phải có tối thiểu một trust anchor. Các trust anchor cũng chỉ áp dụng cho vùng mà chúng được gán. Nếu máy chủ DNS có một vài vùng thì chúng ta cần phải sử dụng nhiều trust anchor.

Máy chủ DNS có kích hoạt DNSSEC sẽ thực hiện sự hợp lệ hóa về tên trong một truy vấn khách miễn là trust anchor thích hợp cho vùng đó. Máy khách không cần biết đến DNSSEC cho việc hợp lệ diễn ra, vì vậy các máy khách DNS không kích hoạt DNSSEC (non-DNSSEC) có thể vẫn sử dụng máy chủ DNS này để phân định tên trong mạng nội bộ.

NSEC/NSEC3

NSEC và NSEC3 là các phương pháp có thể được sử dụng để cung cấp khả năng từ chối sự tồn tại các bản ghi DNS đã được nhận thực. NSEC3 là một cải thiện dựa trên chỉ tiêu kỹ thuật NSEC ban đầu để cho phép bạn có thể ngăn chặn hiện tượng “zone walking”, hiện tượng cho phép kẻ tấn công có thể lấy lại tất cả các tên trong vùng DNS. Đây là một công cụ hữu dụng mà các kẻ tấn công có thể sử dụng để trinh sát mạng của bạn. Khả năng này không có trong Windows Server 2008 R2, vì nó chỉ hỗ trợ cho NSEC được tích hợp.

Mặc dù vậy có một số hỗ trợ hạn chế cho NSEC3:

  • Windows Server 2008 R2 có thể host một vùng với NSEC có sự ủy quyền NSEC3. Mặc dù vậy, các vùng con của NSEC3 không được host trên các máy chủ Windows DNS.
  • Windows Server 2008 R2 có thể là một máy chủ DNS không nhận thực đã được cấu hình với một trust anchor cho một vùng đã được ký với NSEC và có các vùng con NSEC3.
  • Các máy khách Windows 7 có thể sử dụng máy chủ DNS không phải của Microsoft để phân định tên DNS khi máy chủ đó biết về NSEC3.
  • Khi một vùng được ký NSEC, bạn có thể cấu hình Name Resolution Policy Table sao cho không yêu cầu sự hợp lệ hóa cho vùng. Khi thực hiện điều này, máy chủ DNS sẽ không thực hiện sự hợp lệ hóa và sẽ trả về đáp trả với Active Directory.

Triển khai DNSSEC

Để triển khai DNSSEC, bạn cần thực hiện các bước như sau:

  • Tìm hiểu các khái niệm về khóa của DNSSEC
  • Nâng cấp máy chủ DNS lên Windows Server 2008 R2
  • Đánh giá lại các yêu cầu đang ký, chọn một cơ chế phát hành khóa và nhận dạng các máy tính an toàn và các vùng được bảo vệ DNSSEC.
  • Tạo và backup các khóa ký cho các vùng của bạn. Xác nhận rằng DNS sẽ vẫn làm việc và trả lời các truy vấn sau khi ký vùng.
  • Phân phối trust anchor của bạn cho tất cả các máy chủ không nhận thực sẽ thực hiện sự hợp lệ hóa DNS bằng DNSSEC.
  • Triển khai các chứng chỉ và chính sách IPsec cho máy chủ DNS
  • Cấu hình các thiết lập NRPT và triển khai chính sách IPsec cho các máy khách.

Kết luận

Trong bài này chúng tôi đã cung cấp cho các bạn một kiến thức tổng quan ở mức cao về DNSSEC và một số lý do bảo mật cơ sở hạ tầng DNS lại quan trọng đến vậy cho tổ chức của bạn. Windows Server 2008 R2 giới thiệu một số tính năng mới có thể bảo đảm cho cơ sở hạ tầng DNS của bạn trở nên an toàn hơn bao giờ hết thông qua sử dụng kết hợp với các vùng DNS được ký, các kết nối an toàn SSL cho các máy chủ DNS tin cậy, nhận thực IPsec và mã hóa. Trong bài sau, chúng tôi sẽ đưa ra giải pháp DNSSEC ở mức độ chi tiết hơn và giới thiệu cụ thể thêm về các bản ghi tài nguyên mới, quá trình ký và sự tương tác máy khách máy chủ diễn ra giữa máy khách và máy chủ DNSSEC.

Thứ Năm, 01/07/2010 08:12
31 👨 2.827
0 Bình luận
Sắp xếp theo
    ❖ Tổng hợp