DAI – DYNAMIC ARP INSPECTION
I. Giao thức ARP
Giao thức ARP được sử dụng để phân giải địa chỉ động lớp network (địa chỉ IP) thành một địa chỉ lớp DataLink (Mac address) để phục vụ cho việc đóng gói một gói tin IP vào Frame Ethernet
Một host khi muốn biết địa chỉ Mac address của địa chỉ ip nào đó, thì nó sẽ gửi ra một gói tin broadcast ARP Request để truy vấn với IP này thì ứng với Mac address nào ?
Vì gói tin ARP request được phát broadcast nên tất cả các host sẽ nhận được gói ARP request này, tất cả các host kiểm tra xem có đúng địa chỉ IP của mình không,nếu không trùng thì bỏ qua, chỉ có thiết bị nào có địa chỉ IP trùng với địa chỉ ip có trong ARP request thì mới trả lời lại bằng gói tin ARP Reply(dạng Unicast). Rồi host này sẽ lưa vào bảng ARP cache của nó
Khi một host nhận được gói tin ARP Reply, nó hoàn toàn tin tưởng và mặc nhiên sử dụng thông tin đó để sử dụng sau này mà không cần biết thông tin đó có phải trả lời từ một host mà mình mong muốn hay không. Hacker sẽ dựa vào gói tin ARP reply này để tấn công. Hacker sẽ dựa vào đặc điểm này tấn công vào hệ thống Switch
II. Tính năng DAI - Dynamic ARP Inspection
Tính năng DAI sẽ ngăn chặn tấn công giả mạo ARP trên từng Vlan và sẽ dựa vào bảng DHCP Snooping Bingding của tính năng DHCP Snooping
Khi bật tính năng DAI trên Switch, thì Switch sẽ chia các cổng thuộc Vlan thành Trusted port và Untrusted port
Mọi gói tin ARP Reply do các host kết nối trên các untrusted port gửi vào Switch sẽ được kiểm tra. Nếu kết quả phân giải IP - MAC trên các gói tin này không khớp với thông tin IP-MAC tương ứng trong bảng DHCP Snooping binding thì các gói tin ARP Reply này sẽ bị loại bỏ không được chuyển tiếp -> chặn mọi tấn công ARP giả mạo từ end-user
Mặc định tất cả các cổng thuộc Vlan bật DAI sẽ để ở chế độ Untrusted. Nếu trong hệ thống mạng có các cổng kết nối các thiết bị tin cậy cao (server hay cổng Uplink) thì ta nên chuyển cổng về chế độ Trusted. Lúc này các gói tin không bị kiểm tra khi đi vào Switch
III. Bài lab về tính năng DAI
Sơ đồ:
Qui hoạch IP
Tên thiết bị |
Ip |
Chú thích |
SW1 |
Interface vlan 10: 192.168.10.254 |
Cổng quản lý |
R1 |
F0/0: 192.168.10.1 |
Default Gateway của Vlan 10 |
PCA |
NIC: Xin DHCP |
|
YÊU CẦU
THỰC HIỆN
Trên Sw1:
SW1(config)#vlan 10 SW1(config-vlan)#exit SW1(config)#interface range f0/1, f0/24 SW1(config-if-range)#switchport mode access SW1 (config-if-range)#switchport access vlan 10 SW1 (config-if-range)#exit SW1(config)#interface vlan 10 SW1(config-if)#ip address 192.168.10.254 255.255.255.0 SW1(config-if)#exit |
Trên R1:
R1(config)#interface f0/0 R1(config-if)#no shutdown R1(config-if)#ip address 192.168.10.1 255.255.255.0 R1(config-if)#exit |
Trên R1:
R1(config)#ip dhcp excluded-address 192.168.10.1 R1(config)#ip dhcp excluded-address 192.168.10.254 R1(config)#ip dhcp pool VLAN10 R1(dhcp-config)#network 192.168.10.0 /24 R1(dhcp-config)#default-router 192.168.10.1 R1(dhcp-config)#exit |
SW1(config)#ip dhcp snooping Bật DHCP trên SW1 SW1(config)#ip dhcp snooping vlan 10 Áp dụng cho Vlan 10 SW1(config)#interface f0/24 SW1(config-if)#ip dhcp snooping trust Bật trạng thái cổng là trust SW1(config-if)#exit SW1(config)#no ip dhcp snooping information option Không chèn option82 vào gói tin |
Kiểm tra bảng DHCP Snooping binding
SW1#show ip dhcp snooping binding MacAddress IpAddress Lease(sec) Type VLAN Interface ------------------ --------------- ---------- ------------- ---- -------------------- B0:5A:DA:ED:DF:8F 192.168.10.2 86377 dhcp-snooping 10 FastEthernet0/1 Total number of bindings: 1 |
Thực hiện bật tính năng DAI cho VLAN 10 trên SW1:
SW1(config)#ip arp inspection vlan 10 |
Do cổng F0/24 kết nối đến R1 là một cổng tin cậy nên ta sẽ chuyển cổng về trạng thái Trusted. Các gói tin ARP đến từ các cổng trusted sẽ không bị kiểm tra khi đi vào Switch
SW1(config)#interface f0/24 |
Kiểm tra bảng DHCP Snooping Binding
SW1#show ip dhcp snooping binding MacAddress IpAddress Lease(sec) Type VLAN Interface ------------------ --------------- ---------- ------------- ---- -------------------- B0:5A:DA:ED:DF:8F 192.168.10.2 86335 dhcp-snooping 10 FastEthernet0/1 Total number of bindings: 1 |
Trong bảng thì với IP 192.168.10.2 đã được ánh xạ với địa chỉ MAC B0:5A:DA:ED:DF:8F trên cổng F0/1. Khi ta bật tính năng DAI thì ứng với cổng F0/1 phải trùng khớp với IP-MAC như trên, nếu không trùng khớp thì gói tin ARP Reply sẽ bị SW01 drop bỏ
Ta sẽ khảo sát cách hoạt động của Switch khi kết quả phân giải ARP trùng khớp hoặc không trùng khớp với bảng DHCP Snooping Binding
TH1: Phân giải ARP trùng khớp với bảng Dhcp Snooping Binding
Bước 1: Xóa ARP cache hiện tại trên R1 bằng cách shutdown rồi no shutdown cổng F0/0 của R1:
R1 (config)#interface f0/0 R1 (config-if)#no shutdown |
Bước 2: Trên R1 thực hiện ping địa chỉ 192.168.10.2 của PC để phân giải ARP
R1 #ping 192.168.10.2 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.10.2, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/4 ms |
Lúc này ta Ping thành công
Bước 3: Kiểm tra thông tin bảng ARP trên R1
R1 #show arp Protocol Address Age (min) Hardware Addr Type Interface Internet 192.168.10.1 - 001f.ca0f.61d8 ARPA FastEthernet0/0 Internet 192.168.10.2 0 b05a.daed.df8f ARPA FastEthernet0/0 Internet 192.168.10.254 8 0023.3305.5b41 ARPA FastEthernet0/0 |
Do ARP cache đã bị xóa nên R1 phải thực hiện lại thao tác gửi đi ARP request để tìm ra địa chỉ MAC tương ứng với địa chỉ IP 192.168.10.2 của PCA. Vì ARP Reply trả về từ PCA có IP và MAC đúng với thông tin đã lưu trên bảng DHCP snooping binding nên thông tin này được cập nhật vào bảng ARP của R1. Phân giải ARP đã được thực hiện thành công nên ping thành công.
TH2: Phân giải ARP không trùng khớp với bảng Dhcp Snooping Binding
Bước 1: Thực hiện lại việc xóa ARP cache trên R1:
R1 (config)#interface f0/0 R1 (config-if)#no shutdown |
Bước 2: Đổi lại địa chỉ MAC trên cổng Ethernet của PC để giả lập hoạt động phân giải sai địa chỉ MAC cho IP 192.168.10.2:
Bước 3 : Kiểm tra
R1 #ping 192.168.10.2
Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.10.2, timeout is 2 seconds: ..... Success rate is 0 percent (0/5) |
Kết quả Ping không thành công do địa chỉ MAC tương ứng với ip 192.168.10.2 không trùng khớp với thông tin trong bảng Dhcp Snooping Binding
Bước 3: kiểm tra bảng DHCP Snooping Binding
R1 #show arp Protocol Address Age (min) Hardware Addr Type Interface Internet 192.168.10.1 - 001f.ca0f.61d8 ARPA FastEthernet0/0 Internet 192.168.10.2 0 Incomplete ARPA
|
Lúc này SW1 đã chặn lại các gói ARP Reply đến từ PCA vì thông tin phân giải không đúng với nội dung đã lưu trong bảng DHCP snooping binding của SW1, địa chỉ 192.168.10.2 đáng lẽ phải được phân giải thành MAC b05a.daed.df8f thì lại được phân
The end!!!