You are on page 1of 10

Tìm hiểu về DHCP Server Security (phần 1)

Chia sẻ
Cập nhật lúc 11h18' ngày 07/07/2010  Bản in

Quản Trị Mạng - Trong phần 1 này, chúng ta sẽ cùng nhau tìm hiểu về các mối hiểm
họa đối với hệ thống DHCP server và tìm cách giảm thiểu tối đa các biện pháp an
ninh phòng chống. Trong phần 2, chúng ta sẽ tiếp tục với các bước thực hiện và công cụ
phổ biến dành cho những người quản trị, qua đó đảm bảo được tính bảo mật của hệ thống
DHCP server của Windows 2000 và Windows Server 2003.

Mặc dù tính năng DHCP server vô cùng quan trọng đối với hầu hết hoạt động trong hệ
thống mạng của doanh nghiệp, nhưng trên thực tế, DHCP server security lại là phần dễ
dàng bị bỏ qua nhất trong khâu cấu hình hệ thống. 1 phần lý do có thể là sự nhầm lẫn về
quá trình hoạt động cơ bản của DHCP: các tín hiệu DHCP client sẽ phát tán các “thông
điệp” (DHCPDISCOVER) có chứa địa chỉ MAC và DHCP server phản hồi lại bằng cách
cung cấp tín hiệu (DHCPOFFER) để gán 1 địa chỉ IP bất kỳ và các thiết lập về TCP/IP
mà client có thể dùng để giao tiếp trên hệ thống. Các tín hiệu trả lại từ phía client
(DHCPREQUEST) tới địa chỉ gán đầu tiên cung cấp thông tin nhận diện như tín hiệu
nhận – trả và xác nhận từ phía máy chủ (DHCPACK) theo yêu cầu, và được đánh dấu
trong cơ sở dữ liệu của DHCP. Về cơ bản là như vậy, vậy còn điều gì phải lo lắng về an
ninh hoặc bảo mật?

Các kiểu tấn công nhắm vào DHCP

Thật không may, các vấn đề có liên quan tới tính bảo mật DHCP thường rất khó khắc
phục và giải quyết. Không hề có quá trình xác thực hoặc nhận dạng tín hiệu giữa quá
trình trao đổi dữ liệu giữa DHCP server và DCHP client, do đó hệ thống server không thể
biết được tín hiệu gửi đi từ phía client có an toàn hay không trên toàn bộ hệ thống mạng,
và ngược lại, client cũng không thể biết được tín hiệu trả về từ phía server có đủ an toàn
hay không. Khả năng tín hiệu giả mạo từ phía client và server có thể gây ra những kết
quả khó lường.

Ví dụ, tín hiệu DHCP server giả mạo có thể cung cấp cho client hợp pháp thông tin về
TCP/IP hoàn toàn không có thật, và qua đó ngăn chặn việc giao tiếp từ phía nạn nhân tới
các client khác trong hệ thống. Và sau đó, quá trình Denial Of Service (DoS) sẽ khiến
cho toàn bộ người sử dụng không thể kết nối vào hệ thống mạng, cũng như toàn bộ tài
nguyên chia sẻ. Việc thiết lập và phát tán các tín hiệu DHCP server giả mạo cũng khá
đơn giản như kiểu tấn công nhằm vào mạng xã hội, hoặc có thể kết nối tới laptop và điều
chỉnh, cấu hình như 1 DHCP server bình thường.

