مجله افراتیک
ACL چیست؟ 🔐 راهنمای کامل Access Control List برای امنیت شبکه و سیستمها
ACL چیست؟ 🔐 راهنمای کامل Access Control List برای امنیت شبکه و سیستمها
ACL یا Access Control List بهمعنای «فهرست کنترل دسترسی» است؛
مجموعهای از قوانین که مشخص میکند چه کسی یا چه سیستمی اجازه دسترسی به یک منبع را دارد
و چه کسی ندارد. این منبع میتواند فایل، پوشه، پورت شبکه،
رنج IP یا یک سرویس خاص باشد. 🔒
اگر بخواهیم خیلی ساده بگوییم، ACL مثل لیست مهمانهای یک مهمانی خصوصی است؛
فقط کسانی که در لیست هستند اجازه ورود دارند. 🎟️
ACL دقیقاً چیست؟ 📘
ACL یک لیست از قوانین مرتبشده است که روی یک منبع (مثل اینترفیس شبکه، فایل، یا سرویس)
اعمال میشود. هر قانون معمولاً شامل موارد زیر است:
- 📍 منبع ترافیک: آدرس IP یا شبکه مبدأ
- 🎯 مقصد ترافیک: آدرس IP یا شبکه مقصد
- 📡 پروتکل: مثل TCP، UDP، ICMP
- 🔢 پورت: مثل 80، 443، 22 و…
- 🚦 اقدام: Allow یا Deny
روتر یا فایروال هر درخواست را با این لیست مقایسه میکند و بر اساس اولین قانونی
که با آن Match شود، تصمیم میگیرد. ⚙️
انواع ACL 🧩
۱. ACL در سیستمفایل (Filesystem ACL) 💾
در سیستمعاملها برای کنترل دسترسی به فایلها و پوشهها استفاده میشود.
مثلاً تعیین میکنیم چه کاربری اجازه خواندن، نوشتن یا اجرا دارد.
۲. ACL در شبکه (Network ACL) 🌐
در شبکه برای کنترل عبور ترافیک استفاده میشود؛ مثل بستن پورتها یا محدود کردن دسترسی IPها.
۳. ACL در روترها و فایروالها 🔥
در روترهایی مثل Cisco و MikroTik، ACL یکی از ابزارهای اصلی برای پیادهسازی سیاستهای امنیتی است.
۴. ACL در سرویسهای ابری ☁️
در پلتفرمهایی مثل AWS و Azure برای کنترل دسترسی به Subnetها و سرویسها استفاده میشود.
ACL چگونه کار میکند؟ ⚙️
- 📥 دریافت ترافیک یا درخواست
- 🔍 بررسی قوانین از بالا به پایین
- 🎯 پیدا شدن اولین Match
- 🚦 اجرای Allow یا Deny
- ❗ اگر هیچ قانونی Match نشود → معمولاً Deny
به همین دلیل، ترتیب قوانین بسیار مهم است. 🔑
مزایای استفاده از ACL ⭐
- 🛡️ افزایش امنیت
- 🚫 کاهش سطح حمله
- 📊 کنترل دقیق ترافیک
- 🔧 انعطافپذیری بالا
چند مثال ساده از ACL 📘
مثال ۱: ACL مفهومی در شبکه
Rule 1: if source IP == 192.168.1.10 then ALLOW Rule 2: if source IP == 10.10.10.5 then DENY Rule 3: else DENY
مثال ۲: محدود کردن دسترسی به SSH
Rule 1: if source in 192.168.1.0/24 and dst-port == 22 then ALLOW Rule 2: if dst-port == 22 then DENY Rule 3: else ALLOW
بهترین روشها در طراحی ACL 🧠
- 🔝 قوانین خاص را بالاتر قرار دهید
- 🚫 همیشه یک Deny All در انتها داشته باشید
- 📝 قوانین را مستندسازی کنید
- 🧪 ابتدا در محیط تست بررسی کنید
- ♻️ قوانین قدیمی را حذف کنید
تفاوت ACL با فایروال چیست؟ 🆚
ACL یک ابزار پایهای برای فیلتر ترافیک است، اما فایروالها قابلیتهای پیشرفتهتری مثل
Stateful Inspection، VPN، NAT و… دارند. با این حال، ACL هستهٔ اصلی بسیاری از فایروالهاست.
جمعبندی 🎯
ACL یکی از مهمترین ابزارها برای افزایش امنیت شبکه و سیستمها است.
با طراحی درست ACL میتوان دسترسیها را دقیق، شفاف و قابلکنترل کرد. 🔐
اگر در حال طراحی شبکه یا فایروال هستید، درک ACL یکی از پایههای ساخت یک زیرساخت امن است. 🛡️