Skip to content

وب سایت شخصی ایمان منصوری

کتاب هفته

Sybex Advance Internetworking Guide

Sybex Press
Cisco
  Advance Advanced
Internetworking Guide
2009
Download Here

آخرین زمان Update

 22 شهريور 1389, 11:30 ق.ظ 

نمایش بازدیدکنندگان

mod_vvisit_counterامروز175
mod_vvisit_counterهمه روزها169721

افراد آنلاين در سايت

Advertisement

وقتی NBAR هم کلک می زند !
امتياز: / 1
ضعيفعالي 
تا حالا چند بار از Zone-Based Firewall استفاده کرده اید ؟ اصلا Zone-Based Firewall چیست ؟ یک قابلیت جدید امنیتی در IOS است که قالب امنیتی را بر اساس Zoneها بیان می کند و بعد با استفاده از Policy های مناسب و مورد نیاز می توان ارتباط بین zone های مختلف  را برقرار کرد. برای امر یک Class Map از نوع inspect  تعریف کنید که در آن به یک شرط برای عمل Inspection اشاره شده است. سپس از اینclass-map در یکpolicy-map  استفاده شود. این policy به بین Zoneهای مورد نظر اضافه می شود تا نوع رابطه آنها را مشخص کند. خوب بیاد یک شبکه کوچک را تست کنیم !

IOS Freaks

خوب تصمیم داریم که Zone-Based Firewall را تست کنیم. اما چی چیزی را ؟ الان می گم. وقتی که Class-mapتعریف می شود ، دو روش بسیار رایج برای تطابق ترافیک وجود دارد. روش اول استفاده از یک ACL  و روش دوم استفاده از فرمان match protocolمی باشد. فرمان match protocol بر اساس NBAR  کار می کند که به جای استفاده از پورت ها از سsignature برای شناخت پروتکل ها استفاده می کند. خوب ، حالا یک تست جالب ، دو تا Host را در دو طرف یک روتر قرار دارند. بر روی یکی از اینها نرم افزار Netcat  وجود دارد که به روی پورت 80 در حال Listen است. بگذارید تست و انجام بدم بعد توضیح بدم. برای این کار ابتدا تنظمیات مربوط به Zone –Based Firewall را انجام می دهم.


Router(config)#zone security backtrack
Router(config)#zone security winxp
Router(config)#interface FastEthernet0/0
Router(config-if)#description ##Connected To Backtrack##
Router(config-if)#ip address 192.168.12.1 255.255.255.0
Router(config-if)#ip nbar protocol-discovery
Router(config-if)#zone-member security backtrack
Router(config-if)#duplex auto
Router(config-if)#speed auto
Router(config-if)#interface FastEthernet0/1
Router(config-if)#ip address 192.168.23.1 255.255.255.0
Router(config-if)#zone-member security winxp
Router(config-if)#duplex auto
Router(config-if)#speed auto
Router(config)#class-map type inspect match-all port80
Router(config-cmap)#match protocol http
Router(config-cmap)#policy-map type inspect backtrack_winxp
Router(config-pmap-c)#class type inspect port80
Router(config-pmap-c)#inspect
Router(config)#zone-pair security BT_TO_WINXP source backtrack destination winxp
Router(config-sec-zone-pair)#service-policy type inspect backtrack_winxp
 

در مرحل بعدی هم تست توسط NetCar

بروی روی دستگاه ویندوری :



C:\nc.exe -l -p 80 -e -d cmd.exe
 

و بعد هم بروی دستگاه دیگر:


root@bt:~#telnet 192.168.23.10 80
Trying 192.168.23.10...
Connected to 192.168.23.10.
Escape character is '^]'.
Microsoft Windows XP [Version 5.1.2600]
(c) Copyright 1985-2001 Microsoft Corp.

C:\>
 

و خوب این هم اطلاهات session مربوط :
R3#show policy-map type inspect zone-pair sessions

policy exists on zp BT_TO_WINXP
 Zone-pair: BT_TO_WINXP

  Service-policy inspect : backtrack_winxp

    Class-map: port80 (match-all)
      Match: protocol http

   Inspect

      Number of Established Sessions = 1
      Established Sessions
        Session 680D9C00 (192.168.12.10:53066)=>(192.168.23.10:80) http:tcp SIS_OPEN
          Created 00:05:06, Last heard 00:05:06
          Bytes sent (initiator:responder) [0:88]

 

ولی .... چی شد ؟ من که از فرمان match protocol  استفاده کردم ؟ پس چرا کار نکرد ؟ بگذازید بگم که چی شد. من بر روی windows XP یک نرم افزار  netcat نصب کردم که به پورت 80 گوش می داد. بعد از یک pc دیگر به این پورتTelnetکردم.  از اونجایی که من تعریف کرده بودم که پروتکل HTTP  فقط مجاز است، این ترافیک نباید که Inspect   می شد. این ترافیک بر روی پورت 80 بود ، اما  HTTP نبود. در واقع فقط مثل یک ACL  عمل کرد که پورت 80 را تطبیق داد. اما از http خبری نبود که !! شاید که مشکل روتر باشد. خوب حالا تست شود ببینیم که IOS  خراب است یا تنظمیمات من ! برای این این باز از policy-map  برای MQC  استفاده می کنم ببنیم که چه می شود.



Router(config)#class-map match-all http
Router(config-cmap)#match protocol http
Router(config)#class-map match-all port-not-80
Router(config-cmap)#match not protocol http
Router(config)#policy-map qos_traffic
Router(config-pmap)#class http
Router(config-pmap-c)#set ip precedence 3
Router(config-pmap)#class port-80
Router(config-pmap-c)#drop
Router(config)#interface FastEthernet0/0
Router(config-if)#service-policy in qos_traffic
 


root@bt:~#telnet 192.168.23.10 80
Trying 192.168.23.10...


Router#sh policy-map interface fa0/0
 FastEthernet0/0

  Service-policy input: qos_traffic

    Class-map: http (match-all)
      0 packets, 0 bytes
      5 minute offered rate 0 bps, drop rate 0 bps
      Match: protocol http
      QoS Set
        precedence 3
          Packets marked 0

    Class-map: port-not-80 (match-all)
      3 packets, 222 bytes
      5 minute offered rate 0 bps, drop rate 0 bps
      Match: not protocol http
      drop


    Class-map: class-default (match-any)
      0 packets, 0 bytes
      5 minute offered rate 0 bps, drop rate 0 bps
      Match: any
 

بله می بینید که ترافیک را به عنوان ترافیک HTTP  شناسایی نکرد  و در نتیحه dropشد. فقط تحت عنوان پورت 80 شناخت و در نتیجه عمل نکرد.
خوب نتیجه اینکه گول IOS را نخورید ، در حالت اول نوشتن match protocol با یک ACL  هیچ فرقی نمی کند ! به قول خودمون match protocolهم match protocol های قدیم.

Smile
: بيننده: 725 :: ايميل

  ارسال نظر

نوشتن نظر
نام:
ايميل:
صفحه اصلي:
عنوان:
BBCode:Web AddressEmail AddressBold TextItalic TextUnderlined TextQuoteCodeOpen ListList ItemClose List
نظر:



كد:* Code
من اين نظر را دوستانه جهت تماس ارسال ميكنم

 
قبل >