Dạo này ngồi ôn lại phần security switching, thấy có chỗ hay bị hiểu lầm nên lập topic chia sẻ, ai làm network/security chắc cũng đụng qua rồi, góp ý thêm nhé.
Vấn đề đặt ra: Trong LAN thường gặp 3 kiểu tấn công:
1. DHCP Snooping - vai trò "ghi sổ"
Cơ chế: switch chia cổng thành trusted (nối DHCP server thật/uplink) và untrusted (nối endpoint). Default toàn bộ cổng là untrusted.
Khi enable, switch sẽ:
Cũng lưu ý: enable theo từng VLAN, không phải bật 1 lần là toàn switch được cover.
2. IP Source Guard - vai trò "gác cổng"
Đây mới là cái trực tiếp chặn IP spoofing. Enable trên port untrusted, nhưng bắt buộc phải có binding database từ DHCP Snooping (hoặc static entry) thì mới có dữ liệu để check.
Cơ chế: switch build 1 access-list ngầm theo port, chỉ cho phép traffic ra với đúng cặp IP-MAC nằm trong binding. Máy nào sửa IP nguồn thành IP không thuộc về mình → traffic bị drop ngay tại port, không lọt ra ngoài được.
→ Tóm gọn: DHCP Snooping biết ai đang cầm IP nào hợp pháp, IP Source Guard là thằng thực thi check với từng packet thật. Thiếu 1 trong 2 là không có tác dụng chống spoofing đầy đủ.
(Dynamic ARP Inspection cũng ăn theo binding table này để chống ARP spoofing, để dịp khác nói tiếp.)
3. Config flow cơ bản (Cisco)
Theo kinh nghiệm mình thấy lỗi hay gặp nhất khi setup thực tế là: bật DHCP Snooping xong tưởng xong việc, quên mất phải bật thêm IP Source Guard mới thật sự chặn được IP spoofing. Anh em nào đã triển khai combo này ở môi trường production rồi thì chia sẻ thêm case thực tế với, đặc biệt là mấy chỗ dễ đứt tay khi migrate/failover binding database.
Vấn đề đặt ra: Trong LAN thường gặp 3 kiểu tấn công:
- Cắm nhầm/cố tình một DHCP server giả vào mạng → máy trong mạng xin nhầm IP, gateway giả, DNS giả (DHCP spoofing)
- Spam request DHCP để chiếm hết pool IP (DHCP starvation)
- Máy trong mạng tự sửa IP nguồn để giả danh máy khác, né ACL, hoặc dàn MITM (IP spoofing)
1. DHCP Snooping - vai trò "ghi sổ"
Cơ chế: switch chia cổng thành trusted (nối DHCP server thật/uplink) và untrusted (nối endpoint). Default toàn bộ cổng là untrusted.
Khi enable, switch sẽ:
- Chặn các gói DHCPOFFER/DHCPACK xuất hiện từ cổng untrusted → chính là cách bắt DHCP server giả
- Rate-limit traffic DHCP → hạn chế starvation
- Build binding database: MAC - IP - VLAN - port - lease time, mỗi khi 1 host xin IP hợp lệ
Cũng lưu ý: enable theo từng VLAN, không phải bật 1 lần là toàn switch được cover.
2. IP Source Guard - vai trò "gác cổng"
Đây mới là cái trực tiếp chặn IP spoofing. Enable trên port untrusted, nhưng bắt buộc phải có binding database từ DHCP Snooping (hoặc static entry) thì mới có dữ liệu để check.
Cơ chế: switch build 1 access-list ngầm theo port, chỉ cho phép traffic ra với đúng cặp IP-MAC nằm trong binding. Máy nào sửa IP nguồn thành IP không thuộc về mình → traffic bị drop ngay tại port, không lọt ra ngoài được.
→ Tóm gọn: DHCP Snooping biết ai đang cầm IP nào hợp pháp, IP Source Guard là thằng thực thi check với từng packet thật. Thiếu 1 trong 2 là không có tác dụng chống spoofing đầy đủ.
(Dynamic ARP Inspection cũng ăn theo binding table này để chống ARP spoofing, để dịp khác nói tiếp.)
3. Config flow cơ bản (Cisco)
- Có DHCP server hợp lệ sẵn
- ip dhcp snooping (global)
- ip dhcp snooping vlan <x>
- Đánh dấu port nối DHCP server là trusted (ip dhcp snooping trust) - quên bước này là chính server thật cũng bị block luôn
- Config database agent để backup binding table, tránh mất khi switch reload
- ip verify source trên các port untrusted cần chống IP spoofing
Theo kinh nghiệm mình thấy lỗi hay gặp nhất khi setup thực tế là: bật DHCP Snooping xong tưởng xong việc, quên mất phải bật thêm IP Source Guard mới thật sự chặn được IP spoofing. Anh em nào đã triển khai combo này ở môi trường production rồi thì chia sẻ thêm case thực tế với, đặc biệt là mấy chỗ dễ đứt tay khi migrate/failover binding database.