امنیت لایه ۳ و لایه ۲ — راهنمای عملی ۲۰۲۵
فایروال و NAT در میکروتیک زمانی واقعاً قابلدرک میشوند که دقیقاً بدانیم یک پکت در داخل سیستمعامل RouterOS از چه مسیرهایی عبور میکند. اگر تا به حال برایتان پیش آمده که یک رول فایروال نوشتهاید اما کار نمیکند، یا ترافیکی که نباید عبور کند به راحتی رد میشود، مشکل احتمالاً در عدم شناخت “جریان بسته” یا همان Packet Flow است.
وقتی این جریان را بشناسید، میفهمید چرا یک رول باید بالاتر از دیگری باشد، چرا برخی ترافیکها دراپ نمیشوند و چرا NAT در بعضی سناریوها آنطور که انتظار دارید رفتار نمیکند.
در این مقاله، میخواهیم یک بار برای همیشه از صفر تا سطح حرفهای، مسیر Packet Flow، تنظیمات Firewall، پیکربندی NAT و در نهایت امنیت لایه ۲ را بررسی کنیم.
بخش ۱: نقشه راه؛ فهم Packet Flow در میکروتیک
در RouterOS، پکتها بعد از ورود به روتر، مجموعهای از ایستگاهها (Chain) را طی میکنند. شناخت این ایستگاهها برای هر ادمین شبکه حیاتی است:
۱. جدول RAW اولین فیلتری است که پکت از آن عبور میکند. ویژگی مهم RAW این است که قبل از بخش Connection Tracking پردازش میشود. بنابراین بهترین مکان برای دراپ کردن حملات سنگین و اسکنهاست تا بار پردازشی روی CPU ایجاد نشود.
۲. جدول Mangle وظیفه اصلی این جدول، علامتگذاری (Mark) ترافیک است. اگر نیاز به Routing Mark یا Packet Mark برای مدیریت پهنای باند دارید، اینجا محل انجام آن است.
۳. جدول NAT این جدول دو وظیفه اصلی دارد:
- Dst-NAT: تغییر آدرس مقصد (معمولاً برای ورود ترافیک از اینترنت به سرور داخلی).
- Src-NAT / Masquerade: تغییر آدرس مبدأ (معمولاً برای خروج ترافیک شبکه داخلی به اینترنت).
۴. جدول Filter قلب تپنده فایروال که وظیفه Allow یا Drop کردن ترافیک را دارد. این جدول سه مسیر اصلی دارد:
- input: ترافیکی که مقصد نهاییاش خودِ روتر است.
- forward: ترافیکی که قرار است از روتر عبور کند و به جای دیگری برود.
- output: ترافیکی که خودِ روتر تولید و ارسال میکند.
بخش ۲: هاردنینگ میکروتیک با RAW – قبل ازConnTrack
هدف استفاده از RAW این است که حملات را قبل از اینکه وارد پروسه سنگین Connection Tracking شوند، مسدود کنیم. این کار به شدت در مصرف CPU صرفهجویی میکند.
۱. مسدود کردن اسکن پورت و رباتها
/ip firewall raw
add chain=prerouting protocol=tcp tcp-flags=fin,psh,urg action=drop comment="Drop TCP Xmas scan"
add chain=prerouting protocol=tcp tcp-flags=fin,!syn,!rst,!psh action=drop comment="Drop TCP FIN scan"
add chain=prerouting src-address-list=blacklist action=drop comment="Drop known attackers"
توضیح فنی: پکتهایی که فلگهای غیرعادی دارند (مثل Xmas و FIN scan)، ترافیک نرمال نیستند و معمولاً توسط ابزارهایی مثل Nmap یا باتنتها ارسال میشوند. این رولها آنها را در همان بدو ورود حذف میکنند.
بخش ۳: امنیت لایه ۳ با Filter Table
در این بخش ترافیک سطح شبکه را کنترل میکنیم: دسترسی به خودِ روتر، ترافیک عبوری کلاینتها و جلوگیری از پکتهای نامعتبر.
۲. قانون طلایی: اولویت با Established و Related
/ip firewall filter
add chain=input connection-state=established,related action=accept comment="Allow established/related to router"
add chain=forward connection-state=established,related action=accept comment="Allow established/related through router"
توضیح فنی: پکتهایی که متعلق به یک ارتباط از قبل تایید شده هستند (Established) یا وابسته به آن هستند (Related)، باید بدون بررسی مجدد اجازه عبور داشته باشند. قرار دادن این رولها در ابتدای لیست، سرعت پردازش روتر را به شدت افزایش میدهد.
۳. بلاک کردن ترافیکInvalid
add chain=input connection-state=invalid action=drop comment="Drop invalid packets"
add chain=forward connection-state=invalid action=drop comment="Drop invalid packets"
توضیح فنی: پکتهای Invalid پکتهایی هستند که سیستم نمیتواند آنها را به هیچ نشست فعالی مرتبط کند. این پکتها اغلب نشانه حمله، خطای شبکه یا ترافیک خراب هستند و باید حذف شوند.
۴. محدود کردن دسترسی به خود روتر (Input Chain)
add chain=input in-interface-list=WAN action=drop comment="Block access to router from WAN"
توضیح فنی: امنیت حکم میکند که هیچکس از سمت اینترنت (WAN) نتواند به خودِ سیستمعامل روتر دسترسی داشته باشد. این رول تمام تلاشهای ورودی از اینترنت را مسدود میکند.
۵. مدیریت دسترسیهای ضروری
add chain=input protocol=tcp dst-port=22 action=accept comment="Allow SSH"
add chain=input protocol=udp dst-port=8291 action=drop comment="Block Winbox from WAN"
نکته امنیتی: پیشنهاد میشود Winbox را فقط برای شبکه داخلی (LAN) باز بگذارید. برای SSH حتماً از احراز هویت با کلید (Key-based) استفاده کنید و سرویس Telnet را به طور کامل غیرفعال کنید.
بخش ۴: پیکربندی امن NAT
۶. دسترسی کاربران به اینترنت (Source NAT)
/ip firewall nat
add chain=srcnat out-interface=ether1-WAN action=masquerade comment="Masquerade LAN to WAN"
توضیح فنی: وقتی کلاینتهای شبکه داخلی میخواهند به اینترنت بروند، باید آدرس خصوصی آنها با آدرس عمومی روتر جایگزین شود. دستور Masquerade این کار را به صورت خودکار انجام میدهد.
۷. پورت فورواردینگ امن (Dst-NAT) مثال: میخواهیم پورت ۸۰ یک وبسرور داخلی را روی اینترنت در دسترس قرار دهیم.
add chain=dstnat protocol=tcp dst-port=80 in-interface=ether1-WAN \
action=dst-nat to-addresses=192.168.10.10 to-ports=80 \
comment="Forward HTTP to internal server"
نکته امنیتی: اگر سرویس حساسی را فوروارد میکنید (مثل RDP یا SSH)، حتماً با استفاده از src-address-list، دسترسی را فقط به آیپیهای مشخص محدود کنید:
add chain=dstnat protocol=tcp dst-port=22 src-address-list=allowed-ssh \
action=dst-nat to-addresses=192.168.10.5 to-ports=22
بخش ۵: امنیت لایه ۲ (Layer 2 Security)
میکروتیک فقط یک فایروال لایه ۳ نیست؛ با تنظیمات صحیح Bridge میتوانید امنیت لایه ۲ را نیز تضمین کنید.
۸. جلوگیری از ARP Spoofing
/ip arp set [find interface=bridge] arp=reply-only
توضیح فنی: با قرار دادن ARP روی حالت reply-only، روتر فقط به آدرسهایی پاسخ میدهد که به صورت دستی (Static) در جدول ARP تعریف شده باشند. این کار جلوی حملات Man-in-the-Middle در شبکه داخلی را میگیرد.
۹. جلوگیری از سرورهایDHCP جعلی (Rogue DHCP)
/ip dhcp-server set 0 authoritative=after-2sec-delay
توضیح فنی: اگر شخصی یک مودم یا روتر دیگر را به شبکه وصل کند و شروع به پخش IP کند، این تنظیم باعث میشود میکروتیک با کمی تاخیر و بررسی وضعیت، از تداخل جلوگیری کند و اولویت سرور اصلی حفظ شود.
۱۰. جلوگیری از طوفان برادکست (Broadcast Storm)
ابتدا باید قابلیت فایروال را روی بریج فعال کنید:
/interface bridge settings set use-ip-firewall=yes
سپس رولهای فیلتر را اضافه کنید:
/ip firewall filter
add chain=forward protocol=udp dst-port=67,68 action=drop comment="Drop LAN DHCP floods"
add chain=forward connection-limit=100,32 action=drop comment="Drop broadcast storms"
جمعبندی
در این راهنما سعی کردیم با تحلیل Packet Flow، منطق پشت هر دستور را درک کنیم. اکنون میدانیم:
- با RAW حملات را قبل از درگیر شدن پردازنده دفع میکنیم.
- با Filter دسترسیهای لایه ۳ را مدیریت میکنیم.
- با NAT ترجمه آدرسها را به صورت امن انجام میدهیم.
- و در نهایت با تنظیمات Layer 2، شبکه داخلی را در برابر خرابکاریهای محلی ایمن میسازیم.
مطلب بسیار کاربردی و جالبی بود ، ممنون از شما.