Hẳn chúng ta đều biết, DHCP là một trong nhiều dịch vụ mạng thiết yếu trong các hệ thống mạng ngày nay. Đã có rất nhiều bài viết đề cập tới phương thức hoạt động của giao thức DHCP cũng như là các bước triển khai và quản lý một hạ tầng DHCP. Vì thế, ở đây tôi chỉ xin tóm tắt lại một số ưu điểm mà dịch vụ DHCP mang lại để từ đó giúp bạn thấy rõ tầm quan trọng của việc duy trì sự hoạt động ổn định cho DHCP server:
- Quản lý tập trung việc cấp phát địa chỉ IP (và các thiết lập cần thiết khác như các địa chỉ của DNS server, WINS server, default gateway…) cho các máy tính trong mạng được thực hiện tại DHCP server giúp giảm thiểu thời gian cần thiết để để cấu hình (hoặc cấu hình lại) cho các thông số IP cho chúng.
- Ngoài ra, việc tự động gán các địa chỉ IP cũng giúp bạn tránh được những lỗi phát sinh từ việc nhập bằng tay các thông tin về IP tại mỗi máy. Ví dụ, DHCP giúp ngăn chặn các xung đột về địa chỉ xảy ra khi hai (hay nhiều) máy được gán cùng một IP.
Ở phần 1 của bài về bảo mật cho DHCP server này, tôi sẽ nói về các loại mối đe dọa khác nhau nhằm vào DHCP server và đi cùng với đó là những rủi ro mà các mối đe dọa đó có thể gây ra cho hạ tầng DHCP cũng như hệ thống thông tin của bạn.
Nhưng trước hết chúng ta cùng ôn lại một chút về cách thức làm việc của giao thức DHCP để thấy được lỗ hổng nào tồn tại trong DHCP mà kẻ xấu có thể khai thác. Quá trình truyền thông giữa một máy được cấu hình sử dụng IP động (DHCP client) với một máy được cấu hình đảm nhận chức năng cấp phát IP động (DHCP server) cơ bản diễn ra như sau:
- Đầu tiên, một DHCP client muốn nhận mới một địa chỉ IP (chứ không phải muốn phục hồi lại thời gian “thuê” của một địa chỉ IP mà nó đang sử dụng) sẽ gửi lên toàn mạng (broadcast) một thông điệp DHCP Discover có chứa địa chỉ MAC của nó để tìm kiếm sự hiện diện của DHCP server.
- Nếu tồn tại sự hoạt động của (các) DHCP server thuộc cùng subnet với DHCP client trên thì (các) server này sẽ phản hồi lại cho client bằng một thông điệp DHCP Offer có chứa một địa chỉ IP (và các thiết lập TCP/IP khác) như là một lời đề nghị cho “thuê” địa chỉ.
- Ngay khi nhận được gói DHCP Offer đến đầu tiên, client sẽ trả lời lại cho server (dĩ nhiên là gửi cho server nào mà nó nhận được gói DHCP Offer đến đầu tiên trong trường hợp có nhiều DHCP server nằm cùng subnet với nó) một thông điệp DHCP Request như là sự chấp thuận lời đề nghị cho “thuê” trên.
- Cuối cùng, server gửi lại cho client thông điệp DHCP Acknowledgment để xác nhận lần cuối “hợp đồng cho thuê địa chỉ” với client. Và từ đây client có thể sử dụng địa chỉ IP vừa “thuê” được để truyền thông với các máy khác trên mạng.
- Một rogue DHCP server có thể cung cấp cho các legitimate client các thông số cấu hình TCP/IP giả tạo và trái phép như: địa chỉ IP không hợp lệ, sai subnet mask, hoặc sai địa chỉ của default gateway, DNS server nhằm ngăn chặn client truy cập tài nguyên và sử dụng dịch vụ trong mạng nội bộ hoặc Internet (đây là một dạng của tấn công DoS). Việc thiết lập một rogue DHCP server có thể thực hiện được bằng cách sử dụng các chiêu “social engineering” để có được quyền tiếp cận vật lý vào mạng của bạn và attacker sẽ cắm dây mạng vào máy tính đã được cấu hình làm rogue DHCP server.
- Thêm tình huống xấu khác có thể nảy sinh là attacker xâm nhập thành công vào một legitimate client nào đó trong mạng và thực hiện cài đặt và thực thi trên client này một chương trình có chức năng liên tục gửi tới DHCP server các gói tin yêu cầu xin cấp IP với các địa chỉ MAC nguồn không có thực cho tới khi toàn bộ dải IP trong scope của DHCP server này bị nó “thuê” hết. Dẫn tới server không còn IP nào để có thể cấp phát cho các legitimate client khác. Hậu quả là các client này không thể truy cập vào mạng và làm các công việc của họ.
- Còn một hiểm họa nữa có thể xảy ra nếu như attacker phá vỡ được các hàng rào bảo vệ mạng vàđoạt được quyền kiểm soát legitimate DHCP server của bạn. Lúc này, attacker có thể sẽ tạo ra những sự thay đổi trong cấu hình của DHCP server theo hướng có lợi cho hắn như:
+ thiết lập lại dải IP, subnet mask của scope để tạo ra tình trạng DoS trong mạng.
+ hoặc đổi thiết lập DNS để chuyển hướng yêu cầu phân giải tên miền của client tới rogue DNS (do attacker dựng lên), kết quả là client có thể sẽ bị dẫn dụ tới các website giả mạo được xây dựng nhằm mục đích đánh cắp thông tin tài khoản của client hoặc website có chứa mã độc mà sẽ được tải về máy client.
Chưa hết, nếu bạn đang chạy dịch vụ DHCP server đã bị tấn công trên cùng một máy với Domain Controller thì hậu quả sẽ còn nghiêm trọng hơn nữa khi attacker sẽ có khả năng nắm được cơ sở dữ liệu Active Directory và gây thêm nhiều rắc rối khác cho hệ thống của bạn.
Như vậy, có khá nhiều nguy cơ đe dọa tới tính bí mật, toàn vẹn và độ sẵn sàng của hạ tầng DHCP và từ đó tạo ra những rủi ro chung cho toàn bộ hệ thống mạng của chúng ta. Trong phần 2 của bài viết này, chúng ta sẽ cùng thảo luận về những giải pháp cụ thể và những công cụ hữu ích để đảm bảo an toàn cho DHCP server trên cả hai nền tảng là Linux và Windows.
Phần 2