1 tình huống khác có thể dễ dàng gặp phải liên quan đến những kẻ tấn công sẽ gây ảnh
hưởng tới máy tính client trên hệ thống mạng, và qua đó cài đặt các phần mềm liên tục
yêu cầu địa chỉ IP mới sử dụng cơ chế MAC giả mạo cho tới khi toàn bộ địa chỉ được cấp
phát trong hệ thống DHCP server đầy. Khi tình trạng này xảy ra, toàn bộ các client hợp
pháp đều không thể boot trên hệ thống mạng do không được nhận dạng và cấp phát địa
chỉ theo yêu cầu, và tất nhiên, người sử dụng không thể truy cập hệ thống tài nguyên và
làm việc.
1 kết cục tồi tệ hơn có thể xảy ra khi những kẻ tấn công “bẻ gãy” những chốt an ninh hiện
tại và chiếm quyền kiểm soát toàn bộ hệ thống, và chúng sẽ ngay lập tức thay đổi toàn bộ
hệ thống DHCP server để gán cho client các thông tin sai lệch về subnet … do đó sẽ tạo
ra tiếp 1 đợt tấn công DoS. Hoặc, chúng thay đổi thông số kỹ thuật của server để gán cho
client các thông tin DNS sai lệch, và tự động trỏ client tới hệ thống DNS server đã được
chuẩn bị sẵn, người dùng sẽ làm việc, thao tác như bình thường trên hệ thống này mà họ
không hề biết rằng đang tự cung cấp thông tin cá nhân cho kẻ tấn công thông qua các loại
trojan nguy hiểm. Hoặc 1 khả năng nữa, chúng thay đổi toàn bộ thiết lập của server để
gán hệ thống địa chỉ IP trỏ về hệ thống của kẻ tấn công thông qua gateway mặc định, qua
đó chúng sẽ dễ dàng nắm bắt, truy cập và sử dụng thông tin cá nhân của người sử dụng
mà họ không hề biết.

Mặt khác, nếu bạn đang sử dụng, quản lý hệ thống DHCP server bằng domain controller
– thực chất đã bị những kẻ tấn công khai thác trước đó, liên tục từ chối yêu cầu truy cập
từ các tài khoản trong cơ sở dữ liệu, sẽ gây ra sự xáo trộn và mất cân bằng trong toàn bộ
dây chuyền làm việc. Và đây thường là “ác mộng” tồi tệ nhất đối với người quản lý. May
mắn thay, có 1 số phương pháp cơ bản và khá đơn giản có thể áp dụng thành công trong
những trường hợp như vậy, đảm bảo an toàn và tính bảo mật mang tính “nền móng” của
DHCP và hệ thống mạng Windows.

Các mối đe dọa và phương pháp đối phó

Khi đối mặt với những hiểm họa này, các yêu cầu cần có đối với DHCP server của
Windows 2000 và Windows Server 2003 sẽ được xác nhận bên trong Active Directory
trước khi bắt đầu gán địa chỉ thành phần tới client. Quá trình xác nhận ở đây có nghĩa là
khi DHCP server của Windows 2000 hoặc Windows Server 2003 tiến hành boot trên hệ
thống Active Directory nếu chúng “giao tiếp” với domain controller trước tiên để kiểm
tra xem những địa chỉ IP được tìm thấy trong danh sách DHCP server hợp pháp có đúng
là của domain controller hay không. Nếu hệ thống DHCP server này xác nhận những
thông tin nhận được từ phía client là chính xác, hệ thống sẽ tiếp tục làm như vậy đối với
những yêu cầu tiếp theo. Còn nếu ngược lại, hệ thống sẽ tự động tắt bỏ dịch vụ DHCP
Server, và đương nhiên, các máy client sẽ không được gán địa chỉ IP hợp lệ nữa.

