یک فریم از منابع ! CCIE L2 security

در این مقاله سعی دارم به بررسی سناریوهای INE که بصورت lab ارائه می شود بپردازم و بررسی بیشتری روی اون ها انجام بدم و در مورد بعضی از نکات امنیتی در برقراری امنیت در لایه 2 و همچنین چند مثال روی سوییچ های کاتالیست جهت یاداوری بحث کنیم. هدف از بحث نحوه کانفیگ و کامندهای مورد استفاده نیست بلکه به بررسی مفهوم این چند مورد خواهم پرداخت.یکی از سناریو هایی که برای یکی از مدیران شبکه پیش اومده بود این بود که در اون سازمان علاوه بر سرور DHCP اصلی ، یک کاربر یک DHCP در اون سازمان راه اندازی کرده بود و چیزی در حدود 100 کلاینت تمامی مسیریابی ها و ترافیک آنها از طریق سیستم اون کاربر صورت می گرفت ، اگر چه امروزه راههای زیادی برای جلوگیری از مطرح شدن حتی این گونه سناریوهای مخرب وجود دارد اما کمتر ادمین شبکه ای به این گونه تهدیدات امنیتی توجه ای می کند و سعی به پیاده سازی آنها دارد.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

برای مثال میتوان در این سناریوی مطرح شده می توان راهکار DHCP snooping را معمول ترین روش برای جلوگیری از این گونه تهدیدات عنوان کرد که مکانیزم کاری ان بدین صورت می باشد که جز پورتی که به سرور DHCP اصلی متصل است ، بقیه پورت ها را درحالت Untrust قرار می دهد. حال مشخص است که تمامی پیغام های مربوط به DHCP که روی پورت های untrust باشد را دراپ می کند و از انتشار آنها جلوگیری می کند و این عمل دراپ کردن پکت با ارسال یک لاگ به سمت سرور syslog هم می تواند همراه باشد.نکته ای که در اینجا باید رعایت شود این است که پورتی که به درخواست های DHCP پاسخ می دهد باید در حالت trust قرار گیرد.

در سناریوی ما sw1 ، R1 ، R2 و R3 به ترتیب به پورت های Fa0//1 ، Fa0//2 و Fa0//3 سوییچ متصل شده اند و همین طور R1 یک سرور اصلی DHCP می باشد که همان طور که گفته شد از طریق پورت Fa0//1 به سوییج متصل شده است.می توان گفت که یکی از مهمترین مزیت استفاده از DHCP snooping ، مکانیزم جلوگیری از پاسخگویی این گونه سرورها با اهداف مخرب هستند. البته استفاده از این مکانیز مزیت های دیگری نیز دارد و در مکانیزم های دیگری هم مورد استفاده قرار می گیرد که در ادامه نیز بحث خواهد شد.مکانیزم اصلی این است که در سوییچ جداولی تحت عنوان Binding Table ایجاد می شود که محتوایات این جداول شامل مک ادرس کلاینت ، آدرس ای پی کاربر و زمان اختصاص ادرس ای پی، شماره vlan و پورت متصل به سوییچ می باشد.

حال با فعال کردن این مکانیزم امنیتی میتوان مکانیزهای دیگری از قبیل Ip Source Guard نیز استفاده نمود که Source Guard از دیتابیس snooping برای جلوگیری از تغییر آدرس های ای پی توسط کاربران مورد استفاده قرار میگیرید (به عنوان راهکاری برای جلوگیری از حملاتی مثل ip spoofing ) و مکانیزم کاری آن بدین صورت است که اگر آدرس ای پی مبدا با دیتابیس سوییچ یکسان نباشد آن بسته توسط سوییچ دراپ می شود. (وقتی که یک پالیسی مربوط به این مکانیزم به یک اینترفیس لایه دویی اعمال میشه این مکانیزم در نهایت ویژگی خود قرار دارد)

اما نکته ای که در اینجا میتونیم بهش اشاره کنیم اینه که در ورژن های IOS 12.2(33)SXI2 به بعد می توان مکانیزم Ip source Guard را با اعتبارسنجی وسیله وب هم روی یک اینترفیس فعال و کانفیگ کرد. این مکانیزم محدودیت هایی مثل پشتیبانی نکردن از Private Vlan ، فیلترینگ ترافیک بر اساس مک ادرس و... را نیز داراست.اما همه ی ما در مورد حملات لایه 2 به خصوص حمله ی مردی در میانه (MITM) شنیده ایم که در آن هکر با آلوده کردن arp های هاست های شبکه خود را به عنوان گیت وی شبکه معرفی کرده و اهداف مخرب خود را انجام می دهد. اما با استفاده از همان جداولی که بصورت اتوماتیک (که می تواند بصورت دستی هم ایجاد شود) در مرحله قبلی ایجاد شد، این کار را صورت می دهد.میتوان جلوی این گونه حملات (که باز سناریوهای متعددی را نیز در پی دارد ) را با مکانیزم بازرسی بسته های arp یا همان dynamic Arp Inspection انجام داد که بوسیله این مکانیزم بسته های arp با دیتابیس سوییچ چک و بازبینی شده و اگر خلافه سیاست های تعیین شده باشد سوییچ شروع به drop کردن بسته ها می کند. برای اطلاعات بیشتر در مورد پکت های Gratuitous ریسرچ کنید.

