DHCP Snooping là gì? Hướng dẫn cấu hình A-Z để bảo vệ mạng

Việc bảo vệ lớp truy cập là tuyến phòng thủ đầu tiên và quan trọng nhất trong an ninh mạng. DHCP Snooping chính là công cụ thiết yếu giúp bạn thực hiện nhiệm vụ này, bằng cách ngăn chặn các máy chủ DHCP giả mạo và nhiều hình thức tấn công khác. Bài viết của InterData sẽ giải thích toàn diện từ khái niệm, cơ chế hoạt động, đến hướng dẫn cấu hình chi tiết và mối liên hệ với các công nghệ bảo mật khác.

DHCP Snooping là gì?

DHCP Snooping là một tính năng bảo mật trên các thiết bị chuyển mạch (switch) giúp bảo vệ mạng khỏi các cuộc tấn công liên quan đến DHCP, đặc biệt là DHCP spoofing (giả mạo máy chủ DHCP) và DHCP starvation (làm cạn kiệt địa chỉ IP). Nó hoạt động bằng cách kiểm tra các gói tin DHCP và chỉ cho phép lưu lượng DHCP hợp lệ từ các nguồn đáng tin cậy.

DHCP Snooping

Mục đích chính của tính năng này là lọc và xác thực các gói tin DHCP (Dynamic Host Configuration Protocol) trong một mạng LAN. Bằng cách này, bạn đảm bảo rằng chỉ các máy chủ DHCP hợp lệ mới có thể cấp phát địa chỉ IP cho các thiết bị người dùng cuối (client).

Về bản chất, switch sẽ “nghe lén” các cuộc trao đổi DHCP giữa client và server. Switch sẽ xây dựng một cơ sở dữ liệu tin cậy về các thiết bị trong mạng, sau đó sử dụng thông tin này để đưa ra quyết định cho phép hoặc từ chối các gói tin DHCP không hợp lệ. Điều này tạo ra một lớp chắn bảo vệ vững chắc ngay tại cổng kết nối của người dùng.

Tại sao phải sử dụng DHCP Snooping?

Việc không triển khai DHCP Snooping sẽ tạo ra những lỗ hổng nghiêm trọng, khiến hệ thống mạng dễ dàng trở thành mục tiêu của các cuộc tấn công tinh vi. Những rủi ro này không chỉ gây gián đoạn dịch vụ mà còn có thể dẫn đến mất mát dữ liệu nhạy cảm. Hai mối đe dọa phổ biến nhất mà DHCP Snooping trực tiếp giải quyết là Rogue DHCP Server và DHCP Starvation.

Ngăn chặn Rogue DHCP Server

Rogue DHCP Server là một máy chủ DHCP không được ủy quyền, được kẻ tấn công hoặc người dùng vô tình kết nối vào mạng. Khi một client gửi yêu cầu cấp IP, máy chủ giả mạo này có thể trả lời nhanh hơn máy chủ hợp lệ và cung cấp thông tin cấu hình IP sai lệch cho client.

Hậu quả của việc này cực kỳ nguy hiểm. Kẻ tấn công có thể cung cấp một địa chỉ Default Gateway và DNS Server giả mạo, từ đó chuyển hướng toàn bộ lưu lượng truy cập của người dùng qua máy của chúng. Kỹ thuật này được gọi là tấn công Man-in-the-Middle (MITM), cho phép kẻ tấn công nghe lén, đánh cắp thông tin đăng nhập, dữ liệu tài chính và các thông tin nhạy cảm khác.

Chống tấn công DHCP Starvation

DHCP Starvation là một dạng tấn công Từ chối dịch vụ (Denial of Service – DoS). Kẻ tấn công sử dụng một công cụ tự động để liên tục gửi đi các gói tin DHCP Discover với địa chỉ MAC giả mạo. Mỗi yêu cầu này sẽ chiếm một địa chỉ IP trong dải cấp phát (scope) của máy chủ DHCP hợp lệ.

Quá trình này diễn ra liên tục cho đến khi toàn bộ dải IP bị chiếm dụng hết. Kết quả là các client hợp lệ khi kết nối vào mạng sẽ không thể nhận được địa chỉ IP, dẫn đến việc không thể truy cập vào tài nguyên mạng hay Internet. Cuộc tấn công này có thể gây tê liệt hoạt động của một bộ phận hoặc toàn bộ doanh nghiệp.

Cơ chế hoạt động của DHCP Snooping

