| 22 شهريور 1389, 11:30 ق.ظ |
| وقتی NBAR هم کلک می زند ! |
تا حالا چند بار از Zone-Based Firewall استفاده کرده اید ؟ اصلا Zone-Based Firewall چیست ؟ یک قابلیت جدید امنیتی در IOS است که قالب امنیتی را بر اساس Zoneها بیان می کند و بعد با استفاده از Policy های مناسب و مورد نیاز می توان ارتباط بین zone های مختلف را برقرار کرد. برای امر یک Class Map از نوع inspect تعریف کنید که در آن به یک شرط برای عمل Inspection اشاره شده است. سپس از اینclass-map در یکpolicy-map استفاده شود. این policy به بین Zoneهای مورد نظر اضافه می شود تا نوع رابطه آنها را مشخص کند. خوب بیاد یک شبکه کوچک را تست کنیم !
خوب تصمیم داریم که 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 های قدیم. : بيننده: 725 :: ايميل
|
||||||
| قبل > |
|---|
| لینک دوستان |
| Cisco In Persian |
| IP2Location |
| Swiss Army Knife |
| Latest Threats info |
| All Net Monitoring Tools |
| Online Network Tools |
| Networking ToolBox |
| speedtest.net |
| DNS Stuff |