Lợi ích thực sự của việc này là để bảo vệ hệ thống mạng của bạn tránh khỏi việc cấu hình
sơ sài, không đủ độ bảo mật. Hãy thử tưởng tượng xem chuyện gì sẽ xảy ra khi tin tặc bí
mật sử dụng, kết hợp hệ thống mạng của bạn với DHCP server không hoạt động trên nền
tảng Windows 2000 hoặc Windows Server 2003? Trong trường hợp này, quá trình xác
thực quyền truy cập sẽ không có tác dụng vì hệ thống DHCP server không phải của
Microsoft sẽ không cung cấp thông tin phản hồi theo đúng chuẩn của Microsoft tới những
tin nhắn DHCPINFORM của Windows được sử dụng để kiểm tra xem DHCP server đã
được xác nhận hay chưa. Thậm chí, nếu DHCP server của Windows NT thất bại trong
trường hợp này, những kẻ tấn công chỉ cần 1 chiếc laptop sử dụng Windows NT như hệ
thống DHCP server giả mạo sẽ dễ dàng phát hiện và tránh khỏi những phương pháp
phòng chống của người quản trị (chúng ta sẽ bàn luận trong phần 2).
Các tín hiệu từ phía client giả mạo lại là 1 vấn đề hoàn toàn khác, như việc DHCP được
tạo ra để gán địa chỉ IP. 1 trong những cách dễ dàng để đối phó với vấn đề client giả mạo
là thời điểm đầu tiên DHCP được đặt ra, đối với những hệ thống mạng với quy mô lớn thì
việc thực hiện công đoạn này khá vất vả và phức tạp. Phương pháp phòng chống ở đây là
việc thiết lập các chế độ tùy chỉnh, thông qua đó, việc lưu trữ các địa chỉ MAC tới 1 địa
chỉ IP bất kỳ mà chỉ có client với thông số MAC cụ thể được chỉ định trước mới được
gắn IP tương ứng. Nếu việc bảo mật là 1 trong những khâu quan trọng nhất thì người
quản trị có thể áp dụng phương pháp tạo và đặt reservation đối với mỗi máy client trên
toàn bộ hệ thống mạng. Do đó, mỗi 1 client giả mạo khi cố gắng boot và truy cập vào hệ
thống mạng này sẽ nhận được tín hiệu DHCP không còn địa chỉ IP trống và do đó, không
thể truy cập vào mạng của người quản trị.

Nhưng thực sự thì mọi việc có đơn giản như vậy hay không? Trong khi cách tiếp cận và
phòng bị này chỉ có tác dụng đối với những cuộc tấn công ở mức trung bình, thì những
tên hacker với nhiều thủ đoạn tinh vi hơn vẫn có thể “lách luật” và thâm nhập được vào
hệ thống DHCP. Phương pháp khá đơn giản và phổ biến được tin tặc sử dụng là “lắng
nghe” các tín hiệu DHCPDISCOVER phát tán từ phía client và sau đó, thu thập địa chỉ
MAC. Và sau khi tín hiệu client hợp pháp ngừng hoạt động, các client giả mạo sẽ ngay
lập tức thiết lập lại địa chỉ MAC để phù hợp với những gì client hợp pháp tạo ra, 1 mặt
khác, chúng thu thập và tái tạo những thông số kỹ thuật hoàn toàn hợp lệ hoặc cố gắng
phá vỡ các mối “giao tiếp” qua lại giữa các client hợp pháp với nhau. Để đối phó với tình
trạng này, những người quản trị với kinh nghiệm và ý thức bảo mật cao thường xem xét
phương pháp giảm tải DHCP đối với những địa chỉ tĩnh, nhưng phải làm gì để ngăn chặn
triệt để tin tặc? Họ có thể áp dụng những phương pháp thủ công, đơn giản nhưng khá
hiệu quả như cài đặt, kích hoạt tính năng tường lửa đối với mỗi client trên hệ thống
mạng, thiết lập danh sách địa chỉ IP hợp pháp được phép truy cập. Nhưng hãy thử tưởng
tượng xem, đội ngũ quản trị sẽ phải đau đầu như thế nào khi thực hiện từng đó thao tác
trên mỗi máy trạm? Vì vậy, giải pháp tối ưu nhất vẫn là bảo mật có liên quan tới phần
cứng theo chính sách chặt chẽ nhất có thể, và những hành động nghi ngờ, dù là nhỏ nhất
cũng sẽ ngay lập tức bị loại bỏ, như việc kết nối các thiết bị lưu trữ ngoại vi (USB, ổ
cứng di động … ) hoặc thay đổi dây mạng với máy khác trong hệ thống … mặt khác, đạo
tạo toàn bộ hệ thống nhân viên về ý thức bảo mật và kỹ thuật xử lý sự cố từ mức căn bản
đến nâng cao.