Để hiểu cách DHCP Snooping bảo vệ mạng, chúng ta cần nắm rõ cơ chế phân loại cổng và cách nó xây dựng cơ sở dữ liệu đáng tin cậy. Switch sẽ coi các cổng của nó là một trong hai loại: Trusted (Tin cậy) hoặc Untrusted (Không tin cậy).

DHCP Snooping

Sự phân loại này là yếu tố cốt lõi. Switch sẽ áp đặt các quy tắc khác nhau lên từng loại cổng để kiểm soát luồng thông điệp DHCP, đảm bảo chỉ có thông tin từ nguồn hợp lệ được phép lưu thông trong mạng.

Trusted Port (Cổng tin cậy)

Trusted Port là cổng được cấu hình để kết nối đến một máy chủ DHCP hợp lệ hoặc một switch khác có đường uplink dẫn đến máy chủ DHCP. Switch sẽ tin tưởng hoàn toàn mọi gói tin DHCP đến từ cổng này, bao gồm cả các gói tin Offer và Acknowledgment (thông điệp từ phía server). Cổng Trusted được phép chuyển tiếp tất cả các loại thông điệp DHCP mà không bị kiểm tra.

Untrusted Port (Cổng không tin cậy)

Mặc định, tất cả các cổng trên switch đều là Untrusted Port. Đây là các cổng kết nối trực tiếp đến thiết bị của người dùng cuối như máy tính, điện thoại, máy in. Các cổng này bị áp đặt các quy tắc nghiêm ngặt: chúng chỉ được phép gửi đi các yêu cầu từ phía client (DHCP Discover, Request). Bất kỳ gói tin DHCP nào mang tính chất “phản hồi từ server” (DHCP Offer, Ack) đến từ một cổng Untrusted sẽ bị switch loại bỏ ngay lập tức.

DHCP Snooping Binding Database

Đây chính là “bộ não” của tính năng. Khi một client trên cổng Untrusted thực hiện thành công quá trình xin cấp IP từ một server hợp lệ (thông qua cổng Trusted), switch sẽ ghi lại thông tin của giao dịch này vào một bảng gọi là DHCP Snooping Binding Database. Bảng này chứa các thông tin quan trọng:

  • Địa chỉ MAC của client
  • Địa chỉ IP được cấp
  • Thời gian cho thuê (lease time)
  • Loại Binding (dhcp-snooping)
  • Số VLAN của client
  • Cổng (interface) mà client đang kết nối

Bảng dữ liệu này không chỉ dùng cho DHCP Snooping mà còn là nền tảng cho các tính năng bảo mật nâng cao khác như Dynamic ARP Inspection và IP Source Guard.

Hướng dẫn cấu hình DHCP Snooping trên Switch Cisco

Phần này sẽ hướng dẫn bạn các bước cấu hình chi tiết trên một thiết bị Switch Cisco, có thể áp dụng trên cả thiết bị thật và phần mềm giả lập Cisco Packet Tracer. Chúng tôi sẽ sử dụng các câu lệnh trong môi trường Cisco IOS.

Bước 1: Kích hoạt DHCP Snooping toàn cục

Đầu tiên, bạn cần truy cập vào chế độ cấu hình toàn cục (global configuration mode) và bật tính năng DHCP Snooping cho toàn bộ switch.

Switch> enable
Switch# configure terminal
Switch(config)# ip dhcp snooping

Lệnh này sẽ kích hoạt cơ chế snooping, nhưng nó chưa có hiệu lực cho đến khi bạn áp dụng cho một VLAN cụ thể.

Bước 2: Kích hoạt cho VLAN cụ thể

Tiếp theo, bạn cần chỉ định VLAN nào sẽ được áp dụng chính sách DHCP Snooping. Bạn có thể áp dụng cho một hoặc nhiều VLAN tùy theo thiết kế mạng. Ví dụ, để bật cho VLAN 10:

Switch(config)# ip dhcp snooping vlan 10

Nếu bạn có nhiều VLAN, bạn có thể chỉ định một dải, ví dụ: ip dhcp snooping vlan 10,20,30 hoặc ip dhcp snooping vlan 10-30.

Bước 3: Cấu hình cổng Trusted

Đây là bước quan trọng nhất. Bạn phải xác định cổng nào trên switch kết nối đến DHCP Server hợp lệ và cấu hình nó là cổng tin cậy. Nếu bạn quên bước này, tất cả các gói tin phản hồi từ server sẽ bị chặn và không client nào có thể nhận được IP.

Giả sử DHCP Server được kết nối qua cổng GigabitEthernet0/1:

Switch(config)# interface GigabitEthernet0/1
Switch(config-if)# ip dhcp snooping trust
Switch(config-if)# exit

