- Kiểm tra ARP động
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:
- Máy tấn công phát tán các ARP không có nguồn gốc chứa IP-B nhưng với MAC-C là địa chỉ nguồn IP và MAC nguồn.
- PC A cập nhật bảng ARP liệt kê địa chỉ IP-B kết hợp với MAC-C.
- PC A gửi một khung tin đến IP-B nhưng với địa chỉ MAC-C.
- SW1 truyền khung tin đến MAC-C, là địa chỉ của máy tấn công.
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:
- Bước 1: Nếu một thông điệp trả lời ARP liệt kê một địa chỉ nguồn IP mà không phải do DHCP cấp đến một thiết bị trên cổng đó, DAI sẽ lọc gói tin trả lời ARP.
- Bước 2: DAI dùng thêm các thuật toán tương tự bước 1 nhưng dùng một danh sách của các địa chỉ IP/MAC được cấu hình tĩnh.
- Bước 3: Đối với một thông điệp trả lời ARP, DAI so sánh địa chỉ nguồn MAC trong phần đầu của Ethernet với địa chỉ nguồn MAC trong thông điệp ARP. Các giá trị MAC này phải giống nhau trong thông điệp ARP bình thường. NẾu các giá trị này không giống nhau, DAI sẽ lọc gói tin.
- Bước 4: Giống như bước 3, nhưng DAI sẽ so sánh địa chỉ MAC đích và địa chỉ MAC liệt kê trong thông thông điệp ARP.
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ở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.