
Mục lục bài viết 10 phần
DHCP Snooping, Dynamic ARP Inspection (DAI) và IP Source Guard thường được bật như một gói first-hop security, nhưng cấu hình “đã enable” không chứng minh chúng chặn đúng rogue DHCP, ARP spoofing và source spoofing trong lúc vẫn cho phép cấp phát địa chỉ hợp lệ. Bài kiểm thử cần tạo ra binding có kiểm soát, gây lỗi từng lớp và thu được bằng chứng pass/fail tại cả client, switch và hệ thống giám sát.
Bài viết giúp bạn
- Câu hỏi cần trả lời trước khi bật first-hop security
- Topology và vùng tin cậy
- Traffic profile và biến số phải kiểm soát
Câu hỏi cần trả lời trước khi bật first-hop security
#Ba cơ chế giải quyết ba điểm khác nhau. DHCP Snooping phân loại cổng trusted/untrusted, lọc thông điệp DHCP không hợp lệ và tạo binding giữa MAC, IP, VLAN, cổng và thời hạn lease. DAI dựa trên binding hoặc ARP ACL để xác thực gói ARP. IP Source Guard dùng binding để giới hạn nguồn IP/MAC trên cổng access. Vì phụ thuộc dây chuyền, lỗi ở khâu tạo binding có thể biểu hiện thành DAI hoặc IP Source Guard chặn nhầm.
Test objective không nên chỉ là “rogue DHCP bị chặn”. Cần trả lời: client hợp lệ có nhận lease đúng hạn không; offer từ cổng untrusted có bị loại không; ARP giả có bị drop nhưng ARP hợp lệ vẫn đi qua không; binding có phục hồi sau reboot/failover không; và counter/telemetry có đủ để vận hành xác định nguyên nhân.
Topology và vùng tin cậy
#Topology tối thiểu gồm hai client hợp lệ, một DHCP server/relay, một máy phát rogue DHCP/ARP, switch access là DUT và một điểm capture ở phía client cùng uplink. Nếu có stack/MLAG, thêm peer switch và đường uplink dự phòng. Tách VLAN management khỏi VLAN thử nghiệm; dùng địa chỉ và lease pool riêng.
Cổng về DHCP server hoặc relay chỉ được đánh dấu trusted sau khi xác nhận đường đi thực tế. Cổng client và cổng máy tấn công giữ untrusted. Nếu DHCP relay nằm qua nhiều lớp, capture phải cho thấy giaddr, Option 82 và đường return để tránh kết luận sai do relay hoặc policy trung gian.

Traffic profile và biến số phải kiểm soát
#Giữ cố định VLAN, lease time, số client, tốc độ DHCP discover, loại relay, trạng thái Option 82 và phiên bản firmware. Chạy baseline khi chưa bật policy để xác nhận cả DHCP chính thống và rogue đều có thể phản hồi; sau đó bật từng cơ chế theo thứ tự DHCP Snooping → DAI → IP Source Guard. Cách này tách được hiệu ứng của mỗi lớp.
Traffic profile cần có cấp lease mới, renew/rebind, release, DHCP NAK, MAC move, ARP request/reply hợp lệ, gratuitous ARP và gói IP giả nguồn. Với scale test, tăng client theo bậc thay vì nhảy thẳng tới cực đại; ghi nhận CPU, bộ nhớ, bảng binding và control-plane policing.
Bằng chứng và KPI pass/fail
#Không dùng ping đơn lẻ làm bằng chứng. Một lần pass cần ít nhất packet capture, bảng binding, counter drop theo reason, log/telemetry và trải nghiệm client. Timestamp giữa nguồn phát và thiết bị phải đồng bộ đủ để ghép sự kiện.
- KPI: DHCP success rate · Cách đo: Client nhận ACK hợp lệ / tổng lần thử · Pass/fail cần chốt: Theo SLA lab, tách new lease và renew
- KPI: Lease acquisition time · Cách đo: Discover đến ACK · Pass/fail cần chốt: So với baseline, báo p50/p95/p99
- KPI: Rogue offer acceptance · Cách đo: Client nhận cấu hình từ rogue · Pass/fail cần chốt: Phải bằng 0 khi policy đúng
- KPI: ARP spoof block rate · Cách đo: Gói ARP giả bị drop / tổng gói giả · Pass/fail cần chốt: 100% trong phạm vi rule đã định
- KPI: False positive · Cách đo: Gói hợp lệ bị drop · Pass/fail cần chốt: 0 trong bộ traffic hợp lệ đã mô tả
- KPI: Binding convergence · Cách đo: Từ thay đổi đến bảng/cơ chế nhất quán · Pass/fail cần chốt: Ngưỡng theo thiết kế và firmware
Ma trận tình huống kiểm thử
#- Tình huống: Rogue Offer từ cổng access · Kỳ vọng DHCP Snooping: Drop · Kỳ vọng DAI/IPSG: Chưa áp dụng · Bằng chứng chính: Capture + drop counter
- Tình huống: Client dùng lease hợp lệ · Kỳ vọng DHCP Snooping: Cho phép, tạo binding · Kỳ vọng DAI/IPSG: Cho phép · Bằng chứng chính: Binding + ACK + traffic
- Tình huống: ARP reply sai IP–MAC · Kỳ vọng DHCP Snooping: Không quyết định · Kỳ vọng DAI/IPSG: DAI drop · Bằng chứng chính: ARP counter + capture
- Tình huống: Gói IP giả nguồn · Kỳ vọng DHCP Snooping: Không quyết định · Kỳ vọng DAI/IPSG: IPSG drop · Bằng chứng chính: ACL/counter + capture
- Tình huống: Static host không dùng DHCP · Kỳ vọng DHCP Snooping: Không có binding động · Kỳ vọng DAI/IPSG: Có thể bị chặn · Bằng chứng chính: ARP ACL/static binding
- Tình huống: MAC move sang cổng khác · Kỳ vọng DHCP Snooping: Binding cần cập nhật/vi phạm · Kỳ vọng DAI/IPSG: Chính sách theo thiết kế · Bằng chứng chính: Event log + convergence
Test plan từng bước
#Không tăng rate trên VLAN dùng thật. Rate limit quá thấp có thể err-disable cổng hoặc gây chậm cấp lease, nên test giá trị này trong lab trước khi triển khai.
- Ghi cấu hình, firmware, topology, clock source và trạng thái counter ban đầu.
- Chạy baseline không policy; xác minh capture hai phía và DHCP relay path.
- Bật DHCP Snooping cho một VLAN, chỉ trust uplink đúng; kiểm tra binding từ client hợp lệ.
- Phát rogue Offer/ACK từ cổng untrusted; xác nhận client không chấp nhận và switch ghi đúng reason.
- Bật DAI; phát ARP hợp lệ rồi ARP sai IP–MAC, sai VLAN và gratuitous ARP theo bộ test.
- Bật IP Source Guard; gửi traffic hợp lệ và traffic giả nguồn ở cùng tốc độ.
- Tăng DHCP/ARP rate theo bậc, theo dõi rate limit, CPU và mất gói hợp lệ.
- Lưu running config, binding, counter, pcap và log vào cùng run ID.
Kiểm thử churn, reboot và failover
#Binding churn xuất hiện khi nhiều client reconnect, lease ngắn, VM/container đổi MAC hoặc người dùng chuyển cổng. Tạo burst reconnect có kiểm soát và đo thời gian bảng binding ổn định. Sau đó reboot switch hoặc supervisor theo runbook; nếu dùng database binding bền vững, xác nhận file/database được tải lại và tuổi binding hợp lý.
Với stack/MLAG, failover peer/uplink trong khi client renew lease và phát traffic. Pass không chỉ là “ping không mất”: cần xác nhận không có cửa sổ rogue acceptance, không tạo binding trùng và số gói hợp lệ bị mất nằm trong ngưỡng đã chốt.