Bước 4: (Tùy chọn) Giới hạn Rate-limit

Để chống lại cuộc tấn công DHCP Starvation, bạn có thể giới hạn số lượng gói tin DHCP mà một cổng Untrusted có thể xử lý mỗi giây. Mức giới hạn hợp lý thường là từ 15 đến 20 packets per second (pps).

Switch(config)# interface range FastEthernet0/1 - 24
Switch(config-if-range)# ip dhcp snooping limit rate 15
Switch(config-if-range)# exit

Bước 5: Các lệnh kiểm tra và xác minh

Sau khi hoàn tất cấu hình, bạn cần sử dụng các lệnh show để kiểm tra và đảm bảo mọi thứ hoạt động chính xác.

Để xem trạng thái chung của DHCP Snooping và các cổng được cấu hình Trusted:

Switch# show ip dhcp snooping

Để xem nội dung của bảng Binding Database sau khi client đã nhận IP:

Switch# show ip dhcp snooping binding

Kết quả của lệnh này sẽ hiển thị danh sách các client đang hoạt động với đầy đủ thông tin MAC, IP, và cổng kết nối.

Mối quan hệ giữa DHCP Snooping và các tính năng khác

DHCP Snooping không hoạt động một mình. Bảng Binding Database mà nó tạo ra là một nguồn thông tin vô giá, làm tiền đề cho hai tính năng bảo mật Layer 2 cực kỳ mạnh mẽ khác.

DHCP Snooping

Dynamic ARP Inspection (DAI)

DAI là tính năng chống lại các cuộc tấn công giả mạo ARP (ARP Spoofing/Poisoning). Nó kiểm tra mọi gói tin ARP trong mạng. Để xác thực một gói tin ARP, DAI sẽ đối chiếu thông tin địa chỉ IP và MAC trong gói tin đó với các mục có trong DHCP Snooping Binding Database. Nếu thông tin khớp, gói tin được cho qua. Nếu không, gói tin sẽ bị loại bỏ.

IP Source Guard (IPSG)

IPSG cung cấp khả năng lọc lưu lượng dựa trên địa chỉ IP nguồn. Khi được bật trên một cổng, IPSG chỉ cho phép lưu lượng từ một địa chỉ IP và MAC cụ thể đi qua. Thông tin về cặp IP-MAC hợp lệ này cũng được lấy trực tiếp từ DHCP Snooping Binding Database. Tính năng này giúp ngăn chặn việc một client tự ý đặt IP tĩnh hoặc giả mạo IP của một thiết bị khác trong mạng.

Câu hỏi thường gặp (FAQ)

DHCP Snooping hoạt động ở tầng nào?

DHCP Snooping là một tính năng bảo mật hoạt động ở Tầng 2 (Data Link) của mô hình OSI, vì nó được triển khai và xử lý trực tiếp trên các thiết bị chuyển mạch (switch).

Cổng Untrusted có chặn hết gói tin DHCP không?

Không. Cổng Untrusted được thiết kế thông minh để chỉ chặn các gói tin phản hồi từ phía server (như DHCPOFFER, DHCPACK). Nó vẫn cho phép các gói tin yêu cầu từ phía client (như DHCPDISCOVER, DHCPREQUEST) đi qua để chúng có thể đến được DHCP Server hợp lệ.

Có cần cấu hình DHCP Snooping trên tất cả Switch không?

Để đảm bảo hiệu quả bảo vệ cao nhất, bạn nên cấu hình DHCP Snooping trên tất cả các switch truy cập (access switches) – nơi người dùng cuối kết nối trực tiếp vào. Việc này tạo ra một chính sách bảo mật đồng nhất và bao phủ toàn bộ lớp truy cập của mạng.

Tổng kết

Việc triển khai DHCP Snooping không còn là một lựa chọn mà đã trở thành yêu cầu bắt buộc đối với một hệ thống mạng an toàn. Bằng cách xác thực các nguồn cấp phát IP và xây dựng một cơ sở dữ liệu tin cậy, bạn có thể vô hiệu hóa hiệu quả các cuộc tấn công phổ biến, bảo vệ dữ liệu và đảm bảo tính liên tục trong hoạt động của người dùng.

Tại InterData, chúng tôi khuyến khích mọi quản trị viên mạng hãy dành thời gian để hiểu và áp dụng tính năng mạnh mẽ này. Nếu có bất kỳ thắc mắc nào trong quá trình cấu hình, hãy để lại bình luận bên dưới, đội ngũ chuyên gia của chúng tôi luôn sẵn sàng hỗ trợ bạn.