ACL در سیسکو برای کنترل ترافیکی استفاده میشود که از روتر یا سوئیچ لایه 3 عبور میکند. با تعریف Ruleهای مختلف میتوان مشخص کرد چه ترافیکی اجازه عبور داشته باشد و چه ترافیکی مسدود شود. ACL میتواند بر اساس مواردی مثل IP مبدأ و مقصد، پروتکل و شماره پورت تصمیمگیری کند. مثلا برای زمانی بخواهیم کاربران یک VLAN به سرورها دسترسی داشته باشند، اما امکان استفاده از Telnet را نداشته باشند. به طور کلی Standard ACL بیشتر برای کنترل بر اساس IP مبدأ استفاده میشود، در حالی که Extended ACL امکان بررسی دقیقتر مبدأ، مقصد، پروتکل و پورت را فراهم میکند.
⏲ مدت زمان تخمینی مطالعه: 18 دقیقه
فهرست موضوعات
ACL در سیسکو چیست؟
ACL یا Access Control List مجموعهای از قوانین (Rule) است که در تجهیزات سیسکو برای کنترل ترافیک شبکه استفاده میشود. هر Rule مشخص میکند ترافیکی که با شرایط آن مطابقت دارد، اجازه عبور داشته باشد (Permit) یا مسدود شود (Deny).
ACLها میتوانند ترافیک را بر اساس معیارهایی مانند آدرس IP مبدأ و مقصد، پروتکل و شماره پورت بررسی کنند. برای مثال، Standard ACL بیشتر بر اساس IP مبدأ عمل میکند، در حالی که Extended ACL امکان کنترل دقیقتر مبدأ، مقصد، پروتکل و پورت را فراهم میکند.

