DHCP Snooping trên Cisco: “Người gác cổng” chống DHCP giả mạo trong mạng LAN
Một trong những kiểu tấn công đơn giản nhưng cực kỳ nguy hiểm trong mạng nội bộ là Rogue DHCP Server Attack. Chỉ cần ai đó cắm một router Wi-Fi mini, một máy Linux chạy dnsmasq, hoặc thậm chí một laptop bật DHCP service vào switch, toàn bộ client trong mạng có thể nhận IP sai.
Kết quả?
Client có thể bị cấp:
Trong mạng doanh nghiệp, đây là lý do DHCP Snooping tồn tại.
DHCP Snooping là gì?
DHCP Snooping là một tính năng bảo mật Layer 2 trên switch Cisco dùng để kiểm soát các gói DHCP hợp lệ trong mạng.
Ý tưởng rất đơn giản:
Switch sẽ phân biệt 2 loại cổng:
Trusted Port
Untrusted Port
Nếu một thiết bị lạ cố đóng vai DHCP server trên cổng untrusted?
Switch sẽ chặn ngay.
DHCP hoạt động bình thường như thế nào?
Quá trình DHCP gồm 4 bước quen thuộc:
DORA
Ví dụ:
PC mới cắm vào switch:
Bước 1
PC gửi:
DHCP Discover
broadcast để tìm DHCP server.
Bước 2
DHCP server trả lời:
DHCP Offer
đề xuất địa chỉ IP.
Bước 3
PC gửi:
DHCP Request
xin dùng địa chỉ đó.
Bước 4
Server xác nhận:
DHCP ACK
DHCP Snooping kiểm soát điều gì?
Trên switch:
Luật hoạt động:
Untrusted port chỉ được gửi
Untrusted port KHÔNG được gửi
Điều này ngăn client giả mạo DHCP server.
DHCP Snooping Binding Table
Ngoài việc chặn DHCP giả, switch còn tạo ra một bảng gọi là:
DHCP Snooping Binding Database
Bảng này lưu:
Ví dụ:
MAC: 08:00:27:5D:06:D6
IP: 10.1.1.10
VLAN: 10
Port: FastEthernet0/1
Lease: 67720 seconds
Điều này có nghĩa:
Switch biết chính xác:
Cực kỳ quan trọng.
Vì các tính năng khác sẽ dùng bảng này:
Cấu hình DHCP Snooping
1. Bật DHCP Snooping toàn cục
ip dhcp snooping
Nếu không có lệnh này thì mọi cấu hình khác vô nghĩa.
2. Bật trên VLAN cần bảo vệ
Ví dụ VLAN 10:
ip dhcp snooping vlan 10
DHCP Snooping không tự áp dụng cho toàn bộ VLAN.
3. Đánh dấu trusted port
Ví dụ uplink tới DHCP server:
interface GigabitEthernet0/1
ip dhcp snooping trust
Nếu có thêm uplink:
interface GigabitEthernet0/2
ip dhcp snooping trust
4. Các port access để mặc định untrusted
Mặc định:
untrusted
Không cần cấu hình gì thêm.
Đây là điểm hay.
Option 82 là gì?
Switch có thể chèn thêm thông tin:
DHCP Option 82
Đây là Relay Agent Information.
Giúp DHCP server biết:
Ví dụ:
Rất hữu ích trong mạng campus lớn.
Nhưng…
Không phải DHCP server nào cũng hỗ trợ.
Nếu server không hiểu Option 82, DHCP có thể fail.
Khi đó:
no ip dhcp snooping information option
Cấu hình hoàn chỉnh
ip dhcp snooping
ip dhcp snooping vlan 10
no ip dhcp snooping information option
interface GigabitEthernet0/1
ip dhcp snooping trust
interface GigabitEthernet0/2
ip dhcp snooping trust
Kiểm tra DHCP Snooping
Kiểm tra trạng thái
show ip dhcp snooping
Ví dụ:
Switch DHCP snooping is enabled
DHCP snooping is configured on following VLANs:
10
DHCP snooping is operational on following VLANs:
10
Insertion of option 82 is disabled
Xác nhận:
Kiểm tra trusted interface
Ví dụ:
Interface Trusted
Gi0/1 yes
Gi0/2 yes
Các port không xuất hiện mặc định là:
untrusted
Kiểm tra Binding Table
show ip dhcp snooping binding
Ví dụ:
08:00:27:5D:06:D6
10.1.1.10
VLAN 10
FastEthernet0/1
Switch xác nhận:
Case thực tế
Một doanh nghiệp gặp hiện tượng:
Kiểm tra phát hiện:
Một nhân viên mang router Wi-Fi gia đình tới cắm vào switch.
Router này bật DHCP server mặc định.
Hệ quả:
Một số máy nhận IP từ DHCP chính thức.
Một số máy nhận IP từ router rogue.
Giải pháp:
Bật DHCP Snooping.
Ngay lập tức rogue DHCP bị block.
Best Practice thực chiến
Không trust bừa.
Chỉ trust:
Không trust:
Kết hợp thêm:
Đây là bộ ba bảo mật Layer 2 cực kỳ mạnh.
DHCP là dịch vụ tiện lợi. Nhưng nếu không kiểm soát, nó cũng là cửa ngõ cho tấn công nội bộ. DHCP Snooping biến switch từ thiết bị chuyển frame đơn thuần thành một security enforcement point ở Layer 2. Nếu bạn đang vận hành mạng campus, enterprise access layer, hoặc lab CCNP/CCIE, đây là tính năng nên bật.
Một trong những kiểu tấn công đơn giản nhưng cực kỳ nguy hiểm trong mạng nội bộ là Rogue DHCP Server Attack. Chỉ cần ai đó cắm một router Wi-Fi mini, một máy Linux chạy dnsmasq, hoặc thậm chí một laptop bật DHCP service vào switch, toàn bộ client trong mạng có thể nhận IP sai.
Kết quả?
Client có thể bị cấp:
- Default gateway giả → toàn bộ traffic đi qua máy của attacker (Man-in-the-Middle)
- DNS giả mạo → chuyển hướng người dùng đến website độc hại
- IP sai subnet → mất kết nối hoàn toàn
- Lease bất thường → gây gián đoạn dịch vụ
Trong mạng doanh nghiệp, đây là lý do DHCP Snooping tồn tại.
DHCP Snooping là gì?
DHCP Snooping là một tính năng bảo mật Layer 2 trên switch Cisco dùng để kiểm soát các gói DHCP hợp lệ trong mạng.
Ý tưởng rất đơn giản:
Switch sẽ phân biệt 2 loại cổng:
Trusted Port
- Được phép nhận và gửi mọi loại DHCP message
- Thường là uplink về DHCP server hoặc DHCP relay
Untrusted Port
- Chỉ được phép gửi DHCP request từ client
- Không được phép gửi DHCP offer/ack như DHCP server
Nếu một thiết bị lạ cố đóng vai DHCP server trên cổng untrusted?
Switch sẽ chặn ngay.
DHCP hoạt động bình thường như thế nào?
Quá trình DHCP gồm 4 bước quen thuộc:
DORA
- Discover
- Offer
- Request
- Acknowledge
Ví dụ:
PC mới cắm vào switch:
Bước 1
PC gửi:
DHCP Discover
broadcast để tìm DHCP server.
Bước 2
DHCP server trả lời:
DHCP Offer
đề xuất địa chỉ IP.
Bước 3
PC gửi:
DHCP Request
xin dùng địa chỉ đó.
Bước 4
Server xác nhận:
DHCP ACK
DHCP Snooping kiểm soát điều gì?
Trên switch:
- Client-facing port → untrusted
- Uplink tới DHCP server → trusted
Luật hoạt động:
Untrusted port chỉ được gửi
- Discover
- Request
Untrusted port KHÔNG được gửi
- Offer
- ACK
- NAK
Điều này ngăn client giả mạo DHCP server.
DHCP Snooping Binding Table
Ngoài việc chặn DHCP giả, switch còn tạo ra một bảng gọi là:
DHCP Snooping Binding Database
Bảng này lưu:
- MAC Address
- IP Address
- VLAN
- Interface
- Lease time
Ví dụ:
MAC: 08:00:27:5D:06:D6
IP: 10.1.1.10
VLAN: 10
Port: FastEthernet0/1
Lease: 67720 seconds
Điều này có nghĩa:
Switch biết chính xác:
Máy MAC này đang nằm ở cổng này và được cấp IP này hợp lệ.
Cực kỳ quan trọng.
Vì các tính năng khác sẽ dùng bảng này:
- Dynamic ARP Inspection (DAI)
- IP Source Guard
Cấu hình DHCP Snooping
1. Bật DHCP Snooping toàn cục
ip dhcp snooping
Nếu không có lệnh này thì mọi cấu hình khác vô nghĩa.
2. Bật trên VLAN cần bảo vệ
Ví dụ VLAN 10:
ip dhcp snooping vlan 10
DHCP Snooping không tự áp dụng cho toàn bộ VLAN.
3. Đánh dấu trusted port
Ví dụ uplink tới DHCP server:
interface GigabitEthernet0/1
ip dhcp snooping trust
Nếu có thêm uplink:
interface GigabitEthernet0/2
ip dhcp snooping trust
4. Các port access để mặc định untrusted
Mặc định:
untrusted
Không cần cấu hình gì thêm.
Đây là điểm hay.
Option 82 là gì?
Switch có thể chèn thêm thông tin:
DHCP Option 82
Đây là Relay Agent Information.
Giúp DHCP server biết:
- request đến từ switch nào
- port nào
- VLAN nào
Ví dụ:
- circuit-id
- remote-id
Rất hữu ích trong mạng campus lớn.
Nhưng…
Không phải DHCP server nào cũng hỗ trợ.
Nếu server không hiểu Option 82, DHCP có thể fail.
Khi đó:
no ip dhcp snooping information option
Cấu hình hoàn chỉnh
ip dhcp snooping
ip dhcp snooping vlan 10
no ip dhcp snooping information option
interface GigabitEthernet0/1
ip dhcp snooping trust
interface GigabitEthernet0/2
ip dhcp snooping trust
Kiểm tra DHCP Snooping
Kiểm tra trạng thái
show ip dhcp snooping
Ví dụ:
Switch DHCP snooping is enabled
DHCP snooping is configured on following VLANs:
10
DHCP snooping is operational on following VLANs:
10
Insertion of option 82 is disabled
Xác nhận:
- feature đã bật
- VLAN hoạt động
- Option 82 trạng thái gì
Kiểm tra trusted interface
Ví dụ:
Interface Trusted
Gi0/1 yes
Gi0/2 yes
Các port không xuất hiện mặc định là:
untrusted
Kiểm tra Binding Table
show ip dhcp snooping binding
Ví dụ:
08:00:27:5D:06:D6
10.1.1.10
VLAN 10
FastEthernet0/1
Switch xác nhận:
- MAC này hợp lệ
- IP này được cấp hợp lệ
- đang ở đúng port
Case thực tế
Một doanh nghiệp gặp hiện tượng:
- user lúc vào được mạng
- lúc không
- DNS bị đổi
- login portal nội bộ bị redirect sai
Kiểm tra phát hiện:
Một nhân viên mang router Wi-Fi gia đình tới cắm vào switch.
Router này bật DHCP server mặc định.
Hệ quả:
Một số máy nhận IP từ DHCP chính thức.
Một số máy nhận IP từ router rogue.
Giải pháp:
Bật DHCP Snooping.
- uplink = trusted
- access port = untrusted
Ngay lập tức rogue DHCP bị block.
Best Practice thực chiến
Không trust bừa.
Chỉ trust:
- uplink tới DHCP server
- uplink tới DHCP relay path
Không trust:
- user ports
- printer ports
- IP phone ports
- conference room ports
Kết hợp thêm:
- DHCP Snooping
- Dynamic ARP Inspection
- IP Source Guard
Đây là bộ ba bảo mật Layer 2 cực kỳ mạnh.
DHCP là dịch vụ tiện lợi. Nhưng nếu không kiểm soát, nó cũng là cửa ngõ cho tấn công nội bộ. DHCP Snooping biến switch từ thiết bị chuyển frame đơn thuần thành một security enforcement point ở Layer 2. Nếu bạn đang vận hành mạng campus, enterprise access layer, hoặc lab CCNP/CCIE, đây là tính năng nên bật.