ارتباط بین سیستمهای متصل به یک سوئیچ و یا یک LAN نیازمند انجام ترجمه بین آدرس IP و آدرس MAC سیستمها است. در این بین ممکن است یک Attacker برای انجام حملاتی مثل Man In the Middle درباره تناظر بین آدرس IP و آدرس MAC خود دروغ بگوید! به عنوان مثال در شکل زیر:
کامپیوتر B به دروغ آدرس MAC خود را به عنوان آدرس MAC متناظر با آدرس 192.168.1.1 که متعلق روتر هست به کامپیوتر A معرفی میکند. این کار باعث میشود کامپیوتر A به جای ارسال اطلاعات به سمت روتر آنها را به سمت کامپیوتر B ارسال کند.
همچنین کامپیوتر B به دروغ آدرس MAC خود را به عنوان آدرس MAC متناظر با آدرس 192.168.1.5 که متعلق کامپیوتر A هست به روتر معرفی میکند. این کار باعث میشود روتر به جای ارسال اطلاعات به سمت کامپیوتر A آنها را به سمت کامپیوتر B ارسال کند.
عملا با انجام این کار کامپیوتر B همه اطلاعاتی که بین کامپیوتر A و روتر رد و بدل میشود را رصد میکند.
برای جلوگیری از حملاتی مانند این سوئیچهای سیسکو دارای امکانی با نام Dynamic ARP Inspection هستند. با فعال کردن این ویژگی سوئیچ پیامهای ARP ارسالی روی پورتهای سوئیچ را چک میکند. در صورتی که سیستمی درباره تناظر بین آدرس IP و آدرس MAC خود دروغ بگوید آن بسته را قبول نمیکند. .سوالی که مطرح میشود این است که سوئیچ تناظر درست بین آدرس IP و آدرس MAC سیستمها را از کجا میداند؟
سوئیچ برای این تناظر از دو منبع زیر میتواند استفاده کند:
1- اطلاعات به دست آمده از طریق DHCP Snooping (در صورت پیکربندی DHCP Snooping در سوئیچ)
2- وارد کردن دستی تناظر بین آدرس IP و آدرس MAC که کار خیلی زمانبر و سختی است.
در صورتی که در شبکه همه سیستمهای آدرسهای خود را از طریق DHCP دریافت کنند و DHCP Snooping نیز در سوئیچ پیکربندی شده باشد، اطلاعات فراهم شده توسط DHCP Snooping برای عملکرد درست Dynamic ARP Inspection کفایت میکند. اما معمولا در شبکه سیستمهایی وجود دارند که آدرس خود را از طریق DHCP دریافت نمیکنند. برای معرفی این سیستمها در سوئیچ دو راه وجود دارد:
روش اول اضافه کردن تناظر بین آدرس IP و آدرس MAC این سیستمها به صورت دستی است.
روش دوم تعریف کردن پورت متصل به این سیستمها به عنوان Trusted port است.
قبل از پیکربندی ARP Inspection بررسی میکنیم که DHCP Snooping بر روی سوئیچ پیکربندی شده باشد و تناظر بین آدرسهای IP و آدرسهای MAC را برای سیستمهایی که از DHCP آدرس گرفتهاند بداند.
برای پیکربندی ARP Inspection بهتر است ابتدا پورتهای متصل به وسایلی که آدرس خود را از DHCP به دست نمیآورند را مشخص و به عنوان Trusted port تعریف کنیم. در شکل بالا اگر روتر آدرس خود را از طریق DHCP به دست نیاورد و پورت Gig 1/0/1 سوئیچ متصل به روتر باشد، برای trusted تعریف کردن پورت Gig 1/0/1 سوئیچ به صورت زیر عمل میکنیم.
SWITCH-FLOOR1#show ip dhcp snooping binding
MacAddress IpAddress Lease(sec) Type VLAN Interface
------------------ --------------- ---------- ------------- ---- --------------------
C0:74:AD:04:77:14 192.168.13.45 25276 dhcp-snooping 13 GigabitEthernet1/0/12
C0:74:AD:04:76:EE 192.168.13.33 25072 dhcp-snooping 13 GigabitEthernet1/0/9
C0:74:AD:04:75:3A 192.168.13.21 32334 dhcp-snooping 13 GigabitEthernet1/0/4
C0:74:AD:04:76:E5 192.168.13.34 30014 dhcp-snooping 13 GigabitEthernet1/0/8
C0:74:AD:04:77:28 192.168.13.36 19277 dhcp-snooping 13 GigabitEthernet1/0/10
C0:74:AD:05:76:BE 192.168.13.37 23079 dhcp-snooping 13 GigabitEthernet1/0/11
C0:74:AD:04:77:1A 192.168.13.31 29370 dhcp-snooping 13 GigabitEthernet1/0/5
C0:74:AD:04:77:1B 192.168.13.44 19444 dhcp-snooping 13 GigabitEthernet1/0/6
C0:74:AD:04:77:1E 192.168.13.35 34949 dhcp-snooping 13 GigabitEthernet1/0/7
00:17:6F:14:0E:CA 192.168.12.187 13799 dhcp-snooping 12 GigabitEthernet1/0/29
BC:5F:F4:93:19:31 192.168.12.218 6726 dhcp-snooping 12 GigabitEthernet1/0/10
C0:74:AD:04:77:1D 192.168.13.22 25169 dhcp-snooping 13 GigabitEthernet1/0/13
Total number of bindings: 12
SWITCH-FLOOR1(config)#interface gigabitEthernet 1/0/1
SWITCH-FLOOR1(config-if)#ip arp inspection trust
سپس توسط فرمان زیر ARP Inspection را برای VLANهای شماره 12 و 13 فعال میکنیم.
SWITCH-FLOOR1(config)#ip arp inspection vlan 12,13
در صورتی که سوئیچ روی پورتی به غیر از پورتهای trusted بسته ARP دریافت کند و تناظر ادعا شده در این بسته در سوئیچ موجود نباشد (اطلاعات فراهم شده توسط DHCP Snooping)، سوئیچ بسته ARP را drop میکند و پیامی به صورت زیر ایجاد میکند.
برای بررسی درستی تنظیمات انجام شده از دو فرمان زیر میتوان استفاده کرد.
SWITCH-FLOOR1#sh ip arp inspection
Source Mac Validation : Disabled
Destination Mac Validation : Disabled
IP Address Validation : Disabled
Vlan Configuration Operation ACL Match Static ACL
---- ------------- --------- --------- ----------
12 Enabled Active
13 Enabled Active
Vlan ACL Logging DHCP Logging Probe Logging
---- ----------- ------------ -------------
12 Deny Deny Off
13 Deny Deny Off
Vlan Forwarded Dropped DHCP Drops ACL Drops
---- --------- ------- ---------- ---------
12 49 64 64 0
13 64 0 0 0
Vlan DHCP Permits ACL Permits Probe Permits Source MAC Failures
---- ------------ ----------- ------------- -------------------
12 1 0 0 0
13 13 0 0 0
Vlan Dest MAC Failures IP Validation Failures Invalid Protocol Data
---- ----------------- ---------------------- ---------------------
12 0 0 0
13 0 0 0
SWITCH-FLOOR1#sh ip arp inspection statistics
Vlan Forwarded Dropped DHCP Drops ACL Drops
---- --------- ------- ---------- ---------
12 75 107 107 0
13 93 0 0 0
Vlan DHCP Permits ACL Permits Probe Permits Source MAC Failures
---- ------------ ----------- ------------- -------------------
12 1 0 0 0
13 18 0 0 0
Vlan Dest MAC Failures IP Validation Failures Invalid Protocol Data
---- ----------------- ---------------------- ---------------------
12 0 0 0
13 0 0 0