Tuy nhiên, đối với từng hệ thống và cơ sở hạ tầng mới có thể áp dụng phương pháp bảo
mật như trên, về mặt bản chất, chúng ta vẫn cần bảo mật thực sự từ một điểm mấu chốt
bất kỳ trong hệ thống mạng. Một khi tin tặc đã xâm nhập vào bên trong hệ thống phòng
thủ của người quản trị, việc cấu hình lại hệ thống DHCP sẽ diễn ra âm thầm bộ phận
quản trị không hề hay biết, chúng sẽ tìm cách tiếp cận, khai thác và kích hoạt các lỗ hổng
bảo mật trong toàn bộ hệ thống, như việc chỉnh sửa lại toàn bộ cơ sở dữ liệu, các bản ghi
khi Dynamic DNS (DDNS) đang được sử dụng, thu thập các thông tin nhạy cảm như chi
tiết toàn bộ hoạt động của các máy server và client …

Tổng quát
Hãy nhìn qua danh sách và 1 vài tình huống liệt kê bên trên để rút ra kinh nghiệm cho
chính bản thân, khi muốn áp dụng vào hệ thống DHCP của bạn. Trong phần 2 tiếp theo,
chúng ta sẽ tiếp tục bàn luận sâu hơn về hệ thống Windows networks, nhưng trước tiên,
hãy bắt đầu với những gì cơ bản và đơn giản nhất:

Tăng cường thực hiện các biện pháp liên quan tới phần cứng có thể áp dụng, và mở rộng
quy mô triển khai các chính sách an ninh có thể, thận trọng trong việc duy trì biện pháp
này.

Nâng cấp bất cứ biện pháp bảo mật của Windows NT, để chắc chắn rằng người dùng có
thể sử dụng DHCP server qua cơ chế xác thực bên trong Active Directory.

Tránh sử dụng domain controller của Windows 2000 hoặc Windows Server 2003 như
DHCP servers.

Sử dụng phương pháp reservation trong việc gán địa chỉ truy cập đối với những server
trọng điểm trên hệ thống, hoặc tận dụng những địa chỉ tĩnh để thay thế.

Trong phần tiếp theo, chúng ta sẽ tiếp tục tìm hiểu các phương pháp làm thế nào để kích
hoạt tính năng kiểm soát trên DHCP server, theo dõi các thành viên trong nhóm
DHCPAdministrators sử dụng tính năng Restricted Groups của Windows Server 2003,
bên cạnh đó, đảm bảo rằng hệ thống DNS hoạt động cùng với DHCP, hoặc sử dụng các
công cụ khác nhau để phát hiện DHCP server giả mạo trên hệ thống.

Chúc các bạn thành công!

T. Anh
(Windowsecurity)
Tìm hiểu về DHCP Server Security (phần 2)
Chia sẻ
Cập nhật lúc 09h20' ngày 09/07/2010  Bản in

Quản Trị Mạng - Trong phần 1, chúng ta đã điểm qua 1 vài tình huống điển hình
thường gặp của DHCP server cùng vài phương pháp cơ bản để phòng tránh. Trong
phần 2 này, chúng ta sẽ tiếp tục với những phương pháp hiệu quả và công cụ sử dụng để
tăng cường tính bảo mật của DHCP server trong nền tảng Windows 2000 và Windows
Server 2003.

Tìm hiểu về DHCP Server Security (phần 1)

Tìm hiểu về DHCP Server Auditing

Việc kiểm soát cơ sở dữ liệu DHCP trên DHCP server sẽ giúp bạn xác định các DHCP
client đang nhận được địa chỉ trực tiếp từ server tốt hơn. Bên cạnh đó, quá trình này cũng
giúp bạn nhận biết các thành phần BAD_ADDRESS trong cơ sở dữ liệu, và nơi xuất xứ
của chúng … những thông tin này thực sự hữu ích, khi chúng có thể gây ra những địa chỉ
xung đột khi hệ thống DHCP server giả mạo tiến hành gán địa chỉ trong khi chúng vẫn
đang được sử dụng.

Để kích hoạt tính năng kiểm soát trên toàn bộ hệ thống DHCP server, mở bảng điều
khiển DHCP console để kết nối tới DHCP server trên hệ thống mạng. Kích chuột phải lên
server node và chọn Properties, trên thẻ General, đánh dấu vào ô Enable DHCP audit
logging:

Các bản ghi kiểm soát DHCP được lưu trữ mặc định trong thư mục %windir
%\system32\dhcp, nhưng người dùng có thể thay đổi qua thẻ Advance. Các bản ghi này
được tạo ra hoặc gắn liền với các danh mục công việc hàng ngày có tên là DhcpSrvLog-
Mon.log, DhcpSrvLog-Tue.log … Mỗi bản ghi này sẽ bắt đầu với ID của sự kiện tương
ứng, và phần đầu bản ghi lưu trữ danh sách các ID với giải thích chi tiết. Ngoài ra, các
thao tác tùy chỉnh cũng có thể được làm thông qua khóa
HKLM\SYSTEM\CurrentControlSet\Services\DHCPServer\Parameters trong
Registry:
- DhcpLogFilesMaxSize chỉ định dung lượng tối đa đối với tất cả file bản ghi lưu trữ
DHCP (mặc định là 7 MB)
- DhcpLogDiskSpaceCheckInterval quy định cụ thể việc kiểm tra dung lượng đĩa sử
dụng của DHCP (chế độ mặc định là 50 phút)
- DhcpLogMinSpaceOnDisk xác định mức không gian trống tối thiểu để khóa tạm thời
chức năng đăng nhập (mức mặc định là 20 MB)

DHCP Administrators Group

Trước kia, với 1 số hệ thống thì các thành viên trong nhóm Domain Admins có toàn
quyền thiết lập DHCP trên server, và bạn cũng có thể ủy quyền cho những tài khoản
người dùng với những công việc phù hợp để quản lý DHCP của hệ thống. Để làm việc
này, mở Active Directory Users and Computers và thêm tên tài khoản người dùng vào
nhóm DHCP Administrators:

Cơ chế này tạo cho người dùng khả năng quản lý trực tiếp DHCP server trên hệ thống mà
không cần phải cấp quyền, phân quyền hay xác thực cho tài khoản quản trị đó để thực
hiện các tác vụ khác. Tuy nhiên, 1 vấn đề nảy sinh ở đây là làm thế nào để quản lý tất cả
thành viên trong nhóm DHCP Administrators để chắc chắn rằng không có tài khoản trái
phép hoặc giả mạo nào đã được thêm vào nhóm này?

Bên cạnh đó, bạn có thể theo dõi các thành viên của các nhóm quan trọng như DHCP
Administrators bằng chức năng Restricted Groups của Group Policy. Để làm việc này, sử
dụng Active Directory Users and Computers để mở Default Domain Policy và chuyển
tới Computer Configuration\Windows Settings\Security Settings\Restricted Groups:

Kích chuột phải lên Restricted Groups và chọn Add Group, ở đây chúng ta chỉ định
DHCP Administrators là nhóm người dùng cần theo dõi:
Bấm OK, chọn tiếp nút Add trong bảng thuộc tính tiếp theo để chỉ định riêng biệt những
tài khoản nào được phép trở thành thành viên của nhóm.

Tìm hiểu về DHCP Server Security (phần 2) (Bạn đang ở trang 2)


Chia sẻ
Cập nhật lúc 09h20' ngày 09/07/2010  Bản in

Lưu ý rằng, cho dù nhóm đã có thành viên trong đó, nhưng bạn vẫn phải thực hiện bước
này và nhận dạng từng thành viên trong nhóm đó 1 lần nữa:

Nhấn OK và thành viên trong nhóm DHCP Administrators đã được giới hạn như mong
muốn (ở ví dụ này là tài khoản Bob Smith):
Những gì sẽ xảy ra khi chúng ta thực hiện bước làm phía trên, mỗi khi Group Policy tiến
hành refresh toàn bộ thành viên của domain controller (thông thường là 5 phút 1 lần)
trong nhóm DHCP Administrators được kiểm tra, hoặc do sự cố (phần mềm độc hại) mà
1 số tài khoản (ở đây là Mary Smith) khi được thêm vào nhóm, sau đó lại tự động bị xóa
bỏ, sự kiện ID 637 sẽ được ghi lại Security log nếu bạn đã kích hoạt tính năng quản lý,
kiểm soát các tài khoản. Và, các thành viên thuộc nhóm DHCP Administrators sẽ được
theo dõi, quản lý chặt chẽ như mong muốn.