ACL با فایروال یکسان نیست. ACL بیشتر برای فیلتر و کنترل ترافیک در تجهیزات شبکه استفاده میشود، در حالی که فایروالها، بهویژه فایروالهای Stateful، امکانات امنیتی گستردهتری مانند بررسی وضعیت ارتباطات و اعمال سیاستهای پیچیدهتر ارائه میدهند.
| ویژگی | ACL | Firewall |
|---|---|---|
| کاربرد اصلی | فیلتر و کنترل ترافیک | کنترل و بازرسی امنیتی گستردهتر |
| بررسی وضعیت Connection | معمولاً ندارد (Stateless) | در فایروالهای Stateful دارد |
| محل استفاده | روتر، سوئیچ لایه ۳ و سایر تجهیزات شبکه | تجهیزات و سرویسهای امنیتی شبکه |
| معیار کنترل | بسته به نوع ACL، مانند IP، پروتکل و پورت | معیارهای متنوعتر و سیاستهای امنیتی پیشرفتهتر |
| پیچیدگی | سادهتر و سبکتر | پیچیدهتر و دارای قابلیتهای امنیتی بیشتر |
بنابراین، ACL را نباید جایگزین کامل فایروال دانست؛ بلکه ACL یکی از ابزارهای کنترل دسترسی و فیلتر ترافیک در شبکه است و در کنار سایر تجهیزات امنیتی مانند فایروال استفاده میشود.
فایروال سیسکو چیست؟ کدام فایروال سیسکو بهتر است؟
ACL چگونه در روتر و سوئیچ سیسکو کار میکند؟
وقتی بستهای از Interface عبور میکند، روتر یا سوئیچ ACL مربوط به آن Interface و جهت ترافیک را بررسی میکند. Ruleها از بالا به پایین خوانده میشوند و اولین Ruleای که با بسته مطابقت داشته باشد، تصمیم نهایی را مشخص میکند.
مفهوم First Match
فرض کنید این ACL را داریم:
access-list 100 deny ip host 192.168.10.10 any
access-list 100 permit ip any any
اگر بستهای از 192.168.10.10 وارد شود، Rule اول با آن مطابقت دارد و بسته Drop میشود Rule دوم دیگر بررسی نمیشود. پس اگر Ruleها با ترتیب مناسبی نوشته نشوند، ممکن است یک ترافیک قبل از رسیدن به Rule موردنظر اجازه عبور بگیرد یا مسدود شود.
Implicit Deny چیست؟
در انتهای ACL یک deny ضمنی وجود دارد که در خروجی تنظیمات بهصورت یک خط معمولی دیده نمیشود. یعنی اگر هیچکدام از Ruleهای ACL با بسته مطابقت نداشته باشند، ترافیک رد خواهد شد.
بنابراین اگر میخواهید ترافیکهای دیگری هم اجازه عبور داشته باشند، باید Rule مناسب آنها را هم در ACL قرار دهید:
اجازه عبور تمام ترافیک در ACL
access-list 100 permit ip any any
این دستور به ACL اجازه میدهد تمام ترافیک IP را از هر مبدأ به هر مقصد عبور دهد. معمولاً از این Rule برای اجازه دادن به ترافیکهای باقیمانده پس از قوانین deny استفاده میشود.
ترتیب Ruleها چرا مهم است؟
یکی از اشتباهات رایج این است که Rule عمومی را قبل از Rule اختصاصی قرار دهیم.
اشتباه:
اهمیت ترتیب Ruleها در ACL
access-list 100 permit ip any any
access-list 100 deny ip host 192.168.1.10 any
در این حالت، بستههای مربوط به 192.168.1.10 ابتدا با Rule اول تطبیق پیدا میکنند و اجازه عبور میگیرند؛ بنابراین Rule مربوط به deny هیچگاه اجرا نمیشود.
ترتیب صحیح Ruleها باید به شکل زیر باشد:
access-list 100 deny ip host 192.168.1.10 any
access-list 100 permit ip any any
در این ترتیب، ابتدا ترافیک موردنظر مسدود میشود و سپس سایر ترافیکها اجازه عبور خواهند داشت. این رفتار به دلیل اجرای ACL بر اساس First Match است؛ یعنی روتر اولین Rule منطبق با بسته را اجرا میکند و بررسی را متوقف میکند.
در عمل بهتر است Ruleهای محدودکننده را قبل از Ruleهای عمومی قرار دهید تا Rule عمومی، ترافیک موردنظر را زودتر از Rule اصلی مجاز نکند.
اجزای اصلی یک ACL در سیسکو
برای نوشتن و خواندن یک ACL در سیسکو، باید اجزای تشکیلدهنده هر Rule را بشناسید.
هر خط ACL از یک تصمیم (permit یا deny) و معیارهایی مانند
آدرس مبدأ، مقصد، پروتکل و در برخی موارد پورت تشکیل میشود.
شماره یا نام ACL
در ACLهای شمارهگذاریشده، عدد ابتدای دستور نوع ACL را مشخص میکند. برای مثال،
عدد 10 معمولاً برای یک Standard ACL و عدد 100 برای یک
Extended ACL استفاده میشود. در روش Named ACL نیز بهجای عدد،
یک نام معنادار برای لیست انتخاب میکنیم.
access-list 10 permit 192.168.10.0 0.0.0.255
عدد 10 شناسه ACL است و در این مثال برای یک Standard ACL استفاده شده است.
دستور permit
دستور permit مشخص میکند ترافیکی که با شرایط Rule مطابقت دارد،
اجازه عبور داشته باشد. معیارهای این تطبیق میتوانند بسته به نوع ACL متفاوت باشند.
نمونه دستور permit
access-list 100 permit ip any any
این Rule تمام ترافیک IP را از هر مبدأ به هر مقصد مجاز میکند.
دستور deny
دستور deny برای مسدود کردن ترافیکی استفاده میشود که با شرایط مشخصشده
در Rule مطابقت داشته باشد. از آنجا که ACL از بالا به پایین بررسی میشود، محل قرارگیری
دستور deny اهمیت زیادی دارد.
نمونه دستور deny
access-list 100 deny ip host 192.168.10.10 any
در این مثال، تمام ترافیک IP با مبدأ 192.168.10.10 مسدود میشود.
Source IP
Source IP آدرس دستگاه یا شبکهای است که بسته را ارسال میکند.
در Standard ACL، مهمترین معیار بررسی همین آدرس مبدأ است؛ اما در Extended ACL
میتوان آن را در کنار مقصد، پروتکل و پورت بررسی کرد.
نمونه تعیین Source IP
access-list 10 deny 192.168.10.0 0.0.0.255
این Rule ترافیک ارسالی از شبکه 192.168.10.0/24 را شناسایی میکند.
Destination IP
Destination IP آدرس مقصد بسته است و در Extended ACL امکان استفاده از آن
برای کنترل دقیقتر ترافیک وجود دارد. به این ترتیب میتوان مشخص کرد یک شبکه مبدأ به
کدام شبکه یا Host مقصد دسترسی داشته باشد یا نداشته باشد.
نمونه تعیین Source و Destination
access-list 100 permit tcp 192.168.10.0 0.0.0.255 192.168.20.0 0.0.0.255 eq 443
در این Rule، ترافیک TCP از شبکه 192.168.10.0/24 به شبکه
192.168.20.0/24 روی پورت 443 مجاز است.
Wildcard Mask
Wildcard Mask مشخص میکند کدام بخش از آدرس IP باید دقیقاً بررسی شود
و کدام بخش نادیده گرفته شود. در آن، مقدار 0 یعنی بخش مربوطه باید
مطابقت داشته باشد و مقدار 1 در بیتها به معنی نادیده گرفتن آن بخش است.
نمونه Wildcard Mask برای شبکه /24
access-list 10 permit 192.168.10.0 0.0.0.255
مقدار 0.0.0.255 باعث میشود سه اکتت اول دقیقاً بررسی شوند و
اکتت آخر آزاد باشد؛ بنابراین تمام IPهای شبکه
192.168.10.0/24 با این Rule مطابقت خواهند داشت.
انواع ACL در سیسکو چیست؟
ACLها در تجهیزات سیسکو بر اساس نوع فیلترینگ و نحوه تعریف Ruleها به چند دسته تقسیم میشوند. دو نوع پایه و پرکاربرد آن Standard ACL و Extended ACL هستند؛ همچنین میتوان ACLها را بهصورت Named ACL تعریف کرد تا مدیریت و خوانایی قوانین سادهتر شود.
در ادامه، هرکدام از این انواع و تفاوتهای آنها را بررسی میکنیم.
Standard ACL چیست؟
در Standard ACL تصمیمگیری فقط بر اساس IP مبدأ انجام میشود. بنابراین وقتی هدف فقط محدود کردن یک IP یا یک شبکه مشخص باشد، این نوع ACL میتواند کافی باشد.
برای مثال میتوان تمام ترافیک شبکه 192.168.10.0/24 را محدود کرد:
نمونه Standard ACL برای مسدود کردن یک شبکه
access-list 10 deny 192.168.10.0 0.0.0.255
access-list 10 permit any
در این مثال، ترافیک با مبدأ 192.168.10.0/24 مسدود میشود و با استفاده از permit any، سایر آدرسهای مبدأ اجازه عبور خواهند داشت. چون Standard ACL فقط Source IP را بررسی میکند، مقصد یا نوع سرویس در این Rule مشخص نشده است.
محدودیت اصلی Standard ACL این است که نمیتواند مقصد، پورت یا پروتکل را مشخص کند.
Extended ACL چیست؟
وقتی کنترل فقط به IP مبدأ محدود نمیشود، Extended ACL گزینه بهتری است. در این نوع ACL میتوان مبدأ، مقصد، پروتکل و پورت را هم در Rule مشخص کرد.
مثلاً برای اجازه دادن HTTPS از شبکه کاربران به سرورها:
نمونه Extended ACL برای اجازه دسترسی HTTPS
access-list 100 permit tcp 192.168.10.0 0.0.0.255 192.168.20.0 0.0.0.255 eq 443
این Rule فقط ترافیک TCP را از شبکه 192.168.10.0/24 به شبکه 192.168.20.0/24 روی پورت 443 مجاز میکند. پورت 443 معمولاً برای ارتباطات HTTPS استفاده میشود.
Named ACL چیست؟
در ACLهای شمارهدار، با زیاد شدن تعداد Ruleها مدیریت تنظیمات میتواند سختتر شود. در Named ACL میتوان برای هر ACL یک نام مشخص انتخاب کرد و Ruleها را خواناتر مدیریت کرد. مانند این مورد:
نمونه Named Extended ACL
ip access-list extended SERVER_ACCESS
deny tcp 192.168.10.0 0.0.0.255 192.168.20.0 0.0.0.255 eq 23
permit ip any any
در این مثال، یک Named Extended ACL با نام SERVER_ACCESS ایجاد شده است. این ACL دسترسی شبکه 192.168.10.0/24 به شبکه 192.168.20.0/24 روی پورت 23 (Telnet) را مسدود میکند و با دستور permit ip any any، سایر ترافیکها را مجاز میکند.
Dynamic ACL چیست؟
Dynamic ACL که با عنوان Lock-and-Key نیز شناخته میشود، زمانی کاربرد دارد که بخواهیم دسترسی کاربر دائمی نباشد. در این حالت کاربر ابتدا احراز هویت میشود و بعد از آن دسترسی موقت موردنیاز برای او فعال خواهد شد.
این روش بیشتر در سناریوهای خاص استفاده میشود و هنگام طراحی شبکه باید در کنار روش احراز هویت و سیاست کلی امنیت شبکه در نظر گرفته شود.
Time Based ACL چیست؟
Time Based ACL امکان فعال شدن یک Rule در بازه زمانی مشخص را فراهم میکند. برای مثال میتوان اجازه دسترسی به یک سرویس را فقط در ساعات کاری فعال کرد.
ابتدا یک Time Range ساخته میشود:
استفاده از Time-Range در ACL
time-range WORK-HOURS
periodic weekdays 8:00 to 17:00
access-list 100 permit tcp any any eq 443 time-range WORK-HOURS
در این مثال، یک بازه زمانی با نام WORK-HOURS تعریف شده است که از ساعت 8:00 تا 17:00 در روزهای کاری فعال است. سپس Rule مربوط به ACL فقط در این بازه زمانی، ترافیک HTTPS روی پورت 443 را مجاز میکند.
Wildcard Mask در ACL چیست؟
Wildcard Mask مشخص میکند کدام قسمت IP باید بررسی شود و کدام قسمت میتواند متفاوت باشد. اگر Wildcard اشتباه باشد، ACL ممکن است روی محدودهای متفاوت از شبکه موردنظر اعمال شود. برخلاف Subnet Mask، در Wildcard مقدار 0 یعنی “این بخش باید دقیقاً مطابقت داشته باشد” و مقدار 1 یعنی “مهم نیست”.
محاسبه Wildcard Mask برای شبکه /24
Subnet Mask: 255.255.255.0
Wildcard Mask: 0.0.0.255
برای محاسبه ساده Wildcard Mask میتوان هر بخش از Subnet Mask را از 255 کم کرد.
| شبکه | Subnet Mask | Wildcard Mask |
|---|---|---|
| /24 | 255.255.255.0 | 0.0.0.255 |
| /16 | 255.255.0.0 | 0.0.255.255 |
| /30 | 255.255.255.252 | 0.0.0.3 |
| یک Host | 255.255.255.255 | 0.0.0.0 |
مثال استفاده از Wildcard Mask در Standard ACL
access-list 10 permit 192.168.10.0 0.0.0.255
این Rule به تمام IPهای شبکه 192.168.10.0/24 اجازه عبور میدهد.
ACL را روی کدام اینترفیس اعمال کنیم؟
به طور معمول Standard ACL را نزدیک مقصد و Extended ACL را نزدیک مبدأ قرار میدهند، اما این موضوع یک قانون ثابت برای همه شبکهها نیست. محل مناسب ACL به توپولوژی شبکه، مسیر Routing و نوع ترافیکی که قرار است کنترل شود بستگی دارد.
بنابراین قبل از اعمال ACL باید مشخص شود بسته از کدام Interface عبور میکند و قرار است در کدام نقطه فیلتر شود.
Inbound و Outbound ACL چیست؟
تفاوت Inbound و Outbound ACL به جهت حرکت بسته نسبت به اینترفیس مربوط میشود. در حالت Inbound، ACL زمانی بسته را بررسی میکند که ترافیک از طریق یک Interface وارد روتر یا سوئیچ شود. در مقابل، در حالت Outbound، بسته ابتدا مسیریابی میشود و سپس پیش از خروج از Interface مقصد، توسط ACL بررسی خواهد شد.
به بیان ساده، اگر بسته از طریق Interface وارد دستگاه شود، ACL از نوع Inbound است و اگر بسته از طریق همان Interface از دستگاه خارج شود، ACL بهصورت Outbound اعمال شده است.
اگر ACL با in تنظیم شود، بسته هنگام ورود به Interface بررسی میشود:
اعمال ACL بهصورت Inbound و Outbound
در حالت Inbound، ACL روی ترافیکی اعمال میشود که از طریق Interface وارد روتر میشود:
interface gigabitEthernet 0/0
ip access-group 100 in
در حالت Outbound، ACL روی ترافیکی اعمال میشود که پس از مسیریابی از Interface خارج میشود:
interface gigabitEthernet 0/1
ip access-group 100 out
قبل از اعمال ACL باید مسیر واقعی بسته را در نظر بگیرید؛ اشتباه در جهت in و out یکی از دلایل رایج قطع شدن دسترسی است.
مثالهای ACL در شبکه سازمانی
محدود کردن دسترسی کاربران به VLAN سرورها
فرض کنیم کاربران در 192.168.10.0/24 و سرورها در 192.168.20.0/24 قرار دارند. اگر بخواهیم دسترسی کاربران به سرورها را کنترل کنیم، Extended ACL انتخاب مناسبی است.
مثلاً فقط HTTPS را اجازه میدهیم:
نمونه Extended ACL برای محدود کردن دسترسی به HTTPS
access-list 110 permit tcp 192.168.10.0 0.0.0.255 192.168.20.0 0.0.0.255 eq 443
access-list 110 deny ip 192.168.10.0 0.0.0.255 192.168.20.0 0.0.0.255
در این مثال، شبکه 192.168.10.0/24 فقط میتواند از طریق پروتکل HTTPS و پورت 443 به شبکه 192.168.20.0/24 دسترسی داشته باشد و سایر ترافیکهای این دو شبکه مسدود میشوند.
در این حالت کاربران میتوانند به سرویس HTTPS سرورها دسترسی داشته باشند، اما سایر ترافیکهای IP به آن VLAN مسدود میشوند.
پیکربندی VLAN و مسیریابی در روترهای سیسکو
فقط اجازه دسترسی HTTP و HTTPS
اگر شبکهای باید فقط برای وب استفاده شود:
اجازه دسترسی به HTTP و HTTPS
access-list 120 permit tcp 192.168.10.0 0.0.0.255 any eq 80
access-list 120 permit tcp 192.168.10.0 0.0.0.255 any eq 443
access-list 120 deny ip 192.168.10.0 0.0.0.255 any
در این مثال، شبکه 192.168.10.0/24 فقط اجازه دسترسی به سرویسهای HTTP روی پورت 80 و HTTPS روی پورت 443 را دارد. سایر ترافیکهای این شبکه به هر مقصدی با Rule سوم مسدود میشوند.
توجه کنید که DNS، DHCP یا سرویسهای موردنیاز دیگر نیز ممکن است به Rule جداگانه نیاز داشته باشند. بنابراین قبل از اجرای چنین ACL ای باید وابستگیهای واقعی شبکه مشخص شوند.
مسدود کردن Telnet و اجازه SSH
Telnet از نظر امنیتی انتخاب مناسبی برای مدیریت تجهیزات نیست. میتوان Telnet را مسدود و SSH را مجاز کرد:
مسدود کردن Telnet و اجازه دسترسی SSH
access-list 130 deny tcp any any eq 23
access-list 130 permit tcp any any eq 22
در این مثال، تمام ترافیک Telnet با پورت 23 مسدود میشود، در حالی که ترافیک SSH روی پورت 22 اجازه عبور خواهد داشت.
در شبکه واقعی بهتر است این Ruleها را محدود به IPهای مدیریتی مورداعتماد کنید، نه اینکه SSH را برای هر مبدأی باز بگذارید.
محدود کردن دسترسی واحد مالی
فرض کنید VLAN مالی 192.168.30.0/24 است و فقط باید به یک سرور حسابداری با IP 192.168.20.50 دسترسی داشته باشد:
اجازه دسترسی به یک سرور و مسدود کردن سایر دسترسیها
access-list 140 permit ip 192.168.30.0 0.0.0.255 host 192.168.20.50
access-list 140 deny ip 192.168.30.0 0.0.0.255 192.168.20.0 0.0.0.255
در این مثال، شبکه 192.168.30.0/24 فقط به سرور با IP 192.168.20.50 از شبکه مقصد دسترسی دارد و سایر ارتباطات این شبکه با 192.168.20.0/24 مسدود میشود.
ایجاد ACL برای DMZ
در معماری DMZ سرویسهایی مثل Web Server از شبکه داخلی جدا میشوند. بهعنوان نمونه، میتوان دسترسی کاربران داخلی به Web Server را فقط روی HTTPS باز گذاشت:
اجازه HTTPS به یک سرور و مسدود کردن سایر ترافیکها
access-list 150 permit tcp 192.168.10.0 0.0.0.255 host 192.168.40.10 eq 443
access-list 150 deny ip any host 192.168.40.10
در این مثال، شبکه 192.168.10.0/24 فقط از طریق HTTPS و پورت 443 به سرور 192.168.40.10 دسترسی دارد و سایر ترافیکها به این سرور مسدود میشوند.
در یک DMZ واقعی، ACL بهتنهایی کافی نیست و در کنار فایروال و سایر سیاستهای امنیتی استفاده میشود.
ACL در سوئیچ لایه 3 سیسکو
سوئیچ لایه 3 میتواند Routing بین VLANها را انجام دهد. معمولاً برای هر VLAN یک SVI داریم:
اعمال ACL روی SVI مربوط به VLAN 10
interface vlan 10
ip address 192.168.10.1 255.255.255.0
interface vlan 10
ip access-group 100 in
در این مثال، VLAN 10 دارای یک SVI با آدرس 192.168.10.1 است. با اعمال ACL 100 در جهت in، ترافیک ورودی از VLAN 10 پیش از عبور از اینترفیس لایه 3 بررسی میشود و فقط ترافیکی که با قوانین ACL مطابقت داشته باشد، اجازه عبور خواهد داشت.
با این روش میتوان دسترسی بین VLAN ها را روی همان سوئیچ کنترل کرد. برای مثال میتوان دسترسی VLAN کاربران به VLAN سرورها را محدود کرد، بدون اینکه تمام ترافیک شبکه از یک روتر جداگانه عبور کند.
پیکربندی VLAN و مسیریابی در روترهای سیسکو
دستورات بررسی و عیبیابی ACL
برای بررسی ACL ها چند دستور بسیار کاربردی وجود دارد:
دستورات بررسی و عیبیابی ACL
show access-lists
show ip access-lists
show ip interface
show running-config | include access-list
با اجرای show access-lists یا show ip access-lists میتوان Ruleهای ACL و در بسیاری از موارد تعداد Packetهای Matchشده با هر Rule را مشاهده کرد. دستور show ip interface نیز برای بررسی وضعیت Interfaceها و مشاهده ACLهای اعمالشده روی آنها کاربرد دارد. همچنین با اجرای show running-config | include access-list میتوان Ruleهای ACL موجود در تنظیمات جاری دستگاه را سریعتر پیدا و بررسی کرد.
اگر بعد از اعمال ACL ارتباطی قطع شد، فقط خود Rule را بررسی نکنید. Interface، جهت ACL، Routing و Wildcard Mask را نیز بررسی کنید.
اشتباهات رایج در ACL سیسکو
قبل از اجرای ACL بهتر است چند مورد ساده بررسی شود؛ چون یک اشتباه کوچک در Rule، Wildcard یا جهت Interface میتواند باعث قطع شدن دسترسی شود.
- قرار دادن Rule عمومی قبل از Rule اختصاصی: اگر Ruleای مثل permit ip any any زودتر قرار بگیرد، Ruleهای بعدی دیگر بررسی نمیشوند. بنابراین Ruleهای محدودکننده باید قبل از Ruleهای عمومی قرار بگیرند.
- نوشتن Wildcard Mask اشتباه: یک Wildcard نادرست میتواند باعث شود ACL روی IPهای بیشتری یا کمتری از محدوده موردنظر اعمال شود. قبل از استفاده، محدوده شبکه را با دقت بررسی کنید.
- فراموش کردن Implicit Deny: اگر در انتهای ACL مجوز مناسبی برای ترافیکهای دیگر وجود نداشته باشد، ترافیکی که با هیچ Ruleای مطابقت نداشته باشد مسدود میشود.
- اعمال ACL روی Interface اشتباه: ممکن است ACL کاملاً درست نوشته شده باشد، اما روی Interfaceای قرار گرفته باشد که ترافیک موردنظر از آن عبور نمیکند.
- انتخاب جهت اشتباه in یا out: باید مشخص باشد بسته هنگام ورود به Interface بررسی شود یا هنگام خروج از آن. انتخاب اشتباه جهت میتواند باعث شود ACL روی ترافیک موردنظر اعمال نشود.
- استفاده بیش از حد از any: استفاده از any محدوده Rule را بسیار گسترده میکند. در شبکههای سازمانی بهتر است تا حد امکان مبدأ، مقصد و سرویس موردنظر مشخص شوند.
- تست نکردن ACL: بهتر است قبل از اعمال Rule ها در شبکه Production، آنها را در محیط آزمایشی یا Packet Tracer بررسی کنید. بعد از اجرا نیز با دستورهایی مانند show ip access-lists میتوان عملکرد Ruleها را بررسی کرد.
- نادیده گرفتن سرویسهای جانبی: بعضی سرویسها فقط به یک پورت وابسته نیستند. برای مثال ممکن است HTTPS را مجاز کرده باشید، اما DNS مسدود باشد و در نتیجه دسترسی کاربران به سرویس بهدرستی انجام نشود.
در شبکههای حساس، ACL را مرحله به مرحله اعمال کنید و قبل از هر تغییر، مسیر ترافیک و سرویسهای موردنیاز را مشخص کنید.
بهترین روشهای طراحی ACL در شبکه سازمانی
در شبکههای بزرگ بهتر است ACLها با نام مشخص و Ruleهای قابل فهم نوشته شوند. قبل از اضافه کردن هر Rule، مبدأ، مقصد و سرویس موردنیاز را مشخص کنید تا Rule های اضافی وارد ACL نشوند. همچنین قبل از اعمال تغییرات در شبکه Production ، تنظیمات را تست کنید و در صورت بروز مشکل امکان Rollback داشته باشید.
جمعبندی
ACL یکی از ابزارهای اصلی برای کنترل ترافیک در شبکههای سیسکو است و با استفاده درست از آن میتوان دسترسی بین شبکهها، VLANها و سرویسهای مختلف را محدود کرد. قبل از نوشتن Rule ها، ابتدا مشخص کنید ترافیک از چه مسیری عبور میکند و هر بخش شبکه به چه دسترسیهایی نیاز دارد. بعد میتوان ترتیب Ruleها، Wildcard Mask و جهت اعمال ACL را مشخص کرد. بعد از آن باید ترتیب Ruleها، Wildcard Mask و جهت اعمال ACL روی Interface بررسی شود تا دسترسیهای مجاز به اشتباه مسدود نشوند.
اگر برای اجرای یک زیرساخت شبکه مناسب به سوئیچ سیسکو، سرور یا سایر تجهیزات شبکه نیاز دارید، تجارت سرور پارسه میتواند در انتخاب تجهیزات متناسب با نیاز شبکه شما کمک کند.
سوالات متداول ACL در سیسکو
ACL در Cisco چیست؟
ACL مجموعهای از Ruleها برای اجازه دادن یا مسدود کردن ترافیک شبکه است که بر اساس معیارهایی مانند IP، پروتکل و پورت عمل میکند.
Standard ACL بهتر است یا Extended ACL؟
هیچکدام برتری مطلقی ندارند. اگر فقط IP مبدأ اهمیت دارد، Standard ACL کافی است؛ اما اگر لازم باشد مقصد، پورت یا پروتکل را نیز مشخص کنید، باید از Extended ACL استفاده کنید.
چرا ACL باعث قطع شبکه شد؟
این مشکل معمولاً به دلیل ترتیب اشتباه Ruleها، Implicit Deny، Wildcard نادرست، انتخاب Interface اشتباه یا اعمال ACL در جهت نادرست (in/out) ایجاد میشود.
چند ACL روی Interface میتوان داشت؟
در IPv4 معمولاً برای هر Interface میتوان یک ACL ورودی (Inbound) و یک ACL خروجی (Outbound) اعمال کرد. محدودیتهای دقیق به پروتکل و پلتفرم تجهیزات بستگی دارد.
آیا ACL جای Firewall را میگیرد؟
خیر. ACL بیشتر برای فیلتر و کنترل ترافیک استفاده میشود، در حالی که فایروال میتواند امکانات امنیتی و کنترل ارتباط گستردهتری ارائه دهد.
چرا Rule من اجرا نمیشود؟
ابتدا ترتیب Ruleها را بررسی کنید؛ زیرا ACL از بالا به پایین بررسی میشود و اولین Rule منطبق اجرا خواهد شد. سپس Interface، جهت اعمال ACL (in/out) و تعداد Matchهای هر Rule را با دستور show ip access-lists بررسی کنید.