اگر بخواهیم Arp inspection را خیلی خلاصه وار تعریفی برای اون ارائه بدم میشه گفت که دقیقا مکانیزم آن بدین صورت است که پکت های Arp رو inspect می کند و اگر mapping مربوط به ip به mac غیرواقعی باشد اون پکت را دراپ می کند و فقط اینترفیس هایی که trust شده باشند ، پکت های arp replay روی آنها چک نمی شود.اگر بخواهیم تا اینجای مقاله را به صورت اختصار مرور کنیم ، با فعال کردن مکانیزم dhcp snooping باعث ایجاد جداولی تحت عنوان binding table در سوییچ می شود که از این جداول در مکانیزهایی مثل Source Guard که برای جلوگیری از جعل ادرس های ip و همچنین تغییر ادرس ip کاربران استفاده می شود و همچنین از این جداول توسط مکانیزم arp inspection که برای جلوگیری از انتشار بسته های arp جعلی در شبکه مورد استفاده قرار می گیرد.

فایل کانفیگ مربوط به R1


!  Excluded static addresses used by R1 and SW1
ip dhcp excluded-address 123.0.0.1
ip dhcp excluded-address 123.0.0.7
ip dhcp pool MYPOOL
 network 123.0.0.0 255.255.255.0
 domain-name INE.com
!
interface Loopback0
 ip address 1.1.1.1 255.255.255.0
!
interface FastEthernet0/0
! We used mac addresses that would be easily identifiable
  mac-address 0011.1111.1111
! The command below allows the DHCP option inbound to server
  ip dhcp relay information trusted
  ip address 123.0.0.1 255.255.255.0
!
router ospf 1
  network 0.0.0.0 255.255.255.255 area 0
!
!  Configured R1 as an NTP server so SW1 could have synced time
ntp master 1

کانفیگ مربوط به R2


interface Loopback0
  ip address 2.2.2.2 255.255.255.0
!
interface FastEthernet0/0
  mac-address 0022.2222.2222
  ip address dhcp
!
router ospf 1
  network 0.0.0.0 255.255.255.255 area 0

کانفیگ مربوط به R3


interface Loopback0
  ip address 3.3.3.3 255.255.255.0
!
interface FastEthernet0/0
  mac-address 0033.3333.3333
  ip address dhcp
!
router ospf 1
  network 0.0.0.0 255.255.255.255 area 0

کانفیگ مربوط به sw1


ip dhcp snooping vlan 123
! In a production network, you would want to be careful to not exceed
! the space available in flash for storage.
ip dhcp snooping database flash:/jan7snoop.txt
ip dhcp snooping
!
ip arp inspection vlan 123
! The validate includes ARP validation for IP and source/destination MAC addresses
ip arp inspection validate ip src-mac dst-mac
!
!
interface FastEthernet0/1
  Description Connection to R1, the real DHCP server
  switchport access vlan 123
  switchport mode access
! Because the DHCP server has a static address, there will never be
! a dynamic entry in the snooping table for R1.  We could create
! and ARP access list, and use it for to compliment the dynamic table.
  ip arp inspection trust
! Because R1 is a DHCP server, we have to “DHCP trust” this interface.
  ip dhcp snooping trust
!
interface FastEthernet0/2
  Description Connection to R2, a DHCP client
  switchport access vlan 123
  switchport mode access
! This next command is the Source Guard, that prevents IP Spoofing
  ip verify source
!
interface FastEthernet0/3
  Description Connection to R3, a DHCP client
  switchport access vlan 123
  switchport mode access
! This next command is the Source Guard, that prevents IP Spoofing
  ip verify source

interface Vlan123
  ip address 123.0.0.7 255.255.255.0
!
! When writing the DHCP snooping table to flash, the switch complains
! if it is not synchronized to an NTP server.
ntp server 123.0.0.1

خب همان طور که در نتایج دستورات زیر میبینید مشاهده می کنید که دو دستگاهی که نشان داده شده است به درستی ادرس Ip را بصورت خودکار دریافت کرده اند.