Lưu ý rằng Windows 2000 có đi kèm với 1 nhóm tài khoản khác gọi là DHCP Users, có
thể được sử dụng để gán quyền cho các tài khoản người dùng với thuộc tính read-only
bằng DHCP console, và các thành viên trong nhóm này cũng được điều khiển theo cách
tương tự sử dụng Restricted Groups.

DNSUpdateProxy Group

Trên hệ thống mạng của Windows, DHCP và DNS có thể làm việc cùng nhau để đơn
giản hóa quá trình thiết lập, tùy chỉnh các hoạt động của hệ thống mạng. Thông thường,
những vấn đề thường xuyên xảy ra là việc DHCP client đăng ký một bản ghi (host) trực
tiếp với DNS server, trong khi bản ghi PTR (pointer) được đăng ký thay vì client bởi
DHCP server. Điều này có nghĩa là các cuộc tấn công nhắm vào DHCP server có thể
kiểm soát thông qua các bản ghi đã đăng ký với hệ thống DNS server và tiếp tục được sử
dụng để chuyển hướng traffic tới các trang web xấu, hoặc gây ra hiện tượng Denial Of
Service – DoS. Nếu bạn “biến” DHCP server thành 1 thành viên của nhóm
DNSUpdateProxy, hệ thống DHCP server của bạn sẽ không bị mất quyền sở hữu hoặc
các bản ghi dữ liệu của client. Các làm này chủ yếu được sử dụng khi cập nhật, nâng cấp
từ Windows NT để đảm bảo rằng các client cấp dưới không hỗ trợ DNS có thể bị mất
quyển sở hữu khi đang nâng cấp tới Windows 2000 hoặc Windows XP.

Điểm lợi của việc làm này là bạn chỉ nên thêm các tài khoản computer của DHCP server
tới nhóm DNSUpdateProxy nếu bạn có ý định nâng cấp từ các phiên bản trước của
Windows 2000 thành Windows 2000 or Windows XP. 1 điểm lưu ý nữa là không bao giờ
thêm DHCP server vào nhóm DNSUpdateProxy nếu hệ thống DHCP server đang hoạt
động trên domain controller.

Dấu hiệu phát hiện DHCP Servers giả mạo

Cuối cùng, chúng tôi sẽ giới thiệu với các bạn 1 số công cụ hữu ích để phát hiện dấu hiệu
nghi ngờ của DHCP server giả mạo trên hệ thống qua đó có thể phòng tránh 1 cách dễ
dàng và đơn giản. Chủ yếu chúng ta sẽ sử dụng công cụ kết hợp của Microsoft và các
nguồn third-party khác.

Dhcploc.exe

Dhcploc.exe là công cụ với giao diện dòng lệnh, là 1 phần của Windows Support Tools
nằm trong thư mục \Support\Tools trên đĩa cài đặt XP hoặc tại đây, và được dùng để hiển
thị danh sách tất cả các DHCP server đang được kích hoạt trên hệ thống subnet nội bộ.
Hiện tại, Dhcploc.exe vẫn được sử dụng từ Windows NT 4.0, với cơ chế hoạt động bằng
cách gửi các tin nhắn DHCPREQUEST, đồng thời hiển thị địa chỉ IP của DHCP server
phản hồi lại cùng với DHCPACK. Các bạn có thể tìm thấy cú pháp sử dụng trong file
Help đi kèm khi tiến hành cài đặt Support Tools lên hệ thống.

dhcp_probe

1 nhóm nghiên cứu - Network Systems Group của trường đại học Princeton đã phát triển
1 công cụ gọi là dhcp_probe, có khả năng phát hiện DHCP và BOOTP server thông qua
Ethernet. Phiên bản có sẵn trước đó được xây dựng để hoạt động trên Solaris 8 và
SPARC cùng với gcc, và 1 vài bản vá để hoạt động trên Linux. Tùy vào nền tảng hệ điều
hành đang sử dụng mà bạn có thể tìm được công cụ phù hợp trên trang của Network
Systems Group hoặc tải dhcp_probe trực tiếp tại đây.

Chúc các bạn thành công!

You might also like