آموزش Cisco Access List - نسخه قابل چاپ +- Parsi Coders (http://parsicoders.com) +-- انجمن: Network & Internet section (http://parsicoders.com/forumdisplay.php?fid=138) +--- انجمن: Cisco (http://parsicoders.com/forumdisplay.php?fid=79) +--- موضوع: آموزش Cisco Access List (/showthread.php?tid=218) |
آموزش Cisco Access List - amir - 05-05-2011 آموزش Cisco Access List Cisco Access List در ترجمه لغوی به معنای لیست دسترسی سیسکو می باشد که زیاد هم از معنای واقعی خود دور نیست. همانطور که از اسم آن بر می آید به وسیله این ابزار میتوانیم بر روی سخت افزارهای سیسکو فایروال ایجاد کنیم. از آنجا که بحث فایروال بسیار گسترده است و تنها به یک access list منتهی نمیشود به این نوع فایروال packet ....... گفته میشود. حتما خوانندگان عزیز سیسکو را شناخته و از کارایی آن خبر دارند. از آنجا که ورودی اینترنت 80 درصد شبکه هایی که ما با آنها کار می کنیم Cisco هست میتوانیم با بکار گیری Access list در آنها امنیت زیادی را برای خود به ارمغان بیاوریم. نا گفته نماند که مهمترین گزینه در Packet ....... ها کانفیگ خوب آنهاست نه Brand یا مدل دستگاه. شما اگر با اصول Packet Filtering آشنایی داشته باشید بر روی هر سیستم عامل یا سخت افزاری تنها با آموختن Syntax آن میتوانید یک فایروال ایجاد کنید. من در اینجا به توضیح قوائد آن در سیسکو میپردازم. برای ایجاد access list شما نیاز به IOS های بالاتر از ورژن 8.3 دارید. دو مرحله برای ایجاد یک access list داریم. اول میبایست ACL مربوطه را نوشته و دوم آن را به یک اینترفیس اعمال کنیم. بدیهیست در صورت عدم اعمال ACL به یک اینترفیس ACL مذکور بلا استفاده می ماند. پر کاربردترین ACL ها IP Access list است. زیرا اکثر ترافیکها بر روی پروتکل IP انتقال می یابد. خود IP access list دو نوع است. Standard و Extended Standard تنها بر اساس SOURCE IP address می تواند کنترل کند. Extended بر حسب SOURCE and DESTINATION IP address و SOURCE and DESTINATION Port می تواند محدودیت ایجاد کند. معمولا برای نام گذاری access list ها از اعداد استفاده میشود. که از شماره 1 تا 99 برای Standard و 100 تا 199 برای Extended استفاده میشود. البته اعداد 1300 تا 1999 برای Standard و 2000 تا 2699 برای Extended رزرو شده اند. قائده یک Standard Access list بدین صورت است: access-list access-list-number {permit|deny} {host|source source-wildcard|any} یعنی در ابتدا میبایست عبارت access-list را تایپ نموده سپس یک شماره به آن اختصاص میدهیم و در آخر وظیفه آن که نابودی یا اجازه عبور یک پکت هست را مشخص میکنیم. در مثال زیر میخواهیم تنها به یک رنج IP اجازه عبور از اینترفیس Ethernet0 را بدهیم. ابتدا access list مورد نظر را می نویسیم access-list 10 permit 192.168.20.0 0.0.0.255 access-list 10 deny any سپس به یک اینترفیس اعمال میکنیم interface ethernet0 ip access-group 10 in exit Extended access list ها را وقتی به کار میگیریم که نیاز به انعطاف بیشتری داریم. مثلا وقتی نیاز به فیلتر یک پورت خاص است. قائده آن بدین صورت است: access-list access-list-number {deny|permit} protocol source source-wildcard destination destination-wildcard [precedence precedence][tostos][log] پس از عبارت access-list میبایست شماره آن را از همان رنج ذکر شده انتخاب کنیم .سپس action آن را که حذف یا عبور packet است را انتخاب کرده و آدرس مقصد و مبدا و همچنین پروتکل یا پورت آن را مشخص میکنیم. برای نوشتن پروتکل ما مجاز به استفاده از پروتکل های زیر هستیم: eigrp, gre, icmp, igmp, igrp, ip, ipinip, nos, ospf, tcp, or udp همچنین می توان از یک keyword بین 0 تا 255 استفاده کرد که هر کدام بیانگر پروتکلی خاص است. اگر ما عبارت ip را استفاده کنیم به عنوان تمامی پروتکل های IP شناخته میشود. برای مشخص کردن هر آدرسی (any) نیز باید از عبارت 255.255.255.255 استفاده کرد. Option های precedence و tos نیز دو ابزار اختیاریست که برای سرویس های خاص به کار می رود. که باید سرویس مورد نظر را با وارد کردن کد آن که precedence از 0 تا 7 و tos از 0 تا 15 مشخص شده اند را فعال کرد. Log نیز یک ابزار اختیاری دیگر است که با فعال کردن آن میتوانیم از access list خود گزارش برداریم. با مثالی بیشتر با Extended access list آشنا میشویم: اجازه دسترسی سابنت 217.219.102.0/24 با آدرس 192.168.20.27 با هر پروتکلی access-list 105 permit ip 217.219.102.0 0.0.0.255 192.168.20.27 0.0.0.0 اجازه دسترسی آدرس 217.219.108.15 به سابنت 192.168.20.0/24 با هر پروتکلی access-list 105 permit ip 217.219.108.15 0.0.0.0 192.168.20.0 0.0.0.255 اجازه دسترسی سابنت 10.0.0.0/24 به سابنت 172.22.18.0/24 تنها با پورت 23 (telnet) access-list 105 permit tcp 10.0.0.0 0.255.255.255 172.22.18.0 0.0.0.255 eq 23 عدم اجازه دسترسی همه جا به همه جا روی پورت snmp که 161 است access-list 105 permit udp any any eq 161 عدم اجازه پینگ (echo reply icmp type 0) از سابنت 172.12.0.0/16 به همه جا access-list 105 deny icmp 172.12.0.0 0.0.255.255 any 0 عدم دسترسی کلیه packet های دیگر access-list 105 deny ip any any و در آخر اعمال آن به یک اینترفیس interface serial0 ip access-group 105 out exit همانطور که میدانید ترتیب در access list ها مهم است. به همین علت وقتی که لیست ACL ها را مشاهده میکنیم یک سری اعداد کنار آنها مینویسد که بیانگر اولویت آنهاست. ما میتوانیم خود دستی آنها را وارد کنیم: مثال 1: ACL ما بدین صورت است Router#show access-list Extended IP access list 101 10 permit tcp any any 20 permit udp any any 30 permit icmp any any حال میخواهیم در ابتدای آن یک خط اضافه کنیم Router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)#ip access-list extended 101 Router(config-ext-nacl)#5 deny tcp any any eq telnet Router(config-ext-nacl)#exit Router(config)#exit Router# هم اکنون بدین صورت می شود. Router#show access-list Extended IP access list 101 5 deny tcp any any eq telnet 10 permit tcp any any 20 permit udp any any 30 permit icmp any any Router# مثال 2: قبلا یکبار به آن یک خط اضافه کرده ایم. برای بار دوم چنین عمل میکنیم routerB#show access-lists Extended IP access list 101 10 permit tcp any any 15 permit tcp any host 172.162.2.9 20 permit udp host 172.16.1.21 any 30 permit udp host 172.16.1.22 any routerB#configure terminal Enter configuration commands, one per line. End with CNTL/Z. routerB(config)#ip access-list extended 101 routerB(config-ext-nacl)#18 per tcp any host 172.162.2.11 routerB(config-ext-nacl)#^Z ترتیب آن بدین صورت می شود: routerB#show access-lists Extended IP access list 101 10 permit tcp any any 15 permit tcp any host 172.162.2.9 18 permit tcp any host 172.162.2.11 20 permit udp host 172.16.1.21 any 30 permit udp host 172.16.1.22 any routerB# نکته 1: برای برداشتن یک access list میبایست همان ACL را تایپ نموده و در ابتدای سطر یک no قرار دهیم: no access-list 105 deny ip any any نکته2: برای مشاهده ACL ها از دستور زیر استفاده میکنیم. show access-list |