r1# show ip dhcp binding
Bindings from all pools not associated with VRF:
IP address          Client-ID/              Lease expiration        Type
Hardware address/
User name
123.0.0.6           0063.6973.636f.2d30.    Jan 08 2010 08:11 AM    Automatic
3032.322e.3232.3232.
2e32.3232.322d.4661.
302f.30
123.0.0.8           0063.6973.636f.2d30.    Jan 08 2010 08:11 AM    Automatic
3033.332e.3333.3333.
2e33.3333.332d.4661.
302f.30

خب حالا بیایم کمی بیشتر به کانفیگ سوییج مورد نظر بپردازیم و آن را مورد بررسی قرار بدهیم. همان طور که در کانفیگ زیر مشاهده می کنید ، این همان جداولی است که تحت عنوان binding tables بصورت خودکار (یا دستی توسط ادمین شبکه) ایجاد می گردد.

sw1# show ip dhcp snooping binding
MacAddress          IpAddress        Lease(sec)  Type           VLAN  Interface
------------------  ---------------  ----------  -------------  ----  --------------------
00:22:22:22:22:22   123.0.0.6        86053       dhcp-snooping   123   FastEthernet0/2
00:33:33:33:33:33   123.0.0.8        86062       dhcp-snooping   123   FastEthernet0/3
Total number of bindings: 2

خب در ادامه کمی به کانفیگ source guard بپردازیم. همون طور که قبلا هم گفته شد ، این مکانیزم از جداول ایجاد شده توسط dhcp snooping استفاده می کند.

sw1# show ip source binding
MacAddress          IpAddress        Lease(sec)  Type           VLAN  Interface
------------------  ---------------  ----------  -------------  ----  --------------------
00:22:22:22:22:22   123.0.0.6        86020       dhcp-snooping   123   FastEthernet0/2
00:33:33:33:33:33   123.0.0.8        86029       dhcp-snooping   123   FastEthernet0/3
Total number of bindings: 2

sw1# show ip verify source
Interface  ******-type  ******-mode  IP-address       Mac-address        Vlan
---------  -----------  -----------  ---------------  -----------------  ----
Fa0/2      ip           active       123.0.0.6                           123
Fa0/3      ip           active       123.0.0.8                           123

در مرحله بعد به قسمت مربوط dynamic arp inspection می پردازیم که در سناریوی ما تنها اینترفیس fa0/1 بصورت Trust تعریف شده است.

sw1# show ip arp inspection interfaces

Interface        Trust State     Rate (pps)    Burst Interval
---------------  -----------     ----------    --------------
Fa0/1            Trusted               None               N/A
Fa0/2            Untrusted               15                 1
Fa0/3            Untrusted               15                 1
Fa0/4            Untrusted               15                 1
Fa0/5            Untrusted               15                 1

sw1# show ip arp inspection vlan 123

Source Mac Validation      : Enabled
Destination Mac Validation : Enabled
IP Address Validation      : Enabled

Vlan     Configuration    Operation   ACL Match          Static ACL
----     -------------    ---------   ---------          ----------
123     Enabled          Active

Vlan     ACL Logging      DHCP Logging      Probe Logging
----     -----------      ------------      -------------
123     Deny             Deny              Off

sw1# show ip arp inspection statistics vlan 123

Vlan      Forwarded        Dropped     DHCP Drops      ACL Drops
----      ---------        -------     ----------      ---------
123             39              1              1              0

Vlan   DHCP Permits    ACL Permits  Probe Permits   Source MAC Failures
----   ------------    -----------  -------------   -------------------
123             21              0              0                     0

Vlan   Dest MAC Failures   IP Validation Failures   Invalid Protocol Data
----   -----------------   ----------------------   ---------------------
123                   0                        0                       0
sw1#

بخاطر داشته باشید که در صورت نبودن Dhcp در شبکه مورد نظر میتوان تمامی مکانیزهای ذکر شده ی بالا را بصورت دستی و ثابت ایجاد کنید.نکاتی که خالی از لطف نیست در موردش بگم اینه که فرقی نداره که بحث مون در مورد پیاده سازی امنیت در کدام لایه (حتما در مورد ساختار طراحی شبکه های campus که در کتاب ccna اورده شده رو بخونید) باشد ، تا میتونید برای سادگی و کمتر برخوردن به مشکلات خیلی از این مکانیزها رو در لایه های پایین شروع به راه اندازی و کانفیگ کنید. برای مثال arp inspection را روی سوییچ های اکسس فعال کنید و uplink ها را trust کنید.برای اینکه کامند های مربوط رو مطالعه کنید به سایت خود سیسکو مراجعه کنید.

نویسنده : حسین لاجوردی ( Spoof )


نظرات