Loading...

Cấu hình DHCP Snooping trên switch Cisco

DHCP snooping là một tính năng bảo mật nhằm ngăn chặn việc giả mạo DHCP server để gửi các gói tin DHCP giả mạo.

Khi DHCP snooping được kích hoạt, cổng trên Switch sẽ phân loại thành cổng tin cậy (trusted) và không tin cậy (untrusted). Cổng tin cậy cho phép nhận DHCP Reply hay cổng được kết nối với Server DHCP (Orginal Server). Nếu DHCP Server giả mạo (Fake Server) gắn vào cổng “untrusted” và gởi DHCP reply thì gói Reply sẽ bị loại bỏ đồng thời tự động shutdown cổng - chuyển sang trạng thái err-disable

DHCP snooping cũng có một cơ sở dữ liệu có chứa địa chỉ MAC của client, địa chỉ IP được cung cấp, thời gian cấp bao lâu, thông tin cổng,...

Tại sao chúng ta cần DHCP Snooping?
Chúng ta cần DHCP Snooping để ngăn chặn các cuộc tấn công “man-in-the-middle”. Giả sử tồn tại một kẻ tấn công “man-in-the-middle” giả mạo DHCP server và trả lời cho gói tin DHCPDISCOVER trước khi DHCP Server thực trả lời, từ đó DHCP giả mạo sẽ gửi thông tin cấu hình IP trong đó có gateway giả mạo. Khi máy tính của người dùng gởi dữ liệu đến gateway để ra mạng bên ngoài, máy tính của kẻ tấn công sẽ trở thành gateway trong trường hợp này. Kẻ tấn công có thể phân tích nội dung của mỗi gói dữ liệu được gởi đến trước khi thực hiện chuyển tiếp thông thường.

(Ngoài ra DHCP Snooping còn được vận dụng để hạn chế việc người dùng tự cắm thiết bị wifi có tính năng DHCP server cấp IP lẫn lộn gây mất ổn định mạng.)

Mô hình thực hiện cấu hình

Các client sẽ kết nối tới port untrusted, mặc định tất cả các port đều là untrusted. client gửi thông điệp DHCPDISCOVER với DHCP Snooping đã được bật lên thì switch chỉ forward thông điệp DHCP broadcast tới các cổng trusted. Trong mô hình này distribution switch sẽ đóng vai trò là một DHCP Server. Trusted port là port duy nhất cho phép DHCP Server gửi thông điệp trả lời DHCPOFFER

Cấu hình

Đầu tiên chúng ta sẽ vào SW1 và bật tính năng DHCP Snooping:

SW1(config)#ip dhcp snooping

Chúng ta cần phải kích hoạt cho các VLAN, trong trường hợp này chúng ta chỉ dùng cho VLAN1

SW1(config)#ip dhcp snooping vlan 1

Bây giờ chúng ta sẽ cấu hình interface f0/1 kết nối với DSW1 là một trusted port:

SW1(config)#interface f0/1
SW1(config-if)#ip dhcp snooping trust

Chúng ta nên kích hoạt rate limiting trên các cổng untrusted để giới hạn packet được truyền nhận mỗi giây để ngăn chặn việc quá tải DHCP Server.

SW1(config)#interface f0/1
SW1(config-if)#ip dhcp snooping limit rate 25

Kiểm tra

Bây giờ chúng ta sẽ kiểm tra lại cấu hình DHCP Snooping

SW1#show ip dhcp snooping
Switch DHCP snooping is enabled
DHCP snooping is configured on following VLANs: 1
Insertion of option 82 is enabled
Option 82 on untrusted port is not allowed
Verification of hwaddr field is enabled
Interface Trusted Rate limit (pps)
----------------------- ------- ----------------
FastEthernet0/24 no unlimited
FastEthernet0/1 yes 25

Tiếp theo chúng ta sẽ kết nối máy tính client vào cổng Fa0/24 trên SW1 để xin IP động, chúng ta có thể thấy các IP được cấp đã được DHCP Snooping lưu lại:

DHCP Option 82

Do khi kích hoạt tính năng DHCP Snooping trên SW1, DHCP Option 82 sẽ được thêm vào các DHCP packet khi đi qua một switch. Option 82 chứa thông tin cụ thể về port mà client kết nối tới. Các gói tin DHCP cũng mang theo một trường “giaddr” mặc định được thiết lập là 0.0.0.0 (một giá trị khác 0)
Khi DHCP Snooping hoặc DHCP relay agent được kích hoạt, DHCP Option 82 sẽ được thêm vào DHCP packet khi đi qua một switch. Option 82 chứa thông tin cụ thể về port mà client kết nối tới.


Trong mô hình này, các cổng đối diện với DHCP Server là Fa0/2 trên SW1, Fa0/11 trên SW2, các cổng này đã được cấu hình là trusted. Mặc định SW1 sẽ chèn DHCP Option 82 vào tất cả các packet mà nó nhận được từ client. Cũng theo mặc định thì SW2 sẽ hủy các packet này khi nhận được vì một switch khi DHCP Snooping được kích hoạt sẽ hủy các packet trên cổng untrusted có chứa Option 82 hoặc có giaddr khác 0 (ví dụ 0.0.0.0). Dưới đây là thông điệp mà chúng ta nhìn thấy nếu debug trên SW2 khi SW1 gửi DHCPDISCOVER ra cổng

Fa0/2
%DHCP_SNOOPING-5-DHCP_SNOOPING_NONZERO_GIADDR: DHCP_SNOOPING drop message with non-zero giaddr or option82 value on untrusted port


Chúng ta có thể thấy cổng Fa0/24 trên SW2 là một cổng untrusted cho nên nó sẽ hủy các packet từ Client gửi đến vì có chứa Option 82 do trên SW1 đã kích hoạt DHCP Snooping, các packet sẽ không bao giờ đến được DSW1. Chúng ta sẽ giải quyết vấn đề này bằng cách sử dụng một lệnh trên SW2 sẽ trusted các gói tin chứa DHCP Option 82 được nhận trên cổng untrusted (Fa0/24).

SW2(config)#ip dhcp snooping information option allow-untrusted

Bởi vì DHCP Server của chúng ta là một thiết bị Cisco IOS, mặc định nó sẽ từ chối các gói tin chứa Option 82 nên chúng ta cũng cần phải trust trên DSW1

DSW1(config)#ip dhcp relay information trust-all

Ngoài ra chúng ta còn có một số cách khác như cấu hình trusted trên Fa0/24 của SW2 hoặc chúng ta có thể cấu hình trên SW1

SW1(config)# #no ip dhcp snooping information option.

 

(Tổng hợp)

 

Comments

No posts found

New post


Liên hệThỏa thuận sử dụng | Chính sách bảo mật