Kẻ tấn công có thể gởi thông tin giả mạo để “đánh lừa” Switch hay những máy tính nhằm chuyển tiếp luồng dữ liệu đến của người dùng đến gateway giả. Mục đích của kẻ tấn công là trở thành “man-in-the-middle”, khi máy tính 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. Với tính năng của Cisco Catalyst: DHCP Snooping, IP source guard và dynamic ARP (DAI) cho phép ngăn chặn một số loại tấn công dạng này. 1. DHCP Snooping Một Server DHCP thông thường cung cấp những thông tin cơ bản cho một máy tính hoạt động trên mạng. Ví dụ: máy tính người dùng có thể nhận địa chỉ IP, địa chỉ gateway, địa chỉ DNS... Giả sử kẻ tấn công xây dựng một Server DHCP giả trong cùng mạng với máy tính người dùng, và khi máy tính người dùng thực hiện gởi broadcast DHCP Request, khi đó Server DHCP giả có thể sẽ gởi thông tin trả lời và máy tính người dùng sẽ dùng Server DHCP giả làm gateway. Lúc này tất cả luồng dữ liệu gởi ra mạng bên ngoài đều sẽ đi qua gateway giả và kẻ tấn công sẽ thực hiện phân tích và biết được nội dụng của dữ liệu sau đó gói được chuyển tiếp đi như bình thường. Đây là một dạng tấn công “man-in-the-middle”, kẻ tấn công thay đổi đường đi của gói dữ liệu mà người dùng không thể nhận biết. Với DHCP Snooping sẽ giúp ngăn chặn loại tấn công này loại này. Khi DHCP đượ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, trong khi cổng không tin cậy chỉ cho phép nhận DHCP Request hay cổng kết nối với máy tính người dùng. Nếu Server DHCP giả gắn vào cổng không tin cậy và gởi DHCP Reply thì gói Reply sẽ bị loại bỏ. DHCP Snooping sẽ thực hiện phân tích gói DHCP Request và Reply, xây dựng bảng cơ sở dữ liệu về địa chỉ IP được cấp, địa chỉ MAC, thông tin cổng... mà máy tính đó thuộc. 2. Cấu hình DHCP Snooping - Kích hoạt tính năng DHCP Snooping A1(config)#ip dhcp snooping A1(config)#ip dhcp snooping vlan 2 - Tính năng information option cho phép mang thông tin về cổng mà máy tính đó thuộc khi thực hiện DHCP request, tuy nhiên tùy chọn này buộc Server DHCP phải hổ trợ, trong trường hợp không cần thiết bạn nên tắt tính năng này A1(config)#no ip dhcp snooping information option - Cho phép kiểm tra địa chỉ MAC A1(config)#ip dhcp snooping verify mac-address - Xác định cổng tin cậy (trusted) và không tin cậy (untrusted) A1(config)#interface gig1/0/48 A1(config-if)#ip dhcp snooping trust A1(config)#int range gig1/0/1–47,gig1/0/49-52 A1(config-if)#no ip dhcp snooping trust - Tạo db lưu trữ A1(config)#ip dhcp snooping database flash:snooping-db 3. Kiểm tra - Sử dụng các lệnh sau để kiểm tra cấu hình A1#show ip dhcp snooping A1#show ip dhcp snooping binding - Trong một số trường hợp kẻ tấn công có thể thực hiện DHCP Request với địa chỉ MAC giả, sử dụng hết dãy địa chỉ trên Server DHCP. Và Server DHCP không còn địa chỉ để cấp cho người dùng khác . Để hạn chế, DHCP Snooping cho phép giới hạn tốc độ gói Request được gởi
DHCP Snooping là gì? Hãy xem mạng ví dụ sau đây. Chúng ta có hai Switch truy cập lớp 2 (SW1, SW2), Switch core (SW3) và Máy chủ DHCP là máy chủ chính thức do quản trị viên cài đặt để cung cấp địa chỉ IP và các cài đặt mạng khác cho người dùng (DNS, cổng mặc định, v.v. ). Trước tiên hãy bắt đầu bằng cách mô tả cuộc tấn công. Kẻ tấn công (phía dưới bên trái trong sơ đồ) kết nối Máy chủ DHCP Rogue trong cùng một VLAN 10 với những người dùng còn lại. Máy tính của người dùng (“Nạn nhân” như được hiển thị ở trên cùng bên trái) được định cấu hình để nhận cài đặt mạng từ DHCP, do đó máy tính sẽ gửi gói “DHCP Discover” trong mạng như hình dưới đây: Thông thường, “Máy chủ DHCP hợp pháp” ở bên phải sẽ phản hồi yêu cầu (với gói “Phiếu yêu cầu DHCP”) và chỉ định cài đặt mạng chính xác (IP, DNS, Gateway, v.v.) cho máy khách. Tuy nhiên, Máy chủ DHCP Rogue của kẻ tấn công cũng sẽ phản hồi bằng một “Ưu đãi DHCP”. Điều này sẽ tạo ra một “điều kiện chạy đua” và nếu Máy chủ Rogue DHCP nhanh hơn một chút, nó sẽ chỉ định các cài đặt giả cho người dùng trước máy chủ hợp pháp. Điều này có nghĩa là kẻ tấn công có thể chỉ định một cổng mặc định giả mạo và máy chủ DNS cho người dùng sẽ bị kẻ tấn công kiểm soát. Từ đó, kẻ tấn công có thể hoạt động như "người ở giữa" hoặc đưa người dùng đến các trang web giả mạo, v.v. Với DHCP snooping được bật, Switch sẽ lắng nghe lưu lượng DHCP trong mạng và sẽ chỉ cho phép “Ưu đãi DHCP” đến từ các nguồn đáng tin cậy. Do đó, Cung cấp DHCP từ máy chủ Rogue giả mạo sẽ bị chặn bởi Switch như hình dưới đây: Khi DHCP Snooping được bật trên tất cả các thiết bị chuyển mạch, theo mặc định, tất cả các gói “DHCP Offer” sẽ bị chặn trừ khi chuyển mạch được định cấu hình rõ ràng để “tin cậy” các cổng nhất định với máy chủ DHCP hợp pháp. Do đó, chỉ các giao diện được cấu hình là “đáng tin cậy” mới được phép chuyển tiếp các gói “DHCP Offer” do đó các gói giả mạo sẽ bị chặn. Trong ví dụ ở trên, các giao diện Ge0 / 1 của cả SW1 và SW2 và cả giao diện Fe0 / 1 của SW3 sẽ được định cấu hình để tin cậy các gói “DHCP Offer” vì chúng đến từ máy chủ DHCP Hợp pháp. Cách định cấu hình DHCP Snooping trên các thiết bị chuyển mạch của Cisco Bây giờ chúng ta hãy xem cấu hình từng bước của tính năng này trong cấu trúc liên kết ví dụ được hiển thị ở trên. Các bước chung bao gồm: - Bật tính năng DHCP Snooping trên toàn cục trên mọi chuyển mạch. - Bật tính năng theo dõi trên VLAN cụ thể mà bạn muốn bảo vệ (ví dụ: VLAN 10 trong ví dụ ở trên). - Để có khả năng tương thích tốt hơn, hãy tắt việc chèn tùy chọn DHCP 82 từ Switch. - Đi tới tất cả các thiết bị chuyển mạch và tìm các giao diện kết nối với máy chủ DHCP hợp pháp. Các giao diện này sẽ nhận được các gói DHCP Offer hợp pháp và phải được định cấu hình là “đáng tin cậy”. Tất cả các giao diện khác theo mặc định sẽ chặn bất kỳ gói DHCP Offer nào. - Tùy chọn: Bạn có thể đặt giới hạn cho các yêu cầu máy khách DHCP (gói mỗi giây) để tránh kẻ tấn công gửi quá nhiều yêu cầu DHCP và do đó làm cạn kiệt tài nguyên của máy chủ. Hãy bắt đầu với cấu hình: Bước 1: Bật tính năng DHCP Snooping toàn cục SW1(config)#ip dhcp snooping SW2(config)#ip dhcp snooping SW3(config)#ip dhcp snooping Bước 2: Bật tính năng DHCP Snooping trên VLAN 10 SW1(config)#ip dhcp snooping vlan 10 SW2(config)#ip dhcp snooping vlan 10 SW3(config)#ip dhcp snooping vlan 10 Bước 3: Vô hiệu hóa việc chèn tùy chọn 82 trong các gói DHCP SW1(config)#no ip dhcp snooping information option SW2(config)#no ip dhcp snooping information option SW3(config)#no ip dhcp snooping information option Lưu ý: Cấu hình trên sẽ vô hiệu hóa Switch chèn tùy chọn 82 trong các gói DHCP. Bước 4: Định cấu hình các giao diện đáng tin cậy trên các chuyển mạch (các giao diện kết nối với DHCP máy chủ hợp pháp) SW1(config)# interface GigabitEthernet0/1 SW1(config-if)# ip dhcp snooping trust SW2(config)# interface GigabitEthernet0/1 SW2(config-if)# ip dhcp snooping trust SW3(config)# interface FastEthernet0/1 SW3(config-if)# ip dhcp snooping trust Bước 5 (Tùy chọn): Định cấu hình giới hạn tốc độ đối với các yêu cầu DHCP từ máy khách SW1(config)# interface FastEthernet0/1 SW1(config-if)# ip dhcp snooping limit rate 20 SW2(config)# interface FastEthernet0/1 SW2(config-if)# ip dhcp snooping limit rate 20 Bước 6: Xác minh SW1#show ip dhcp snooping Switch DHCP snooping is enabled DHCP snooping is configured on following VLANs: 10 Insertion of option 82 is disabled Option 82 on untrusted port is not allowed Verification of hwaddr field is enabled Interface Trusted Rate limit (pps) ———————– ——- —————- GigabitEthernet0/1 yes unlimited FastEthernet0/1 no 20 SW2#show ip dhcp snooping Switch DHCP snooping is enabled DHCP snooping is configured on following VLANs: 10 Insertion of option 82 is disabled Option 82 on untrusted port is not allowed Verification of hwaddr field is enabled Interface Trusted Rate limit (pps) ———————– ——- —————- GigabitEthernet0/1 yes unlimited FastEthernet0/1 no 20 SW3#show ip dhcp snooping Switch DHCP snooping is enabled DHCP snooping is configured on following VLANs: 10 Insertion of option 82 is disabled circuit-id default format: vlan-mod-port remote-id: 0001.9641.6CBE (MAC) Option 82 on untrusted port is not allowed Verification of hwaddr field is enabled Verification of giaddr field is enabled DHCP snooping trust/rate is configured on the following Interfaces: nterface Trusted Allow option Rate limit (pps) ———————– ——- ———— —————- FastEthernet0/1 yes yes unlimited Cấu hình các Switch được thể hiện như bên dưới Switch 1 SW1#show run hostname SW1 ! ip dhcp snooping vlan 10 no ip dhcp snooping information option ip dhcp snooping ! interface FastEthernet0/1 switchport access vlan 10 ip dhcp snooping limit rate 20 switchport mode access ! [output omitted] ! interface GigabitEthernet0/1 ip dhcp snooping trust switchport mode trunk ! Switch 2 SW2#show run hostname SW2 ! ip dhcp snooping vlan 10 no ip dhcp snooping information option ip dhcp snooping ! spanning-tree mode pvst spanning-tree extend system-id ! interface FastEthernet0/1 switchport access vlan 10 ip dhcp snooping limit rate 20 switchport mode access ! [output omitted] ! interface GigabitEthernet0/1 ip dhcp snooping trust switchport mode trunk ! Switch 3 SW3# show run ! ip dhcp snooping vlan 10 no ip dhcp snooping information option ip dhcp snooping ! interface FastEthernet0/1 ip dhcp snooping trust switchport access vlan 10 switchport mode access interface GigabitEthernet0/1 switchport trunk encapsulation dot1q switchport mode trunk ! interface GigabitEthernet0/2 switchport trunk encapsulation dot1q switchport mode trunk Chúc các bạn thành công!