Một switch có thể dùng tính năng kiểm tra ARP động (Dynamic ARP Inspection) để ngăn ngừa vài kiểu tấn công sử dụng các thông điệp ARP IP. Để đánh giá các kiểu tấn công này hoạt động như thế nào, bạn cần phải nhớ vài chi tiết về nội dung của các thông điệp ARP. Hình 21.4 mô tả một ví dụ đơn giản với cách dùng phù hợp của thông điệp ARP, trong đó PC A tìm địa chỉ MAC của PC B.
Hình 21.4: Mô hình sử dụng DAI
Theo hình 21.4, đầu tiên PC-A gửi ra thông điệp yêu cầu ARP theo kiểu broadcast để tìm kiếm địa chỉ MAC của IP B (tức là tìm kiếm địa chỉ MAC đích). Sau đó, PC B gửi ra thông điệp ARP trở lời theo kiểu Unicast.
Cũng theo hình 21.4, các thông điệp ARP không bao gồm một phần đầu của IP. Tuy nhiên, nó bao gồm 4 trường quan trọng dùng để chứa các thông tin: địa chỉ MAC và địa chỉ IP nguồn của máy gửi, địa chỉ MAC và địa chỉ IP của máy đích.
Đối với một gói tin (thông điệp) dạng yêu cầu ARP, địa chỉ đích IP là địa chỉ IP mà nó cần tìm ra MAC, địa chỉ MAC đích sẽ được để trống, vì đây là thông tin còn thiếu. Ngược lại, thông điệp trả lời ARP (là một dạng unicast LAN) dùng địa chỉ MAC nguồn là địa chỉ máy trả lời. Địa chỉ IP nguồn của thông điệp trả lời ARP là địa chỉ IP của chính máy trả lời.
Một kẻ tấn công có thể hình thành nên kiểu tấn công đứng giữa nhận thông tin (man in the middle) trong môi trường LAN bằng cách dùng ARP ko có nguồn gốc (gratuitous ARP). Một sự không có nguồn gốc xảy ra khi một máy gửi một thông điệp trả lời ARP mà không thấy một yêu cầu ARP và gửi về địa chỉ đích Ethernet broadcast. Các thông điệp trả lời ARP trong hình 21.4 mô tả trả lời ARP như là dạng unicast, nghĩa là chỉ có những máy gửi ra yêu cầu sẽ học được các phần tử ARP. Bằng cách broadcast ra các thông điệp ARP không có nguồn gốc, tất cả các máy trên LAN sẽ học được các phần tử ARP.
Khi ARP không có nguồn gốc có thể được dùng để có hiệu quả tốt, nó cũng có thể được dùng bởi một kẻ tấn công. Kẻ tấn công có thể gửi ra một ARP không có nguồn gốc, thông báo địa chỉ của một máy hợp lệ. Tất cả các máy trong mạng (bao gồm router và switch) cập nhật bảng ARP của nó, chỉ đến địa chỉ MAC của máy tấn cống vào sau đó gửi các khung tin đến máy tấn công thay vì địa chỉ máy thật. Hình 21.5 mô tả tiến trình này.
Hình 21.5: Mô tả tiến trình tấn công của kẻ tấn công
Các bước mô tả trên hình 21.5 có thể giải thích như sau:
Kết quả tấn công nằm ở máy khác, giống như PC A, gửi khung tin dự kiến đến IP-B nhưng lại về địa chỉ MAC của MAC-C, là địa chỉ MAC của máy tấn công. Kẻ tấn công sau đó đơn giản gửi ra một bản sao của từng khung tin về PC B, trờ thành kiểu tấn công người đứng giữa thu nhận thông tin.
Kết quả là, người dùng có thể tiếp tục làm việc và kẻ tấn công có thể nhận được rất nhiều dữ liệu. Switch dùng DAI để ngăn ngừa kiểu tấn công ARP bằng cách kiểm tra các thông điệp ARP và sau đó lọc bỏ các thông điệp không phù hợp.
DAI xem xét từng cổng của switch là không tin cậy (mặc định) hay tin cậy, thực hiện các thông điệp DAI chỉ trên những cổng không tin cậy. DAI kiểm tra từng thông điệp yêu cầu ARP hay trả lời trên những cổng không tin cậy để quyết định xem thông điệp có phù hợp hay không. Nếu không phù hợp, switch sẽ lọc các thông điệp ARP này. DAI sẽ xác định một thông điệp ARP có hợp lệ hay không bằng cách dùng thuật toán sau:
DAI kiểm tra các địa chỉ IP không mong đợi được liệt kê trong thông điệp ARP chẳng hạn như 0.0.0.0, 255.255.255.255, multicast…
Bảng 21.4 liệt kê các lệnh chủ chốt của dòng Cat3550 được dùng để cấu hình DAI. DAI phải được bật ở chế độ toàn cục trước. Ở thời điểm này, tất cả các cổng được DAI xem như là không tin cậy. Một vài cổng, đặc biệt là những cổng kết nối vào những vùng an toàn (là những cổng kết nối vào máy chủ hoặc vào switch khác) cần phải được cấu hình tường minh như là cổng tin cậy. Sau đó, ta cần phải thêm vào các cấu hình khác để bật các tính năng khác nhau.
Ví dụ, giám sát DHCP (DHCP snooping) cần phải được bật trước khi DAI có thể dùng cơ sở dữ liệu giám sát DHCP (DHCP snooping) để thực hiện thuật toán ở bước 1 trong danh sách trên. Bạn cũng có thể cấu hình địa chỉ IP tĩnh hay thực hiện một vài phép kiểm tra tính hợp lệ bằng cách dùng câu lệnh ip arp inspection.
Lệnh |
Mục đích |
Ip arp inspection VLAN VLAN-range |
Đây là lệnh toàn cục để bật tính năng DAI trên switch cho các VLAN cụ thể |
[no] ip arp inspection trust |
Lệnh ở chế độ interface cho phép hoặc tắt DAI trên một cổng. Mặc định là bật khi lệnh ip arp inspection đã được cấu hình |
Ip arp inspection filter arp-acl-name VLAN VLAN-range [static] |
Lệnh toàn cục để tham chiếu đến một ARP ACL trong đó định nghĩa IP/MAC cần phảI kiểm tra bởI DAI cho VLAN đó |
Ip arp inspection validate {[src-mac][dst-mac][ip]} |
Bật các tùy chọn để kiểm tra các thông điệp ARP |
Ip arp inspection limit {rate pps[burst interval seconds]|none} |
GiớI hạn các thông điệp ARP để ngăn ngừa kiểu tấn công DoS được thực hiện bởI một số lượng lớn các ARPs. |
Bảng 21.4: Các lệnh cấu hình DAI trên Cat3550
Bởi vì DAI làm cho các switch thực hiện nhiều việc, một máy tấn công có thể cố gắng tấn công DoS trên một switch bằng cách gửi ra một số lượng lớn các thông điệp ARP. DAI tự động áp đặt một giới hạn bằng 15 thông điệp ARP trên từng cổng trong mỗi giây để giảm rủi ro đó. Giới hạn này có thể thay đổi bằng lệnh ip arp inspection limit trong chế độ cổng.