فهرست مطالب

    آموزش acl در سیسکو


    آموزش acl در سیسکو

    آموزش acl در سیسکو

    فهرست مطالب

    • فصل 1: معرفی Access Control List (ACL)
    • ACL چیست؟
    • کاربرد ACL در شبکه
    • نقش ACL در امنیت شبکه
    • نحوه پردازش بسته‌ها در ACL
    • منطق بررسی قوانین (Top-Down Processing)
    • فصل 2: انواع ACL در سیسکو
    • ACL استاندارد (Standard ACL)
    • ACL توسعه‌یافته (Extended ACL)
    • ACL شماره‌دار (Numbered ACL)
    • ACL نام‌گذاری‌شده (Named ACL)
    • ACL مبتنی بر زمان (Time-Based ACL)
    • ACL در IPv4 و IPv6
    • فصل 3: مفاهیم پایه ACL
    • دستورات Permit و Deny
    • قانون Deny ضمنی (Implicit Deny)
    • Wildcard Mask چیست؟
    • تفاوت Subnet Mask و Wildcard Mask
    • استفاده از کلیدواژه‌های Host و Any
    • فصل 4: پیکربندی ACL استاندارد
    • ساختار دستورات Standard ACL
    • بازه شماره‌های ACL استاندارد
    • مثال‌های عملی از پیکربندی ACL استاندارد
    • اعمال ACL روی اینترفیس‌ها
    • تفاوت Inbound و Outbound
    • فصل 5: پیکربندی ACL توسعه‌یافته (Extended ACL)
    • ساختار دستورات Extended ACL
    • فیلتر بر اساس IP مبدأ و مقصد
    • فیلتر بر اساس پروتکل‌ها (IP, TCP, UDP, ICMP)
    • فیلتر بر اساس پورت‌ها
    • مثال‌های عملی Extended ACL
    • فصل 6: Named ACL
    • تفاوت Named ACL با Numbered ACL
    • ایجاد و ویرایش Named ACL
    • مثال‌های عملی Named ACL
    • مزایا و معایب Named ACL
    • فصل 7: محل صحیح قرارگیری ACL
    • قانون نزدیک‌ترین مکان به مبدأ یا مقصد
    • Best Practice در طراحی ACL
    • اشتباهات رایج در اعمال ACL
    • فصل 8: ACL مبتنی بر زمان (Time-Based ACL)
    • معرفی Time-Based ACL
    • ایجاد Time Range
    • اعمال ACL زمان‌بندی‌شده
    • مثال‌های عملی
    • فصل 9: عیب‌یابی و بررسی ACL
    • مشاهده ACLهای فعال
    • بررسی شمارش Hit Count
    • دستورات Show و Debug مرتبط با ACL
    • رفع خطاهای رایج ACL
    • فصل 10: سناریوهای عملی و واقعی
    • سناریوهای امنیتی در شبکه‌های واقعی
    • محدودسازی دسترسی کاربران
    • کنترل ترافیک بین VLANها
    • مثال‌های عملی از پروژه‌های واقعی
    • فصل 11: ACL در شبکه‌های پیشرفته
    • ACL در Router و Switch لایه 3
    • ACL در ارتباط با NAT
    • ACL و VPN
    • ACL در شبکه‌های Enterprise
    • فصل 12: جمع‌بندی و نکات حرفه‌ای
    • خلاصه مفاهیم کلیدی
    • نکات مهم برای آزمون‌های سیسکو (CCNA / CCNP)
    • توصیه‌های حرفه‌ای برای طراحی ACL
    • بهترین روش‌ها (Best Practices)

     

     

     

     

     

     

     

     

     

     

    فصل ۱: معرفی Access Control List (ACL)

     

    ACL چیست؟

    Access Control List یا به اختصار ACL مجموعه‌ای از قوانین است که در تجهیزات سیسکو مانند روترها و سوئیچ‌های لایه ۳ استفاده می‌شود تا مشخص کند کدام ترافیک شبکه اجازه عبور دارد و کدام ترافیک باید مسدود شود.
    ACLها بر اساس معیارهایی مانند آدرس IP مبدأ، آدرس IP مقصد، نوع پروتکل و شماره پورت تصمیم‌گیری می‌کنند.

    کاربرد ACL در شبکه

    ACLها کاربردهای متنوعی در شبکه دارند که مهم‌ترین آن‌ها عبارت‌اند از:

    • محدود کردن دسترسی کاربران به منابع خاص
    • کنترل ترافیک ورودی و خروجی شبکه
    • جلوگیری از دسترسی غیرمجاز بین بخش‌های مختلف شبکه
    • کاهش ترافیک ناخواسته و بهبود عملکرد شبکه
    • استفاده در سناریوهایی مانند NAT، VPN و QoS

    نقش ACL در امنیت شبکه

    ACL یکی از اولین و مهم‌ترین ابزارهای امنیتی در شبکه‌های سیسکو محسوب می‌شود. با استفاده از ACL می‌توان:

    • دسترسی کاربران غیرمجاز را مسدود کرد
    • از حملات ساده شبکه‌ای جلوگیری نمود
    • ارتباط بین VLANها را کنترل کرد
    • فقط ترافیک مجاز را به سرورها یا تجهیزات حساس اجازه داد

    اگرچه ACL جایگزین فایروال‌های پیشرفته نیست، اما نقش بسیار مهمی در افزایش سطح امنیت پایه شبکه ایفا می‌کند.

    نحوه پردازش بسته‌ها در ACL

    وقتی یک بسته شبکه به روتر یا سوئیچی که ACL روی آن اعمال شده می‌رسد:

    1. بسته با اولین قانون ACL مقایسه می‌شود
    2. اگر با آن قانون مطابقت داشت، عمل Permit یا Deny روی آن اعمال می‌شود
    3. در صورت عدم تطابق، بسته به قانون بعدی بررسی می‌شود
    4. این روند تا رسیدن به یک تطابق یا پایان ACL ادامه پیدا می‌کند

    اگر هیچ قانونی با بسته مطابقت نداشته باشد، بسته به صورت پیش‌فرض مسدود (Deny) می‌شود.

    منطق بررسی قوانین (Top-Down Processing)

    ACLها از منطق Top-Down Processing استفاده می‌کنند، یعنی:

    • قوانین ACL از بالا به پایین بررسی می‌شوند
    • به محض تطابق یک قانون با بسته، بررسی متوقف می‌شود
    • ترتیب نوشتن قوانین در ACL بسیار مهم است

    به همین دلیل:

    • قوانین خاص‌تر باید قبل از قوانین کلی‌تر نوشته شوند
    • در انتهای هر ACL به صورت ضمنی یک قانون Deny Any وجود دارد که به آن Implicit Deny گفته می‌شود

     

     

    فصل ۲: انواع ACL در سیسکو

    در تجهیزات سیسکو، ACLها بر اساس سطح کنترل، نحوه تعریف و کاربرد به انواع مختلفی تقسیم می‌شوند. شناخت تفاوت این ACLها به شما کمک می‌کند تا در سناریوهای واقعی، بهترین نوع ACL را انتخاب و به‌درستی پیاده‌سازی کنید.

    ACL استاندارد (Standard ACL)

    ACL استاندارد ساده‌ترین نوع ACL در سیسکو است. این نوع ACL فقط بر اساس آدرس IP مبدأ تصمیم‌گیری می‌کند و کاری به مقصد، پروتکل یا پورت ندارد.

    ویژگی‌ها:

    • فیلتر کردن ترافیک فقط با IP مبدأ
    • پیکربندی ساده
    • مناسب برای سناریوهای ابتدایی

    محدودیت:
    به دلیل نداشتن کنترل روی مقصد و پورت، دقت پایینی دارد و معمولاً باید نزدیک به مقصد اعمال شود تا ترافیک ناخواسته مسدود نشود.

    ACL توسعه‌یافته (Extended ACL)

    ACL توسعه‌یافته پیشرفته‌ترین و پرکاربردترین نوع ACL است. این ACL امکان فیلتر کردن ترافیک بر اساس IP مبدأ، IP مقصد، نوع پروتکل و شماره پورت را فراهم می‌کند.

    ویژگی‌ها:

    • کنترل دقیق ترافیک شبکه
    • پشتیبانی از پروتکل‌هایی مانند TCP، UDP، ICMP
    • امکان فیلتر بر اساس پورت (مثل HTTP، FTP، SSH)

    کاربرد:
    Extended ACL معمولاً نزدیک به مبدأ ترافیک قرار می‌گیرد تا از ورود ترافیک غیرمجاز به شبکه جلوگیری شود.

    ACL شماره‌دار (Numbered ACL)

    در ACL شماره‌دار، قوانین با استفاده از شماره ACL تعریف می‌شوند. هر بازه شماره نشان‌دهنده نوع ACL است.

    مثال:

    • Standard ACL: شماره‌های 1 تا 99
    • Extended ACL: شماره‌های 100 تا 199

    ویژگی‌ها:

    • ساختار ساده
    • محدودیت در ویرایش (در نسخه‌های قدیمی IOS)

    در گذشته بسیار رایج بود، اما امروزه بیشتر از Named ACL استفاده می‌شود.

    ACL نام‌گذاری‌شده (Named ACL)

    در Named ACL به جای شماره، از نام دلخواه برای ACL استفاده می‌شود. این نوع ACL می‌تواند هم Standard و هم Extended باشد.

    مزایا:

    • خوانایی و مدیریت بهتر
    • امکان ویرایش و اضافه کردن قوانین بدون حذف کامل ACL
    • مناسب برای شبکه‌های بزرگ و حرفه‌ای

    به همین دلیل، Named ACL گزینه‌ای پیشنهادی در شبکه‌های مدرن سیسکو است.

     

    ACL مبتنی بر زمان (Time-Based ACL)

    Time-Based ACL نوعی ACL است که در بازه‌های زمانی مشخص فعال یا غیرفعال می‌شود.

    کاربردها:

    • محدود کردن دسترسی کاربران در ساعات کاری
    • قطع دسترسی در ساعات غیرمجاز
    • پیاده‌سازی سیاست‌های زمانی امنیتی

    در این نوع ACL ابتدا یک Time Range تعریف شده و سپس در ACL استفاده می‌شود.

     

    ACLدر IPv4 و IPv6

    ACLها هم در شبکه‌های IPv4 و هم IPv6 استفاده می‌شوند، اما تفاوت‌هایی دارند:

    ACL در IPv4:

    • پشتیبانی از Standard و Extended ACL
    • استفاده از Wildcard Mask

    ACL در IPv6:

    • فقط به صورت Named ACL پیاده‌سازی می‌شود
    • ساختار ساده‌تر و بدون Wildcard Mask
    • تمرکز بیشتر روی امنیت

    در شبکه‌های IPv6، استفاده از ACL نقش بسیار مهمی در کنترل و ایمن‌سازی ترافیک دارد.

     

     

     

    فصل ۳: مفاهیم پایه ACL

    برای درک و پیاده‌سازی صحیح ACL در تجهیزات سیسکو، لازم است با مفاهیم پایه و قوانین اصلی آن آشنا شوید. این مفاهیم در تمامی انواع ACL مشترک هستند و پایه طراحی صحیح ACL را تشکیل می‌دهند.

    دستورات Permit و Deny

    در ACLها، هر قانون شامل یکی از دو دستور اصلی است:

    • Permit: اجازه عبور ترافیک
    • Deny: مسدود کردن ترافیک

    هر بسته‌ای که وارد روتر یا سوئیچ می‌شود، با قوانین ACL مقایسه شده و در صورت تطابق، دستور Permit یا Deny روی آن اعمال می‌گردد.

    قانون Deny ضمنی (Implicit Deny)

    در انتهای تمام ACLها، یک قانون مخفی و خودکار به شکل زیر وجود دارد:

    deny any

    این قانون به صورت پیش‌فرض نوشته نمی‌شود اما همیشه وجود دارد.
    به این معنا که اگر هیچ‌یک از قوانین ACL با بسته مطابقت نداشته باشد، آن بسته به طور خودکار مسدود خواهد شد.

    🔴 نکته مهم:
    اگر فقط قوانین Deny بنویسید و هیچ Permit تعریف نکنید، عملاً تمام ترافیک مسدود می‌شود.

    Wildcard Mask چیست؟

    Wildcard Mask یکی از مهم‌ترین مفاهیم در ACL است که مشخص می‌کند کدام بیت‌های آدرس IP باید بررسی شوند و کدام بیت‌ها نادیده گرفته شوند.

    • عدد 0 → این بیت باید دقیقاً بررسی شود
    • عدد 1 → این بیت مهم نیست (Ignore)

    مثال:

    0.0.0.255

    یعنی سه اکتت اول دقیق بررسی شود و اکتت آخر نادیده گرفته شود.

    تفاوت Subnet Mask و Wildcard Mask

    Subnet Mask و Wildcard Mask از نظر ظاهری مشابه هستند اما کاربرد کاملاً متفاوتی دارند.

    Subnet Mask Wildcard Mask
    255.255.255.0 0.0.0.255
    برای تقسیم شبکه برای فیلتر ترافیک
    در IP Addressing در ACL

    🔹 Wildcard Mask معمولاً معکوس Subnet Mask است، اما همیشه باید با دقت محاسبه شود.

    استفاده از کلیدواژه Host

    کلیدواژه Host برای اشاره به یک آدرس IP مشخص استفاده می‌شود و نیاز به نوشتن Wildcard Mask را حذف می‌کند.

    مثال:

    host 192.168.1.10

    این دستور فقط روی همان IP خاص اعمال می‌شود.

    استفاده از کلیدواژه Any

    کلیدواژه Any به معنای همه آدرس‌ها است و معادل Wildcard Mask زیر می‌باشد:

    0.0.0.0 255.255.255.255

    استفاده از Any باعث ساده‌تر شدن و خواناتر شدن ACL می‌شود، مخصوصاً در قوانین کلی.

    اهمیت ترتیب قوانین در ACL

    از آنجایی که ACLها به صورت Top-Down پردازش می‌شوند:

    • ترتیب نوشتن قوانین بسیار مهم است
    • قوانین خاص‌تر باید قبل از قوانین کلی‌تر قرار بگیرند
    • یک قانون اشتباه در ابتدای ACL می‌تواند کل ترافیک را قطع کند

     

     

     

    فصل ۴: پیکربندی ACL استاندارد

    ACL استاندارد یکی از ساده‌ترین انواع ACL در سیسکو است و معمولاً اولین نوع ACL است که در دوره‌های آموزشی سیسکو معرفی می‌شود. با وجود سادگی، استفاده نادرست از آن می‌تواند باعث قطع ترافیک‌های مهم در شبکه شود، بنابراین درک صحیح نحوه پیکربندی آن بسیار مهم است.

    ساختار دستورات Standard ACL

    ACL استاندارد فقط بر اساس آدرس IP مبدأ (Source IP) تصمیم‌گیری می‌کند و هیچ کنترلی روی مقصد، پورت یا پروتکل ندارد.

    ساختار کلی دستور به شکل زیر است:

    access-list <ACL-number> {permit | deny} <source-ip> <wildcard-mask>

    مثال:

    access-list 10 permit 192.168.1.0 0.0.0.255

    در این مثال، به تمام ترافیکی که از شبکه 192.168.1.0/24 می‌آید اجازه عبور داده می‌شود.

    بازه شماره‌های ACL استاندارد

    ACL استاندارد دارای بازه شماره مشخصی است که نوع ACL را تعیین می‌کند:

    • بازه اصلی: 1 تا 99
    • بازه توسعه‌یافته (Extended Range): 1300 تا 1999

    🔹 انتخاب شماره درست اهمیت دارد، زیرا سیسکو بر اساس شماره ACL تشخیص می‌دهد که ACL از چه نوعی است.

    مثال‌های عملی از پیکربندی ACL استاندارد

    سناریو:
    فقط کاربران شبکه 192.168.10.0/24 اجازه دسترسی داشته باشند و بقیه مسدود شوند.

    access-list 1 permit 192.168.10.0 0.0.0.255

    🔴 توجه:
    به دلیل وجود Implicit Deny، تمام ترافیک‌های دیگر به‌صورت خودکار مسدود می‌شوند.

    مثال دیگر (مسدود کردن یک IP خاص):

    access-list 5 deny host 192.168.1.50

    access-list 5 permit any

    در این مثال:

    • یک IP خاص مسدود می‌شود
    • سایر ترافیک‌ها مجاز هستند

    اعمال ACL روی اینترفیس‌ها

    پس از تعریف ACL، باید آن را روی یک اینترفیس اعمال کرد؛ در غیر این صورت، ACL هیچ تأثیری نخواهد داشت.

    ساختار دستور:

    interface GigabitEthernet0/0

     ip access-group <ACL-number> {in | out}

    مثال:

    interface GigabitEthernet0/0

     ip access-group 1 in

    این دستور ACL شماره 1 را روی اینترفیس به صورت ورودی اعمال می‌کند.

    تفاوت Inbound و Outbound

    در زمان اعمال ACL، باید مشخص شود که ACL روی ترافیک ورودی (Inbound) یا خروجی (Outbound) اجرا شود.

    Inbound (in)

    • بررسی ترافیک قبل از ورود به روتر
    • مصرف منابع کمتر
    • رایج‌تر در طراحی ACL

    Outbound (out)

    • بررسی ترافیک قبل از خروج از اینترفیس
    • معمولاً برای کنترل ترافیک خروجی استفاده می‌شود
    حالت زمان بررسی محل بررسی
    Inbound قبل از Routing ورودی اینترفیس
    Outbound بعد از Routing خروجی اینترفیس

    نکات مهم در استفاده از Standard ACL

    • ACL استاندارد را نزدیک به مقصد اعمال کنید
    • همیشه به Implicit Deny توجه داشته باشید
    • ترتیب قوانین بسیار مهم است
    • قبل از اعمال ACL روی شبکه عملیاتی، آن را تست کنید

    اگر دوست دارید، می‌توانم:

    • برای این فصل سناریوهای واقعی با دیاگرام شبکه طراحی کنم
    • یا تمرین‌های عملی مخصوص CCNA آماده کنم

    ### فصل 5: پیکربندی ACL توسعه‌یافته (Extended ACL) * ساختار دستورات Extended ACL * فیلتر بر اساس IP مبدأ و مقصد * فیلتر بر اساس پروتکل‌ها (IP, TCP, UDP, ICMP) * فیلتر بر اساس پورت‌ها * مثال‌های عملی Extended ACL

    برای این قسمت توضیح بنویسید Please write in Persian language.

    در این بخش، توضیح کامل و عملی برای فصل ۵: پیکربندی ACL توسعه‌یافته (Extended ACL) ارائه می‌شود:

    فصل ۵: پیکربندی ACL توسعه‌یافته (Extended ACL)

    ACL توسعه‌یافته یا Extended ACL پیشرفته‌ترین و پرکاربردترین نوع ACL در سیسکو است. این نوع ACL امکان کنترل دقیق ترافیک شبکه را فراهم می‌کند و در سناریوهای امنیتی واقعی، نقش بسیار مهمی دارد. برخلاف ACL استاندارد، Extended ACL می‌تواند بر اساس چندین معیار تصمیم‌گیری کند.

    ساختار دستورات Extended ACL

    Extended ACL قادر است ترافیک را بر اساس موارد زیر فیلتر کند:

    • آدرس IP مبدأ
    • آدرس IP مقصد
    • نوع پروتکل
    • شماره پورت

    ساختار کلی دستور به شکل زیر است:

    access-list <ACL-number> {permit | deny} <protocol> <source> <source-wildcard> <destination> <destination-wildcard> [operator port]

    مثال:

    access-list 100 permit tcp 192.168.1.0 0.0.0.255 any eq 80

    این دستور اجازه می‌دهد کاربران شبکه 192.168.1.0/24 فقط به سرویس HTTP دسترسی داشته باشند.

    فیلتر بر اساس IP مبدأ و مقصد

    در Extended ACL می‌توان هم IP مبدأ و هم IP مقصد را به‌صورت همزمان مشخص کرد. این قابلیت باعث افزایش دقت ACL می‌شود.

    مثال:

    access-list 101 deny ip 192.168.10.0 0.0.0.255 192.168.20.0 0.0.0.255

    در این مثال، ارتباط بین دو شبکه مشخص به‌طور کامل مسدود شده است.

    فیلتر بر اساس پروتکل‌ها (IP, TCP, UDP, ICMP)

    Extended ACL از پروتکل‌های مختلف پشتیبانی می‌کند:

    • IP: شامل تمام پروتکل‌ها
    • TCP: برای سرویس‌هایی مانند HTTP، HTTPS، FTP، SSH
    • UDP: برای DNS، VoIP و برخی سرویس‌های خاص
    • ICMP: برای Ping و پیام‌های کنترلی

    مثال (مسدود کردن Ping):

    access-list 110 deny icmp any any echo

    access-list 110 permit ip any any

    در این مثال، Ping مسدود شده اما سایر ترافیک‌ها مجاز هستند.

    فیلتر بر اساس پورت‌ها

    یکی از مهم‌ترین قابلیت‌های Extended ACL، کنترل بر اساس شماره پورت است. این امکان فقط برای پروتکل‌های TCP و UDP وجود دارد.

    اپراتورهای رایج پورت:

    • eq : برابر
    • gt : بزرگ‌تر از
    • lt : کوچک‌تر از
    • range : بازه‌ای از پورت‌ها

    مثال (اجازه فقط SSH):

    access-list 120 permit tcp any host 192.168.1.10 eq 22

    access-list 120 deny ip any any

    در این سناریو، فقط اتصال SSH به سرور مجاز است.

    مثال‌های عملی Extended ACL

    مثال ۱: اجازه دسترسی وب و مسدود کردن سایر ترافیک‌ها

    access-list 130 permit tcp 192.168.1.0 0.0.0.255 any eq 80

    access-list 130 permit tcp 192.168.1.0 0.0.0.255 any eq 443

    access-list 130 deny ip any any

    مثال ۲: مسدود کردن دسترسی یک شبکه به سرور خاص

    access-list 140 deny ip 192.168.5.0 0.0.0.255 host 192.168.1.100

    access-list 140 permit ip any any

    محل مناسب قرارگیری Extended ACL

    برخلاف ACL استاندارد، Extended ACL باید نزدیک به مبدأ ترافیک اعمال شود تا:

    • از ورود ترافیک غیرمجاز به شبکه جلوگیری شود
    • منابع شبکه بهینه مصرف شوند

    نکات مهم در Extended ACL

    • قوانین خاص‌تر را قبل از قوانین کلی بنویسید
    • همیشه وجود Implicit Deny را در نظر بگیرید
    • قبل از اعمال ACL روی شبکه عملیاتی، آن را تست کنید
    • استفاده از Named ACL برای مدیریت بهتر توصیه می‌شود

     

    مهم‌ترین پروتکل‌ها در ACL و کاربرد آن‌ها

    1. IP

    کاربرد در ACL: کنترل کلی تمام ترافیک

    • پروتکل ip شامل تمام پروتکل‌های لایه شبکه و بالاتر است.
    • زمانی استفاده می‌شود که بخواهیم همه نوع ترافیک را مجاز یا مسدود کنیم.

    مثال در ACL:

    access-list 100 permit ip any any

    1. TCP

    کاربرد در ACL: کنترل سرویس‌های مبتنی بر اتصال (Connection-Oriented)

    TCP برای سرویس‌هایی استفاده می‌شود که به اتصال پایدار نیاز دارند.

    سرویس‌های رایج:

    • HTTP (پورت 80)
    • HTTPS (پورت 443)
    • FTP (پورت 21)
    • SSH (پورت 22)
    • Telnet (پورت 23)
    • SMTP (پورت 25)

    مثال در ACL:

    access-list 101 permit tcp any any eq 80

    1. UDP

    کاربرد در ACL: کنترل سرویس‌های بدون اتصال (Connectionless)

    UDP معمولاً برای سرویس‌هایی با سرعت بالا یا بدون نیاز به اتصال پایدار استفاده می‌شود.

    سرویس‌های رایج:

    • DNS (پورت 53)
    • DHCP (پورت‌های 67 و 68)
    • SNMP (پورت 161)
    • TFTP (پورت 69)
    • VoIP

    مثال در ACL:

    access-list 102 permit udp any any eq 53

    1. ICMP

    کاربرد در ACL: کنترل پیام‌های کنترلی شبکه

    ICMP برای تست اتصال، عیب‌یابی و ارسال پیام‌های خطا استفاده می‌شود.

    کاربردهای مهم ICMP در ACL:

    • کنترل Ping (echo / echo-reply)
    • جلوگیری از شناسایی شبکه
    • اجازه عیب‌یابی محدود

    مثال در ACL (مسدود کردن Ping):

    access-list 103 deny icmp any any echo

    access-list 103 permit ip any any

    1. HTTP

    کاربرد در ACL: کنترل دسترسی وب (غیرامن)

    • مبتنی بر TCP
    • پورت پیش‌فرض: 80

    مثال در ACL:

    access-list 104 permit tcp any any eq 80

    1. HTTPS

    کاربرد در ACL: کنترل دسترسی وب امن

    • مبتنی بر TCP
    • پورت پیش‌فرض: 443

    مثال در ACL:

    access-list 105 permit tcp any any eq 443

    1. FTP

    کاربرد در ACL: کنترل انتقال فایل

    FTP دارای دو کانال کنترل و دیتا است و نیاز به دقت در ACL دارد.

    • Control: TCP پورت 21
    • Data: TCP پورت 20 (Active Mode)

    مثال در ACL:

    access-list 106 permit tcp any any eq 21

    access-list 106 permit tcp any any eq 20

    1. SSH

    کاربرد در ACL: مدیریت امن تجهیزات شبکه

    • مبتنی بر TCP
    • پورت پیش‌فرض: 22

    مثال در ACL (مدیریت امن روتر):

    access-list 107 permit tcp host 192.168.1.10 any eq 22

    1. Telnet

    کاربرد در ACL: مدیریت غیرامن (غیرپیشنهادی)

    • مبتنی بر TCP
    • پورت پیش‌فرض: 23

    🔴 توصیه: در شبکه‌های امن، Telnet معمولاً مسدود می‌شود.

    مثال در ACL:

    access-list 108 deny tcp any any eq 23

    1. DNS

    کاربرد در ACL: کنترل تبدیل نام به IP

    • مبتنی بر UDP و TCP
    • پورت 53

    مثال در ACL:

    access-list 109 permit udp any any eq 53

    access-list 109 permit tcp any any eq 53

    1. DHCP

    کاربرد در ACL: اجازه تخصیص خودکار IP

    • UDP
    • سرور: پورت 67
    • کلاینت: پورت 68

    مثال در ACL:

    access-list 110 permit udp any eq 68 any eq 67

    access-list 110 permit udp any eq 67 any eq 68

    1. SNMP

    کاربرد در ACL: مدیریت و مانیتورینگ شبکه

    • UDP پورت 161 (Query)
    • UDP پورت 162 (Trap)

    مثال در ACL:

    access-list 111 permit udp host 192.168.1.50 any eq 161

    نکات مهم در استفاده از پروتکل‌ها در ACL

    • همیشه سرویس‌های ضروری را Permit کنید
    • دسترسی مدیریتی را به IPهای مشخص محدود کنید
    • ICMP را کاملاً مسدود نکنید؛ فقط محدود کنید
    • به Implicit Deny در انتهای ACL توجه داشته باشید

     

     

    1. RDP (Remote Desktop Protocol)

    کاربرد در ACL: کنترل دسترسی ریموت به سرورهای ویندوز

    RDP برای اتصال ریموت به سیستم‌های ویندوز (سرورها و کلاینت‌ها) استفاده می‌شود و یکی از حساس‌ترین سرویس‌ها از نظر امنیتی محسوب می‌گردد. به همین دلیل، در ACL باید با دقت بالا و فقط برای IPهای مجاز باز شود.

    مشخصات فنی:

    • پروتکل: TCP (و در نسخه‌های جدید UDP نیز استفاده می‌شود)
    • پورت پیش‌فرض: 3389

    مثال‌های کاربردی RDP در ACL

    مثال ۱: اجازه دسترسی RDP فقط از یک IP مشخص به سرور

    access-list 112 permit tcp host 192.168.1.10 host 192.168.1.100 eq 3389

    access-list 112 deny ip any any

    در این مثال:

    • فقط سیستم 192.168.1.10 اجازه اتصال RDP به سرور 192.168.1.100 را دارد
    • سایر ترافیک‌ها مسدود می‌شوند

    مثال ۲: اجازه دسترسی RDP فقط از یک شبکه مشخص

    access-list 113 permit tcp 192.168.10.0 0.0.0.255 host 192.168.1.100 eq 3389

    access-list 113 deny ip any any

    مثال ۳: مسدود کردن کامل RDP

    access-list 114 deny tcp any any eq 3389

    access-list 114 permit ip any any

    نکات امنیتی مهم برای RDP در ACL

    • هرگز RDP را به صورت any any باز نکنید
    • دسترسی RDP را فقط به IP یا شبکه‌های مشخص محدود کنید
    • در صورت امکان، پورت پیش‌فرض RDP را تغییر دهید
    • استفاده از VPN قبل از RDP به شدت توصیه می‌شود
    • لاگ و مانیتورینگ ترافیک RDP را فعال نگه دارید

     

    فصل ۶: Named ACL

    Named ACL نوعی از Access Control List در سیسکو است که به‌جای استفاده از شماره، از نام دلخواه و قابل‌فهم برای تعریف ACL استفاده می‌کند. این نوع ACL برای شبکه‌های متوسط و بزرگ بسیار مناسب است و مدیریت و عیب‌یابی ACL را ساده‌تر می‌کند.

    تفاوت Named ACL با Numbered ACL

    تفاوت اصلی Named ACL و Numbered ACL در نحوه شناسایی و مدیریت آن‌هاست.

    Numbered ACL:

    • شناسایی ACL با شماره (مثلاً 10 یا 100)
    • خوانایی کمتر
    • ویرایش سخت‌تر (به‌خصوص در IOSهای قدیمی)
    • مناسب برای سناریوهای ساده

    Named ACL:

    • شناسایی ACL با نام دلخواه (مثلاً BLOCK-RDP یا WEB-ACCESS)
    • خوانایی و مدیریت بسیار بهتر
    • امکان ویرایش و اضافه کردن قوانین بدون حذف ACL
    • مناسب برای شبکه‌های حرفه‌ای و سازمانی

    به همین دلیل، در طراحی‌های جدید سیسکو، استفاده از Named ACL توصیه می‌شود.

    ایجاد Named ACL

    برای ایجاد Named ACL، ابتدا وارد حالت پیکربندی ACL می‌شویم. Named ACL می‌تواند Standard یا Extended باشد.

    ایجاد Named Standard ACL:

    ip access-list standard ALLOW-USERS

     permit 192.168.1.0 0.0.0.255

     deny any

    ایجاد Named Extended ACL:

    ip access-list extended WEB-ACCESS

     permit tcp 192.168.1.0 0.0.0.255 any eq 80

     permit tcp 192.168.1.0 0.0.0.255 any eq 443

     deny ip any any

    در این حالت، نام ACL به‌وضوح نشان می‌دهد که هدف آن چیست.

    ویرایش Named ACL

    یکی از مهم‌ترین مزایای Named ACL، قابلیت ویرایش آسان آن است.

    • می‌توان قوانین جدید اضافه کرد
    • می‌توان قوانین موجود را حذف یا اصلاح کرد
    • نیازی به حذف کامل ACL نیست

    مثال (حذف یک قانون):

    ip access-list extended WEB-ACCESS

    no permit tcp 192.168.1.0 0.0.0.255 any eq 80

    مثال (اضافه کردن قانون جدید):

    ip access-list extended WEB-ACCESS

    permit tcp host 192.168.1.50 any eq 22

    مثال‌های عملی Named ACL

    مثال ۱: محدود کردن دسترسی مدیریتی با SSH

    ip access-list extended SSH-MANAGEMENT

    permit tcp host 192.168.1.10 any eq 22

    deny ip any any

    مثال ۲: مسدود کردن RDP به سرور

    ip access-list extended BLOCK-RDP

    deny tcp any host 192.168.1.100 eq 3389

    permit ip any any

    سپس ACL روی اینترفیس اعمال می‌شود:

    interface GigabitEthernet0/1

    ip access-group BLOCK-RDP in

    مزایا و معایب Named ACL

    مزایا:

    • خوانایی بسیار بالا
    • مدیریت و عیب‌یابی آسان
    • مناسب برای مستندسازی شبکه
    • امکان ویرایش بدون اختلال گسترده
    • ایده‌آل برای شبکه‌های Enterprise

    معایب:

    • نسبت به Numbered ACL کمی طولانی‌تر نوشته می‌شود
    • نیاز به دقت در انتخاب نام‌های استاندارد و معنادار

    نکات مهم در استفاده از Named ACL

    • از نام‌های واضح و هدفمند استفاده کنید
    • نام ACL را مطابق سیاست‌های امنیتی سازمان انتخاب کنید
    • همیشه وجود Implicit Deny را در نظر بگیرید
    • Named ACL را ترجیحاً به‌جای Numbered ACL استفاده کنید

     

     

     

    فصل ۷: محل صحیح قرارگیری ACL

    یکی از مهم‌ترین مسائل در طراحی و پیاده‌سازی ACL در شبکه‌های سیسکو، محل قرارگیری ACL روی اینترفیس‌ها است. انتخاب محل مناسب باعث می‌شود ترافیک غیرمجاز به موقع مسدود شود، مصرف منابع کاهش یابد و شبکه امن‌تر عمل کند.

    قانون نزدیک‌ترین مکان به مبدأ یا مقصد

    محل اعمال ACL به نوع آن بستگی دارد:

    1. Standard ACL
      • Standard ACL فقط بر اساس IP مبدأ فیلتر می‌کند.
      • بهترین محل: نزدیک به مقصد ترافیک، زیرا اگر آن را نزدیک به مبدأ اعمال کنید، ممکن است ترافیک قانونی سایر شبکه‌ها مسدود شود.

    مثال:
    اگر بخواهیم دسترسی شبکه 192.168.10.0/24 به یک سرور خاص مسدود شود، ACL را روی اینترفیس نزدیک به سرور اعمال می‌کنیم.

    1. Extended ACL
      • Extended ACL می‌تواند بر اساس IP مبدأ، IP مقصد، پروتکل و پورت تصمیم‌گیری کند.
      • بهترین محل: نزدیک به مبدأ ترافیک، زیرا می‌توان ترافیک غیرمجاز را قبل از عبور از شبکه مسدود کرد و منابع شبکه را بهینه استفاده نمود.

    مثال:
    اگر بخواهیم دسترسی کاربران یک VLAN به سرویس HTTP مسدود شود، ACL را روی اینترفیس ورودی VLAN اعمال می‌کنیم.

    Best Practice در طراحی ACL

    1. نام‌گذاری مناسب:
      • در Named ACL، از نام‌های واضح و معنادار استفاده کنید تا مدیریت و عیب‌یابی ساده شود.
    2. تست قبل از اعمال:
      • قبل از اعمال ACL روی شبکه عملیاتی، آن را در محیط آزمایشی تست کنید.
    3. استفاده از قوانین خاص قبل از قوانین کلی:
      • قوانین دقیق و خاص باید در بالای ACL قرار گیرند و قوانین کلی‌تر در انتها.
    4. محدود کردن دسترسی مدیریتی:
      • سرویس‌های حساس مانند SSH، RDP یا Telnet را فقط برای IPهای مشخص باز کنید.
    5. توجه به Implicit Deny:
      • به‌خاطر داشته باشید که در انتهای ACL، همه ترافیک‌هایی که با هیچ قانونی مطابقت ندارند، به صورت خودکار مسدود می‌شوند.

    اشتباهات رایج در اعمال ACL

    1. اعمال Standard ACL نزدیک به مبدأ:
      • باعث مسدود شدن ترافیک قانونی از سایر شبکه‌ها می‌شود.
    2. ترتیب نادرست قوانین:
      • قرار دادن قوانین کلی قبل از قوانین خاص، باعث می‌شود قوانین خاص اعمال نشوند.
    3. عدم در نظر گرفتن Implicit Deny:
      • ممکن است ترافیک مهم به‌طور ناخواسته مسدود شود.
    4. اعمال ACL روی اینترفیس اشتباه:
      • اعمال ACL روی اینترفیس خروجی یا ورودی اشتباه باعث کار نکردن آن می‌شود.
    5. عدم تست ACL قبل از پیاده‌سازی:
      • بدون تست، ممکن است مشکلات عملکردی یا قطعی سرویس‌ها ایجاد شود.

     

     

    فصل ۸: ACL مبتنی بر زمان (Time-Based ACL)

    Time-Based ACL یا ACL زمان‌بندی‌شده، نوعی ACL پیشرفته است که به مدیر شبکه اجازه می‌دهد دسترسی به شبکه را در بازه‌های زمانی مشخص فعال یا غیرفعال کند. این قابلیت برای سناریوهایی که می‌خواهیم دسترسی کاربران یا سرویس‌ها محدود به ساعات خاص باشد، بسیار کاربردی است.

    معرفی Time-Based ACL

    • Time-Based ACL یک Extended ACL یا Standard ACL است که به آن یک Time Range اختصاص داده می‌شود.
    • می‌توان دسترسی را در ساعت یا روزهای مشخص فعال یا مسدود کرد.
    • کاربردها:
      • محدود کردن دسترسی کاربران در ساعات کاری
      • قطع دسترسی اینترنت یا سرویس‌ها در ساعات غیرمجاز
      • اعمال سیاست‌های امنیتی زمانی در شبکه

    ایجاد Time Range

    ابتدا باید بازه زمانی مورد نظر را تعریف کنیم. دستور ساخت Time Range به شکل زیر است:

    time-range <NAME>

     periodic <days> <start-time> <end-time>

    پارامترها:

    • NAME : نام دلخواه برای Time Range
    • days : روزهای هفته (مثلاً mon, tue, wed)
    • start-time : ساعت شروع (HH:MM)
    • end-time : ساعت پایان (HH:MM)

    مثال:
    اجازه دسترسی در ساعات کاری از ۸ صبح تا ۵ بعدازظهر در روزهای دوشنبه تا جمعه:

    time-range WORK-HOURS

     periodic mon fri 08:00 to 17:00

    اعمال ACL زمان‌بندی‌شده

    بعد از تعریف Time Range، می‌توان آن را به ACL نسبت داد.

    ساخت ACL و نسبت دادن Time Range:

    ip access-list extended INTERNET-ACCESS

     permit tcp 192.168.1.0 0.0.0.255 any eq 80 time-range WORK-HOURS

     deny ip any any

    در این مثال:

    • کاربران شبکه 192.168.1.0/24 فقط در ساعات کاری اجازه دسترسی به HTTP دارند
    • سایر زمان‌ها یا ترافیک‌های غیرمجاز مسدود می‌شوند

    مثال‌های عملی

    مثال ۱: محدود کردن دسترسی SSH در ساعات غیرکاری

    time-range SSH-TIME

     periodic mon fri 09:00 to 18:00

     

    ip access-list extended SSH-ACCESS

     permit tcp any any eq 22 time-range SSH-TIME

     deny ip any any

    در این سناریو، اتصال SSH فقط در ساعات کاری مجاز است.

    مثال ۲: قطع دسترسی اینترنت در شب

    time-range NO-INTERNET

     periodic mon sun 20:00 to 06:00

     

    ip access-list extended BLOCK-INTERNET

     deny tcp 192.168.10.0 0.0.0.255 any eq 80 time-range NO-INTERNET

     deny tcp 192.168.10.0 0.0.0.255 any eq 443 time-range NO-INTERNET

     permit ip any any

    • دسترسی HTTP و HTTPS شبکه داخلی از ساعت ۸ شب تا ۶ صبح مسدود می‌شود.
    • سایر ترافیک‌ها مجاز هستند.

    نکات مهم در Time-Based ACL

    • Time Range را با نام‌های واضح و مرتبط ایجاد کنید.
    • همیشه زمان و روزهای هفته را دقیق مشخص کنید.
    • Time-Based ACL معمولاً روی Extended ACL اعمال می‌شود.
    • برای سناریوهای مدیریتی و حساس، استفاده از Time-Based ACL باعث افزایش امنیت می‌شود.
    • قبل از پیاده‌سازی، ACL را در محیط آزمایشی تست کنید.

     

     

    فصل ۹: عیب‌یابی و بررسی ACL

    بعد از پیاده‌سازی ACL، یکی از مهم‌ترین مراحل، بررسی عملکرد صحیح آن و رفع مشکلات احتمالی است. عیب‌یابی ACL باعث می‌شود دسترسی‌های مجاز قطع نشوند و ترافیک غیرمجاز به شبکه وارد نشود.

    مشاهده ACLهای فعال

    برای بررسی ACLهای تعریف شده و فعال در روتر یا سوئیچ، می‌توان از دستور show access-lists یا show ip access-lists استفاده کرد:

    show access-lists

    یا

    show ip access-lists

    مواردی که مشاهده می‌کنیم:

    • نام یا شماره ACL
    • نوع ACL (Standard یا Extended)
    • قوانین Permit و Deny
    • شمارنده Hit Count هر قانون

    این اطلاعات کمک می‌کند تا ببینیم کدام قوانین فعال و کدام قوانین اصلاً مورد استفاده قرار نگرفته‌اند.

    بررسی شمارش Hit Count

    هر قانون ACL دارای Hit Count است که نشان می‌دهد چند بار یک قانون با ترافیک مطابقت داشته است.

    اهمیت Hit Count:

    • بررسی می‌کند آیا ACL روی ترافیک هدف اعمال شده یا خیر
    • کمک می‌کند قوانین بلااستفاده یا اضافی را شناسایی کنیم
    • برای عیب‌یابی مشکلات دسترسی مفید است

    مثال مشاهده Hit Count:

    Router# show access-lists

    Extended IP access list 101

     10 permit tcp 192.168.1.0 0.0.0.255 any eq 80 (hit count 15)

     20 deny ip any any (hit count 5)

    دستورات Show و Debug مرتبط با ACL

    برای عیب‌یابی پیشرفته می‌توان از دستورهای زیر استفاده کرد:

    1. show running-config
      • نمایش ACLهای اعمال شده روی اینترفیس‌ها
    2. show ip interface
      • بررسی اینکه ACL روی کدام اینترفیس و به چه صورت (in/out) اعمال شده است
    3. debug ip packet
      • نمایش زنده تطابق بسته‌ها با قوانین ACL
      • ⚠️ باید با احتیاط استفاده شود زیرا حجم زیادی از اطلاعات تولید می‌کند

    مثال:

    debug ip packet detail

    این دستور نشان می‌دهد که بسته‌ها توسط کدام قانون ACL Permit یا Deny شده‌اند.

    رفع خطاهای رایج ACL

    1. عدم دسترسی غیرمجاز به دلیل Implicit Deny
      • مشکل: ترافیک قانونی مسدود شده
      • راه حل: مطمئن شوید قوانین Permit قبل از هر قانون Deny قرار گرفته‌اند.
    2. اعمال ACL روی اینترفیس اشتباه
      • مشکل: ACL هیچ تاثیری ندارد یا ترافیک قطع می‌شود
      • راه حل: بررسی کنید ACL روی اینترفیس درست و به صورت in/out اعمال شده باشد.
    3. ترتیب نادرست قوانین
      • مشکل: قوانین خاص قبل از قوانین کلی اعمال نشده‌اند
      • راه حل: قوانین خاص‌تر را بالای ACL قرار دهید و قوانین عمومی در انتها.
    4. Wildcard Mask اشتباه
      • مشکل: مسدود یا مجاز شدن IPهای اشتباه
      • راه حل: Wildcard Mask را دوباره بررسی کنید.
    5. فراموش کردن Time Range در Time-Based ACL
      • مشکل: ACL در زمان غیرمجاز فعال یا غیرفعال شده
      • راه حل: بررسی و اصلاح Time Range و مطابقت آن با سیاست شبکه

    نکات مهم در عیب‌یابی ACL

    • همیشه قبل از اعمال ACL، آن را در محیط آزمایشی تست کنید
    • برای عیب‌یابی، ابتدا Hit Count و سپس Show Commands را بررسی کنید
    • Debug را فقط در مواقع ضروری و در محیط آزمایشی یا شبکه کنترل‌شده استفاده کنید
    • مستندسازی ACL و قوانین آن، فرآیند عیب‌یابی را سریع‌تر می‌کند

     

     

     

    فصل ۱۰: سناریوهای عملی و واقعی آموزش acl در سیسکو

    یکی از مهم‌ترین مراحل آموزش ACL، پیاده‌سازی سناریوهای واقعی شبکه است. این فصل به شما کمک می‌کند تا قوانین ACL را در شرایط عملی شبکه‌های سازمانی و پروژه‌های واقعی به‌کار بگیرید و با چالش‌های عملی مواجه شوید.

    ۱. سناریوهای امنیتی در شبکه‌های واقعی

    ACL یکی از ابزارهای کلیدی برای افزایش امنیت شبکه است. سناریوهای رایج شامل:

    • مسدود کردن دسترسی غیرمجاز به سرورها: فقط کاربران مشخص اجازه اتصال به سرورهای حیاتی را دارند.
    • محدود کردن دسترسی سرویس‌های حساس: مانند RDP، SSH و Telnet برای IPهای مجاز.
    • کنترل ترافیک اینترنت داخلی: جلوگیری از دسترسی به سایت‌ها یا سرویس‌های ناخواسته.

    مثال عملی:
    یک سرور مدیریت در شبکه داخلی وجود دارد که فقط باید از VLAN مدیریت قابل دسترسی باشد:

    ip access-list extended MGMT-ONLY

    permit tcp 192.168.10.0 0.0.0.255 host 192.168.1.100 eq 22

    deny ip any host 192.168.1.100

    ۲. محدودسازی دسترسی کاربران

    با استفاده از ACL می‌توان دسترسی کاربران به منابع مختلف شبکه را محدود کرد:

    • تنها گروه خاصی از کاربران اجازه دسترسی به یک شبکه یا سرور داشته باشند.
    • جلوگیری از دسترسی کاربران به سرویس‌های غیرمجاز.
    • اعمال ACL استاندارد برای کنترل IP مبدأ کاربران و Extended ACL برای کنترل سرویس‌ها و پورت‌ها.

    مثال عملی:
    محدود کردن دسترسی کاربران یک VLAN به اینترنت و فقط اجازه استفاده از HTTP و HTTPS:

    ip access-list extended VLAN10-WEB

    permit tcp 192.168.10.0 0.0.0.255 any eq 80

    permit tcp 192.168.10.0 0.0.0.255 any eq 443

    deny ip 192.168.10.0 0.0.0.255 any

    ۳. کنترل ترافیک بین VLANها

    در شبکه‌های سازمانی، معمولاً VLANهای مختلف وجود دارند که نیاز به تفکیک و کنترل دسترسی بین آن‌ها دارند:

    • اعمال ACL روی روتر یا Layer 3 Switch برای مسدود کردن یا محدود کردن ارتباط بین VLANها.
    • جلوگیری از انتقال ترافیک غیرمجاز بین بخش‌های شبکه.

    مثال عملی:
    VLAN کاربران نباید به VLAN سرور دسترسی داشته باشد، اما به VLAN اینترنت دسترسی مجاز است:

    ip access-list extended VLAN-USER-SEC

    deny ip 192.168.20.0 0.0.0.255 192.168.30.0 0.0.0.255

    permit ip 192.168.20.0 0.0.0.255 any

    ۴. مثال‌های عملی از پروژه‌های واقعی

    • سناریو ۱: فقط تیم IT اجازه دسترسی SSH به سرورهای مرکزی را دارد، بقیه کاربران مسدود هستند.
    • سناریو ۲: کنترل اینترنت کارکنان در ساعات کاری با Time-Based ACL.
    • سناریو ۳: ایجاد DMZ برای سرورها و مسدود کردن دسترسی مستقیم کاربران داخلی به سرورها.
    • سناریو ۴: محدود کردن دسترسی RDP به سرور مدیریتی فقط از IPهای خاص و مسدود کردن همه IPهای دیگر.

     

     

     

     

    فصل ۱۱: آموزش acl در سیسکو در شبکه‌های پیشرفته 

    در شبکه‌های بزرگ و سازمانی (Enterprise)، ACL فقط برای فیلتر ساده ترافیک استفاده نمی‌شود، بلکه نقش بسیار مهمی در طراحی امنیت، کنترل دسترسی، بهینه‌سازی ترافیک و یکپارچگی با سایر سرویس‌های شبکه دارد. در این فصل با کاربرد ACL در سناریوهای پیشرفته آشنا می‌شویم.

    ACL در Router و Switch لایه ۳

    در شبکه‌های مدرن، علاوه بر روترها، سوئیچ‌های لایه ۳ (Multilayer Switch) نیز قابلیت اعمال ACL را دارند.

    ACL روی Router

    • کنترل ترافیک بین شبکه‌های مختلف
    • فیلتر کردن ترافیک WAN و اینترنت
    • اعمال سیاست‌های امنیتی بین سایت‌ها

    کاربرد رایج:

    • محدود کردن دسترسی کاربران به سرورها
    • کنترل ترافیک ورودی و خروجی اینترنت

    ACL روی Switch لایه ۳

    • کنترل ترافیک بین VLANها (Inter-VLAN Routing)
    • افزایش امنیت در شبکه‌های داخلی
    • کاهش بار روی روترهای مرکزی

    مزیت اصلی:
    اعمال ACL روی Switch لایه ۳ باعث می‌شود ترافیک غیرمجاز در همان لایه توزیع (Distribution یا Access) مسدود شود و به هسته شبکه نرسد.

    ACL در ارتباط با NAT

    ACL نقش بسیار مهمی در NAT (Network Address Translation) ایفا می‌کند.

    کاربردهای ACL در NAT:

    1. مشخص کردن ترافیک مجاز برای NAT
      • تعیین اینکه کدام IPها یا شبکه‌ها NAT شوند
    2. کنترل دسترسی قبل یا بعد از NAT
      • فیلتر کردن ترافیک داخلی یا خارجی

    مثال کاربردی:
    ACL برای مشخص کردن شبکه‌هایی که اجازه NAT دارند:

    access-list 10 permit 192.168.1.0 0.0.0.255

    🔹 نکته مهم:
    ACL مورد استفاده در NAT معمولاً فقط برای Match کردن ترافیک است و عمل Permit/Deny آن نقش امنیتی مستقیم ندارد، بلکه تعیین می‌کند چه ترافیکی ترجمه شود.

    ACL و VPN

    در سناریوهای VPN، ACL نقش کلیدی در تعریف ترافیک مجاز برای تونل VPN دارد.

    کاربرد ACL در VPN:

    • تعیین ترافیک جالب (Interesting Traffic)
    • مشخص کردن شبکه‌های مجاز برای عبور از تونل
    • افزایش امنیت ارتباط بین سایت‌ها

    مثال در Site-to-Site VPN:
    ACL مشخص می‌کند کدام شبکه داخلی با کدام شبکه مقصد تونل شود.

    نکته مهم:
    ACL در VPN معمولاً:

    • Extended ACL است
    • باید کاملاً دقیق و بدون any اضافی نوشته شود
    • ترتیب و Wildcard Mask آن بسیار حساس است

    ACL در شبکه‌های Enterprise

    در شبکه‌های Enterprise، ACL بخشی از سیاست‌های امنیتی کلان سازمان است.

    کاربردهای ACL در شبکه‌های سازمانی:

    • جداسازی بخش‌های مختلف سازمان (HR، Finance، IT)
    • کنترل دسترسی کاربران به سرورها
    • محدود کردن دسترسی مدیریتی
    • افزایش امنیت در DMZ
    • همکاری با Firewall، IDS/IPS و NAC

    Best Practice در Enterprise:

    • استفاده از Named ACL
    • مستندسازی کامل تمام ACLها
    • استفاده از ACL در کنار Firewall (نه به‌جای آن)
    • حداقل‌سازی دسترسی (Principle of Least Privilege)
    • بررسی دوره‌ای Hit Count و بهینه‌سازی قوانین

     

     

    فصل ۱۲: جمع‌بندی و نکات حرفه‌ای

    در این فصل، تمامی مفاهیم مطرح‌شده درباره ACL مرور می‌شوند و نکات کلیدی و حرفه‌ای که در طراحی، پیاده‌سازی و آزمون‌های سیسکو اهمیت دارند، به‌صورت خلاصه و کاربردی بیان می‌گردند. این فصل به شما کمک می‌کند دیدی ساخت‌یافته و مهندسی‌شده نسبت به ACL داشته باشید.

    خلاصه مفاهیم کلیدی

    • ACL ابزاری برای کنترل و فیلتر ترافیک شبکه است که بر اساس IP، پروتکل و پورت تصمیم‌گیری می‌کند.
    • ACLها به دو نوع اصلی Standard و Extended تقسیم می‌شوند.
    • Standard ACL فقط IP مبدأ را بررسی می‌کند، اما Extended ACL کنترل کامل‌تری دارد.
    • Named ACL به‌دلیل خوانایی و قابلیت ویرایش، گزینه‌ی پیشنهادی در شبکه‌های مدرن است.
    • ACLها به‌صورت Top-Down پردازش می‌شوند و اولین قانون منطبق، اجرا می‌شود.
    • در انتهای تمام ACLها، قانون Implicit Deny وجود دارد.
    • محل صحیح قرارگیری ACL نقش بسیار مهمی در عملکرد و امنیت شبکه دارد.
    • ACL می‌تواند با NAT، VPN، VLAN، Time-Based Access و سناریوهای Enterprise ترکیب شود.

    نکات مهم برای آزمون‌های سیسکو (CCNA / CCNP)

    برای موفقیت در آزمون‌های سیسکو، توجه به نکات زیر بسیار مهم است:

    • تشخیص صحیح Standard یا Extended ACL بر اساس سناریو
    • محاسبه درست Wildcard Mask
    • تشخیص محل مناسب اعمال ACL (in یا out)
    • درک کامل مفهوم Implicit Deny
    • توانایی خواندن و تحلیل ACL موجود
    • تشخیص تأثیر ترتیب قوانین روی ترافیک
    • شناخت پروتکل‌ها و پورت‌های پرکاربرد (HTTP, HTTPS, SSH, RDP, DNS و …)

    🔹 در آزمون‌ها معمولاً از شما خواسته می‌شود:

    • خروجی ACL را تحلیل کنید
    • تشخیص دهید کدام ترافیک Permit یا Deny می‌شود
    • خطای پیکربندی ACL را شناسایی کنید

    توصیه‌های حرفه‌ای برای طراحی ACL

    • همیشه از حداقل دسترسی لازم (Least Privilege) استفاده کنید.
    • سرویس‌های حساس مانند SSH و RDP را فقط برای IPهای مشخص باز کنید.
    • از Named ACL با نام‌های معنادار استفاده کنید.
    • ACL را مرحله‌به‌مرحله و با دقت پیاده‌سازی کنید.
    • قبل از اعمال ACL روی شبکه عملیاتی، آن را تست کنید.
    • ACLهای قدیمی و بدون استفاده را شناسایی و حذف کنید.
    • برای شبکه‌های بزرگ، ACLها را مستندسازی کنید.

    بهترین روش‌ها (Best Practices)

    • Extended ACL را نزدیک به مبدأ ترافیک اعمال کنید.
    • Standard ACL را نزدیک به مقصد ترافیک قرار دهید.
    • قوانین خاص‌تر را قبل از قوانین کلی‌تر بنویسید.
    • از Wildcard Mask صحیح استفاده کنید.
    • ICMP را به‌طور کامل مسدود نکنید؛ فقط محدود کنید.
    • ACL را جایگزین Firewall ندانید؛ آن‌ها مکمل یکدیگر هستند.
    • Hit Count قوانین را به‌صورت دوره‌ای بررسی و بهینه‌سازی کنید.