Thứ Sáu, 7 tháng 12, 2012

Bảo vệ DNS cho Windows XP

Part 1:
DNS là một dịch vụ khá đơn giản, nhưng việc bảo vệ nó lại là một vấn đề, có thể dừng hẳn cả cơ sở hạ tầng mạng của bạn. Dù DNS có là một cơ sở dữ liệu của các tên và số thì một kẻ tấn công cũng có thể lợi dụng những thông tin thu lượm được từ việc tấn công cơ sở dữ liệu. Một số tấn công có thể lấy được các thông tin có trong cơ sở dữ liệu và sau đó sử dụng những thông tin đó để phá hoại bạn. Một số tấn công khác lại có thể điền thông tin vào cơ sở dữ liệu, trong khi cố gắng để kiểm soát được các máy chủ DNS thì một số giải pháp thông thường không thể thực hiện được. Nếu chưa từng quan tâm đến việc tấn công trên cơ sở hạ tầng DNS của bạn thì đây là những gì cần phải biết trước khi quá muộn.

Khái niệm cơ bản về DNS
DNS là viết tắt của Domain Naming Service (dịch vụ tên miền), là một dịch vụ dùng để giải quyết các địa chỉ IP bằng các tên. Mục đích chính ở đây là để hiểu về những tên mà chúng ta đang nói. Khi một tên được chỉ thị, DNS lưu các thông tin liên quan đến miền. Ví dụ, Active Directory sử dụng DNS để lưu các tên miền và tên máy tính của các máy tính trên mạng. Nếu miền của bạn được đặt tên là policy.org và bộ điều khiển miền đầu tiên trong miền là PDC1 thì bạn sẽ có các mục trong DNS như trong hình 1.

Hình 1: Các mục DNS cho máy tính đầu tiên trong miền Active Directory của bạn

Lưu ý trong hình trên là không chỉ có một mục cho PDC1 mà còn có cả một địa chỉ IP đi kèm với PDC1 là X.X.X.X. Lý do ở đây là cứ có một địa chỉ IP thì sẽ có một tên đi kèm với nó và các dịch vụ khác trên mạng sẽ không sử dụng tên này, đúng hơn là địa chỉ IP này. Mặc dù vậy, xét về khía cạnh con người, chúng ta thích tên hơn là các địa chỉ IP của nó. DNS đã đưa ra một giải pháp tên đối với các địa chỉ IP. Nó có thể được cấu hình với một vùng tra cứu ngược, vùng này sẽ trả về tên khi nhận được địa chỉ IP.

Bảo vệ DNS với Active Directory
Một trong những quyết định đầu tiên bạn cần phải thực hiện đó là kiểu cơ sở dữ liệu DNS mà bạn sẽ cấu hình để hỗ trợ miền Active Directory. Bạn có thể lưu thông tin trong một cơ sở dữ liệu DNS chuẩn, điều này phải có một máy chủ DNS chính với các máy chủ DNS thứ cấp, hoặc bạn có thể cấu hình cơ sở dữ liệu DNS là Active Directory tích hợp như thể hiện trong hình 2.

Hình 2: Cơ sở dữ liệu DNS có thể là Active Directory tích hợp
Tốt nhất là nên cấu hình các máy chủ DNS của bạn là Active Directory tích hợp khi chúng đang hỗ trợ Windows Active Directory, do đó bạn có thể lợi dụng được những ưu điểm của nó. Bạn cũng có thể có được một số lợi ích về sự ổn định đối với loại cơ sở dữ liệu DNS này, tuy nhiên ở đây chúng tôi muốn tập trung vào các khía cạnh bảo mật.

Ưu điểm chính mà bạn có được từ một Active Directory tích hợp cơ sở dữ liệu DNS là các nâng cấp động bảo đảm, bạn có thể xem cấu hình trong hình 3. Các nâng cấp động là các chức năng chính của DNS, chức năng này cho phép các máy tính miền tự động đăng kí tên và địa chỉ IP của chúng với máy chủ DNS khi chúng vào mạng hoặc thay đổi địa chỉ IP thông qua máy chủ DHCP. Biểu mẫu nâng cấp này giảm được khó khăn trong việc nhập thủ công tên và địa chỉ IP vào cơ sở dữ liệu DNS, một phương pháp cũ mà chúng ta đã dùng. Khía cạnh bảo mật sẽ cần phải đề cập đến ở đây là nâng cấp tự động từ một client vào cơ sở dữ liệu DNS có thể mở cửa cho các mã nguy hiểm lọt vào hay không. Tuy nhiên, bạn có thể yên tâm rằng, các nâng cấp tự động an toàn sẽ thẩm định máy tính đang yêu cầu nâng cấp đến máy chủ DNS cũng có một mục trong cơ sở dữ liệu Active Directory. Điều này có nghĩa là chỉ có các máy tính đã có tên trong miền Active Directory mới có thể cập nhật cơ sở dữ liệu DNS một cách tự động

