
Bảo mật kết nối DNS bằng Windows Server 2008 R2
DNSSEC
Trong 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.

