Tính năng ngăn chặn giả mạo máy chủ DHCP ( DHCP Snooping)
Máy chủ DHCP được dùng để cấp địa chỉ IP, gateway, DNS server, … giúp máy tính có đầy đủ thông tin để truy cập vào mạng. Điều gì sẽ sảy ra nếu một kẻ tấn công tạo một máy chủ DHCP giả mạo trong cùng một mạng con (subnet) với người dùng, như vậy người dùng sẽ nhận thông tin như địa chỉ IP, gateway, … giả mạo từ máy chủ giả mạo DHCP của kẻ tấn công này.
Cisco Catalyst Switch hỗ trợ tính năng DHCP Snooping nhằm ngăn chặn tình huống nêu trên, khi DHCP Snooping được bật lên, các cổng của Switch được chia thành một trong hai chế độ: tin tưởng (trusted) và không tin tưởng (untrusted) trong đó chế độ không tin tưởng được bật mặc định. Trong đó máy chủ DHCP hợp lệ sẽ nằm ở cổng tin tưởng và máy tính người dùng sẽ nằm ở cổng không tin tưởng.
Khi người dùng gởi ra thông điệp yêu cầu DHCP để xin địa chỉ IP, lúc đó chỉ có thông điệp trả lời DHCP từ máy chủ DHCP hợp lệ nằm ở cổng tin tưởng là được phép đi qua, còn các thông điệp trả lời DHCP từ các cổng khác đều bị chặn lại.
Tính năng bảo vệ địa chỉ IP nguồn (IP Source Guard)
Bình thường, khi một máy tính được cấp địa chỉ IP, theo quy tắc mọi gói tin bắt đầu từ máy tính này đều có địa chỉ IP nguồn (source IP) phải là địa chỉ IP đã được cấp. Nhưng nếu máy tính này cố tình can thiệp để phá hoại quy tắc này, tức là khi gởi gói tin ra lại dùng một địa chỉ IP khác nhằm mục đích tất công từ chối dịch vụ chẳng hạn? Cisco Catalyst Switch hỗ trợ tính năng IP Source Guard nhằm ngăn chặn tình huống này. IP Source Guard dùng cơ sở dữ liệu của DHCP Snooping để kiểm tra địa chỉ IP nguồn (có thể kiểm tra địa chỉ MAC nguồn) của gói tin nhận được từ một cổng có hợp lệ hay không, hợp lệ ở đây nghĩa là địa chỉ IP nguồn đó phải là địa chỉ IP mà máy tính đã xin qua máy chủ DHCP, nếu là địa chỉ IP khác tức là không phải IP xin từ máy chủ DHCP gói tin sẽ bị đánh rớt.
Ví dụ: trong mô hình sau:
Máy tính có địa chỉ IP 10.10.50.50/16 gọi là A xin địa chỉ IP qua DHCP server. Như vậy gói tin bắt nguồn từ A phải có địa chỉ IP nguồn là: 10.10.50.50/16, nếu A cố tình giả mạo một địa chỉ IP khác ví dụ: 10.10.10.10, lúc đó những gói tin bắt nguồn từ A có địa chỉ IP nguồn 10.10.10.10 đến Switch sẽ bị đánh rớt.
Tính năng kiểm tra tính hợp lệ của gói tin ARP động (Dynamic ARP Inspection)
giao thức ARP (Address Resolution Protocol) – giao thức phân giải từ địa chỉ IP sang MAC, được máy tính dùng để tìm địa chỉ MAC khi đã biết địa chỉ IP.
Trong mô hình trên, A muốn tìm địa chỉ MAC của C sẽ làm như sau:
A gởi gói tin ARP request để tìm địa chỉ MAC của C có IP 10.1.1.1
C trả lời lại với gói tin ARP reply với địa chỉ MAC tương ứng là C.C.C.C
Và như vây A biết được rằng địa chỉ MAC của C là C.C.C.C
Tuy nhiên nếu B là kẻ tấn công thì quá trình sẽ như sau:
A gởi ARP request tìm địa chỉ MAC của C có IP 10.1.1.1
C trả lời ARP reply với địa chỉ MAC tương ứng là C.C.C.C
B liên tục gởi ARP reply đến A với nội dung: IP 10.1.1.1 có địa chỉ MAC là B.B.B.B
A tin địa chỉ IP 10.1.1.1 (địa chỉ IP của C) có MAC là B.B.B.B (địa chỉ MAC của B)
Như vậy gói tin gởi từ A đến C sẽ được đóng gói ở lớp 2 với địa chỉ MAC đích (destination MAC) là B.B.B.B lúc này B sẽ nhận được, ăn cắp thông tin và tiếp tục gởi đến cho C
Chiều gói tin đi từ C đến A cũng tương tự như vậy, đi qua B
A và C không hề hay biết là B đang nghe lén nội dung nói chuyện giữa A và C
Cisco Catalyst Switch cung cấp tính năng Dynamic ARP Inspection (DAI) để ngăn chặn trường hợp này. Cũng giống với tính năng DHCP Snooping, DAI khi được cấu hình sẽ phân chia thành 2 loại cổng: không tin tưởng (untrusted) và tin tưởng (trusted). Nếu là cổng tin tưởng DAI không kiểm tra gói tin ARP reply đi vào cổng này, nếu là cổng không tin tưởng DAI sẽ dùng cơ sở dữ liệu của DHCP Snooping kiểm tra gói tin ARP reply nhận được từ cổng này có hợp lệ không, hợp lệ ở đây nghĩa là địa chỉ IP và MAC trong gói tin ARP reply phải trùng với địa chỉ IP và MAC có trong cơ sở dữ liệu của DHCP Snooping. Nếu trùng, gói tin ARP reply được phép đi qua, ngược lại gói tin ARP reply sẽ bị đánh rớt khi đi vào cổng này.
Trong ví dụ trên nếu có cấu hình DAI trên Switch, gói tin ARP reply từ B
10.1.1.1 -> B.B.B.B
10.1.1.2 -> B.B.B.B
Sẽ bị đánh rớt vì địa chỉ IP của B là 10.1.1.3 và MAC của B là B.B.B.B