Hình 3: Active Directory tích hợp cơ sở dữ liệu DNS
có thể được cấu hình cho các nâng cấp động an toàn

Thực hiện nâng cấp động với DHCP
Một tùy chọn mà bạn có trong Windows đó là có thể thực hiện nâng cấp động với DHCP cho client. Điều này không được quy định với Windows 2000/XP/Server 2003/Vista nhưng nó được quy định với các máy tính sử dụng Windows NT/9x.

Các máy chủ DHCP là người kiểm soát đầu vào, ngăn chặn các máy chủ DHCP khác hoặc client để nâng cấp bản ghi trong sau này. Để giải quyết điều này, bổ sung các tài khoản máy chủ DHCP vào nhóm DNSUpdateProxy, điều đó sẽ cho kết quả vào DNS cho các client để có một danh sách điều khiển truy cập an toàn Access Control Lists (ACLs). ACL mới gồm những người dùng xác thực có khả năng cập nhật đầu vào DNS cho client. Vấn đề này được thiết kết cho cả máy chủ DHCP khác hoặc thậm chí máy khách cũng có thể cập nhật các mục vào trong tương lai vào DNS cho máy khách.

Vấn đề bảo mật ở đây là người dùng xác thực có khả năng cập nhật client, nhưng có một vấn đề khác có thể nảy sinh. Nếu bạn cài DHCP trên một bộ điều khiển miền và sau đó bổ sung máy tính này vào nhóm thì kết quả thu được sẽ là tất cả các mục vào đã được tạo bởi bộ điều khiển miền đều có cùng ACL an toàn. Các mục vào của các bộ điều khiển miền đang tồn tại rất nhạy cảm đối với vấn đề bảo mật và tính ổn định của Active Directory, việc có được các mục vào như vậy sẽ không phải là điều thú vị trong bảo mật an toàn đối với tổ chức của bạn. Các mục vào sẽ bị lộ ra tất cả SRV (Service Resource Records) để điều khiển client, máy chủ tìm kiếm Active Directory liên quan đến các dịch vụ bên trong mạng. Các dịch vụ này có thể là Kerberos, site, TCP, IP, và các bản ghi SRV.

Chính vì vậy, giải pháp cho vấn đề này là không nên cài đặt DHCP trên các bộ điều khiển miền. Nếu bạn có DHCP đã cài đặt trên các bộ điều khiển miền thì cách tốt nhất là không dùng máy chủ DHCP để thực hiện các nâng cấp động cho client. Mặt khác bạn chỉnh sửa các thiết lập không an toàn bên trong mỗi giới thiệu được cho với các bộ điều khiển miền trong DNS.

Kết luận
Như những gì đã thấy, DNS quả thực đơn giản chứ không phải là một dịch vụ phức tạp. Chỉ với nhiệm vụ giải quyết tên cho các địa chỉ IP hoặc ngược lại, mọi người sẽ nghĩ rằng rất dễ dàng cấu hình và an toàn. Mặc dù vậy, có một số thiết lập sẽ cho phép an toàn hơn và môi trường DNS ổn định hơn. Đầu tiên đó là khả năng tạo Active Directory tích hợp cơ sở dữ liệu DNS cung cấp khả năng tương thích liên tục với Active Directory, cũng như khả năng bảo vệ các nâng cấp động. Các nâng cấp động an toàn đó sẽ giúp chúng ta chống lại được mã nguy hiểm thâm nhập vào cơ sở dữ liệu DNS bởi các máy tính không nằm cùng miền. Với các nâng cấp động này, bạn có thể có client thực hiện chúng với danh nghĩa của chính chúng, hoặc có DHCP thực hiện chúng. Nếu bạn chọn để sử dụng DHCP và nhóm DNSUpdateProxy, bạn sẽ cần phải bảo đảm rằng cấu hình này không bị lộ các đầu vào bộ điều khiển miền trong DNS. Giải pháp đơn giản nhất để giải quyết điều này là không cho các bộ điều khiển miền thực hiện nhiệm vụ DHCP. Trong phần tiếp theo của bài viết này, chúng tôi sẽ giới thiệu những thiết lập chi tiết để các bạn có thể thực hiện trong DNS nhằm bảo vệ cơ sở dữ liệu DNS và dịch vụ cho mạng của bạn.
Part2:Trong phần trước của bài này chúng tôi đã giới thiệu cho bạn một số khái niệm bảo mật cơ bản về DNS. Một trong những các khái niệm bảo mật gồm DNS Active Directory được tích hợp và thiết lập môi trường DNS an toàn hơn với truyền thông DHCP. Ngoài ra còn có một số cấu hình mạnh và cho phép bạn dễ dàng tạo môi trường DNS. Không nên dừng ở đây! bởi vì đó mới chỉ là bề mặt của vấn đề bảo mật môi trường DNS. Trong mỗi phần của bài này chúng ta sẽ đi sâu hơn vào DNS và cơ sở dữ liệu DNS được bảo mật như thế nào, đặt biệt là việc truyền thông với các máy chủ DNS. Các máy chủ DNS phải truyền thông để nâng cấp cơ sở dữ liệu lên máy chủ DNS khác. Sự truyền thông này có thể là một giải pháp tốt cho một kẻ tấn công tấn xâm nhập vào các yếu điểm bị lộ này. Nếu bạn đề phòng trước và thiết lập các cấu hình DNS bảo mật thì sự phô bày lỗ hổng có thể sẽ giảm.