Đọc kết quả và khoanh vùng lỗi
#Nếu DHCP thất bại nhưng không có drop counter, kiểm tra relay, VLAN, ACL và Option 82 trước. Nếu binding đúng nhưng ARP hợp lệ bị drop, so sánh VLAN/cổng/MAC/IP và ARP ACL cho static host. Nếu IP Source Guard chặn sau MAC move, kiểm tra thời gian xóa binding cũ và cơ chế port-security liên quan.
Luôn so counter delta trong đúng cửa sổ test; counter tích lũy dễ gán nhầm sự kiện. Khi switch chỉ cho reason tổng quát, dùng capture hai phía để xác định gói vào có tồn tại và gói ra có bị loại hay không.
Giới hạn của kết luận
#Kết quả chỉ áp dụng cho firmware, ASIC, topology, rate và loại client đã kiểm tra. DAI không thay thế xác thực endpoint; DHCP Snooping không bảo vệ traffic đi ngoài phạm vi VLAN/cổng đã bật; IP Source Guard cũng không chứng minh ứng dụng hoặc người dùng hợp lệ. IPv6 cần bộ kiểm soát khác như RA Guard và DHCPv6 Guard.
Khái niệm cần nhớ
#- DHCP Snooping binding: Ánh xạ động giữa MAC, IP, VLAN, cổng và lease.
- Trusted port: Cổng được phép chuyển tiếp phản hồi DHCP server.
- DAI: Cơ chế kiểm tra tính hợp lệ của ARP dựa trên binding hoặc ACL.
- IP Source Guard: Lọc nguồn IP/MAC tại cổng access.
- Option 82: Thông tin relay agent bổ sung vào DHCP để nhận diện vị trí client.
- Binding churn: Tốc độ tạo, đổi và xóa binding theo thời gian.
Khái niệm cần nhớ
- Security efficacy
- Mức độ phát hiện hoặc ngăn chặn đúng nội dung kiểm thử trong phạm vi đã xác định.
- Goodput
- Lưu lượng ứng dụng hữu ích tới đích, không tính phần truyền lại hoặc overhead không tạo giá trị.
- False positive
- Lưu lượng hợp lệ bị nhận diện hoặc xử lý nhầm như một mối đe dọa.
TÀI LIỆU ĐỐI CHIẾUTài liệu tham khảo4 nguồn +
Nội dung được biên soạn độc lập, theo hướng vendor-neutral và đối chiếu các tài liệu gốc dưới đây. Tính năng sản phẩm cần được kiểm tra lại theo phiên bản đang sử dụng.
NetVali ưu tiên nguồn tiêu chuẩn và tài liệu chính thức; phân biệt khuyến nghị triển khai với yêu cầu của tiêu chuẩn; không công bố thông số sản phẩm chưa gắn với phiên bản và điều kiện đo.