Di chuyển vùng
Khi nói đến vùng DNS, bạn phải hiểu là có nhiều loại vùng khác nhau có thể thiết lập bên trong môi trường DNS. Mặc dù chúng ta cần tập trung vào một số vùng có thể, nhưng tôi vẫn đưa ra một danh sách tất cả các vùng mà bạn có thể thiết lập trong DNS.

Active Directory integrated Zone
Primary Zone
Secondary Zone
Stub Zone

Trong phần trước chúng ta đã được giới thiệu về vùng tích hợp Active Directory. Trong phần này, chúng ta sẽ thảo luận quanh các chức năng vùng tích hợp Active Directory như một vùng chủ yếu. Lý do cho vấn đề này: mục chủ yếu (vùng tích hợp Active Directory) là vùng thực hiện viết cở sở dữ liệu DNS. Các vùng thứ yếu không thực hiện công việc này mà chúng chỉ nhận các bản nâng cấp từ vùng DNS chủ yếu. Các nâng cấp từ vùng chủ yếu vào vùng thứ yếu được gọi là di chuyển vùng.

Giao diện sự di chuyển vùng khá rõ ràng thông qua các tùy chọn của bạn, có thể thấy được điều này qua hình 1. Bạn có thể cho phép bất kỳ máy chủ DNS nào nhận các nội dung của vùng chủ yếu hoặc hạn chế nó để chỉ có thể chọn một số DNS nhất định. Rõ ràng, với các mục đích bảo mật, bạn sẽ muốn hạn chế phạm vi của các máy chủ DNS được phép nhận địa chỉ IP và tên miền của tất cả máy tính trong tổ chức của bạn.

Hình 1: Giao diện di chuyển vùng cho Windows DNS

Bảo mật di chuyển vùng
Bạn cũng có thể thay đổi khái niệm bảo mật các di chuyển vùng DNS sang một mức khác. Việc làm cho DNS an toàn hơn không phải là khái niệm triệt để, hầu hết các công ty ngày nay đều thực hiện các cấu hình bổ sung để bảo vệ sự di chuyển vùng DNS của họ. Có một số tùy chọn để bảo vệ DNS và sự di chuyển vùng. Tuy nhiên chìa khóa của vấn đề vẫn là cách thiết lập môi trường DNS như thế nào.

Đầu tiên là sử dụng IPSec hoặc một đường hầm VPN giữa các máy chủ DNS để cho phép truyền thông mã hóa cở sở dữ liệu DNS trong khi nó được gửi xuyên qua toàn bộ mạng. IPSec là cách truyền thông rất chung giữa các máy chủ DNS trên cùng một mạng. Nếu việc truyền thông giữa các máy chủ DNS của bạn phải đi qua một mạng không an toàn thì một VPN sẽ được sử dụng. Nếu bạn sử dụng một VPN để bảo vệ dữ liệu xuyên qua một mạng không được bảo vệ thì cách mà người ta vẫn thường dùng đó là sử dụng L2TP. L2TP sử dụng một thuật toán mã hóa an toàn dữ liệu khi nó được gửi đi trên mạng.

Tùy chọn khác để bảo vệ dữ liệu khi nó được gửi đi trên mạng từ một máy chủ DNS này sang một máy chủ DNS khác là sử dụng sự tích hợp Active Directory. Phương pháp này yêu cầu các máy chủ DNS phải hoạt động trong cùng một miền Active Directory. Nó cũng yêu cầu DNS chạy trên một điều khiển miền. Các lợi ích mang lại khá đáng kể bởi vì dữ liệu được lưu và tái tạo thông qua sự tái tạo Active Directory, bên cạnh đó dữ liệu được mã hóa khi được gửi đi trên mạng từ máy chủ DNS này sang máy chủ DNS khác. Lợi ích khác từ chức năng DNS và di chuyển sử dụng Active Directory là tất cả các truyền thông đều được xác thực ngay ban đầu. Điều này giúp chúng bảo vệ được sự di chuyển vùng, bắt buộc máy chủ DNS phải xác thực cở sở dữ liệu Active Directory trước khi các thông tin này được tái tạo.
Chuyển tiếp (4 kiểu)

Có một cách khác để bảo vệ môi trường DNS của bạn là sử dụng nhiều tùy chọn cho việc chuyển tiếp. Điều này có thể giúp bạn duy trì được sự ổn định cơ sở hạ tầng DNS, trong khi vẫn bảo đảm được các máy tính và ứng dụng có thể truy cập được đúng máy chủ trên mạng. Có một cặp tùy chọn cho việc chuyển tiếp bên trong môi trường Microsoft DNS.

Đầu tiên giống như việc chuyển tiếp chuẩn, được thể hiện trong hình 2, tất cả các yêu cầu không có ý nghĩa cho máy chủ DNS mà đang tồn tại sẽ được gửi đi cùng đến các máy chủ DNS khác. Đây là một điều lý tưởng khi bạn có một máy chủ DNS bên trong được sử dụng cho tất cả các tên, Active Directory,… Máy chủ DNS này được cấu hình trên tất cả các máy khách. Mặc dù vậy, máy chủ DNS này không quan tâm đến các tên trong Internet, vì vậy khi máy chủ DNS nhận được một yêu cầu có ý nghĩa với Internet thì sự truy vấn được chuyển tiếp đến một máy chủ DNS khác có thể giải quyết được yêu cầu này. Điều này sẽ bảo vệ được máy chủ DNS bên trong của bạn tránh phải nhiều bất cập không cần thiết trong mạng bên ngoài.

Hình 2: Chuyển tiếp cho một máy chủ Windows DNS

Một tùy chọn khác là việc chuyển tiếp có hướng. Điều này có thể bảo đảm được tất cả các yêu cầu đều được chuyển hướng đến đúng máy chủ DNS, điều này làm giảm đáng kể các thông tin sai và sự sửa đổi nhỏ nhất. Tùy chọn này được gọi là chuyển tiếp điều kiện, được hiển thị trong phần trên của hình 2. Chúng có thể được sử dụng trong môi trường có nhiều không gian tên DNS bên trong và bạn không muốn dựa vào Internet hoặc một số cơ sở hạ tầng DNS cộng tác khác để giải quyết về các tên. Ở đây, bạn đơn giản có một máy chủ DNS chuyển tiếp các yêu cầu đến một không gian tên khác cho các máy khách.

Kết luận
DNS có thể là phức tạp, nhưng khi chia nhỏ nó thành từng phần nhỏ thì nó không phức tạp chút nào, và có thể bảo vệ một cách thích đáng. Ở đây, bạn đã thấy được DNS có thể bảo vệ cở sở dữ liệu bằng cách cấu hình với các máy chủ DSN nhận sự di chuyển vùng. Trong tình huống này, vùng Active Directory và vùng chính của bạn sẽ có các máy chủ DNS thứ yếu để chúng có thể truyền thông với nhau. Không có cấu hình này thì các máy chủ DNS giả mạo có thể lấy cắp tất cả các thông tin quan trọng trên mạng của bạn. Một bước khác là làm cho sự di chuyển DNS an toàn. Các máy chủ DNS an toàn có thể thông qua sự tích hợp Active Directory, hoặc các công nghệ tinh vi hơn như IPSec hoặc đường hầm VPN. Cuối cùng, kiểm soát việc chuyển tiếp DNS của bạn có thể bảo đảm giải pháp tên trở nên tỉ mỉ hơn, an toàn hơn, và điều đó bảo vệ được các máy chủ DNS bên trong khỏi bị sai với các thông tin không chính xác.

Không có nhận xét nào:

Đăng nhận xét