5
(1)

روترهای MikroTik، به دلیل انعطاف‌پذیری و قدرت بالا، اهداف جذابی برای مهاجمان هستند. یکی از اولین و رایج‌ترین مراحل حملات سایبری، “Port Scanning” (اسکن پورت) است. مهاجمان با این کار، پورت‌های باز و سرویس‌های فعال شبکه شما را شناسایی می‌کنند تا نقاط ضعف احتمالی را کشف و راهی برای نفوذ پیدا کنند.

برای مقابله با این تهدید، تنها مسدود کردن پورت‌ها کافی نیست. ما نیاز به یک مکانیزم دفاعی هوشمندانه و پویا داریم که بتواند Port Scanner ها را شناسایی کرده و به صورت خودکار آن‌ها را مسدود کند. این مقاله، به شما معماری سطح‌بندی شده (Layered Architecture) و پیکربندی قوانین فایروال (Firewall Rules) در محیط خط فرمان (CLI) را آموزش می‌دهد تا یک سپر دفاعی مستحکم برای روتر MikroTik خود ایجاد کنید. با ما همراه باشید تا شبکه خود را در برابر چشمان کنجکاو مهاجمان ایمن کنید!

فهرست مطالب

🕵️ چگونگی حملات Port Scan و مکانیزم دفاعی میکروتیک در برابر Port Scanner

در سیستم‌عامل‌های میکروتیک (RouterOS)، مهاجمان سعی می‌کنند با ارسال درخواست‌های متعدد به پورت‌های مختلف، لیستی از پورت‌های باز و در حال استفاده را به دست آورند. هدف نهایی آن‌ها، یافتن سرویس‌های آسیب‌پذیر مانند SSH، Telnet، Winbox، HTTP، VPN و… است تا از طریق آن‌ها به سیستم شما دسترسی پیدا کنند.

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

🔹 مکانیزم دفاعی میکروتیک در برابر Port Scanner (معماری سطح‌بندی شده)

برای مقابله با Port Scan، استفاده از یک رویکرد جامع‌تر و هوشمندانه‌تر از مسدودسازی ساده پورت‌ها ضروری است. معماری سطح‌بندی شده با استفاده از لیست‌های آدرس پویا (Dynamic Address Lists)، این امکان را فراهم می‌کند که IPهای مهاجمان به صورت خودکار شناسایی و بلاک شوند. این مکانیزم به مهاجمان اجازه نمی‌دهد که به صورت مکرر و بدون محدودیت، پورت‌های شما را اسکن کنند.

این ساختار دفاعی معمولاً در چند مرحله انجام می‌شود:

✅ قانون پرش (Jump Rule) (مفهومی):

در سیستم‌های فایروال پیچیده‌تر، ترافیک ورودی مشکوک ابتدا به یک زنجیره فایروال خاص هدایت می‌شود. در این پیکربندی ساده‌تر اما قدرتمند، ما مستقیماً به سراغ شناسایی و بلاک می‌رویم.

✅ سطح اول و دوم (Level 1 & Level 2) (مفهومی):

این سطوح برای شناسایی الگوهای ابتدایی اسکن و شمارش تلاش‌های ناموفق استفاده می‌شوند. در میکروتیک، پارامتر psd (Port Scan Detector) این نقش را به صورت مجتمع ایفا می‌کند.

✅ لیست ردیابی Level 3 (Tracking List) و Black List:

این مرحله فرکانس درخواست‌های اتصال را تنظیم می‌کند. پارامتر psd و add-src-to-address-list در میکروتیک، IPهایی را که الگوی اسکن را نشان می‌دهند، به یک لیست سیاه (Black List) اضافه می‌کنند. اگر IP به این لیست اضافه شود، برای ✅ مدت مشخصی (مثلاً ۳۰ روز) مسدود می‌شود.

این رویکرد، به میکروتیک شما اجازه می‌دهد تا به صورت هوشمندانه، ترافیک مشکوک را شناسایی و مهاجمان را به طور خودکار مسدود کند، بدون اینکه بر عملکرد عادی شبکه تأثیر منفی بگذارد.

🔹 پیش‌نیازهای راهندازی مکانیزم دفاعی میکروتیک در برابر Port Scanner

  • دسترسی به روتر: از طریق SSH یا Winbox Terminal به خط فرمان میکروتیک خود دسترسی داشته باشید.
  • نام اینترفیس WAN: نام اینترفیس متصل به اینترنت (مثلاً ether1 یا pppoe-out1) را بدانید. در مثال‌های زیر از WAN استفاده شده است.

mikrotik-advanced-port-scanner-defense-cli-1

⚙️ قوانین اصلی مسدودسازی اسکنر پورت در CLI (خط فرمان):

برای پیاده‌سازی مکانیزم دفاعی که در بالا توضیح داده شد، باید قوانین فایروال مشخصی را در میکروتیک خود پیکربندی کنید. این قوانین به شما امکان می‌دهند تا Port Scannerها را شناسایی کرده و IP آن‌ها را به لیست سیاه اضافه کنید.

با استفاده از دستورات زیر، می‌توانید این قوانین را به سرعت در ترمینال میکروتیک خود اضافه کنید.

گام ۱: ایجاد لیست سیاه (Address List) برای Port Scannerها

ابتدا، یک لیست آدرس (Address List) با نام مشخص ایجاد می‌کنیم تا IPهای مشکوک به اسکن پورت در آن ذخیره شوند.

/ip firewall address-list
add list="Black_List_Port_Scanner_WAN" comment="IPs that scan ports on WAN interface will be added here"

توضیح: این دستور یک لیست خالی به نام Black_List_Port_Scanner_WAN ایجاد می‌کند. IPهایی که به عنوان Port Scanner شناسایی شوند، به صورت پویا (Dynamic) به این لیست اضافه خواهند شد.

گام ۲: تعریف قوانین مسدودسازی برای IPهای موجود در لیست سیاه

اکنون، قوانینی را تعریف می‌کنیم که ترافیک ورودی از IPهای موجود در Black_List_Port_Scanner_WAN را به طور کامل مسدود کند. این قوانین باید اولین قوانینی باشند که در زنجیره input و forward بررسی می‌شوند.

1. مسدود کردن ترافیک ورودی به خود روتر (Chain=input)

/ip firewall filter

add action=drop chain=input in-interface=WAN \

comment="(Port Scanner WAN) Block IPs in the Black List trying to access router" \

log=yes log-prefix="Blocked_Port_Scanner_Input" \

src-address-list="Black_List_Port_Scanner_WAN"

2. مسدود کردن ترافیک عبوری از روتر به شبکه داخلی (Chain=forward)

add action=drop chain=forward in-interface=WAN \

comment="(Port Scanner WAN) Block IPs in the Black List trying to forward traffic" \

log=yes log-prefix="Blocked_Port_Scanner_Forward" \

src-address-list="Black_List_Port_Scanner_WAN"

توضیح:

  • action=drop: بسته‌های تطبیق یافته را به طور کامل نادیده می‌گیرد و هیچ پاسخی به فرستنده نمی‌دهد.
  • chain=input: ترافیکی که مقصد آن خود روتر است.
  • chain=forward: ترافیکی که قرار است از روتر عبور کرده و به سمت شبکه داخلی یا دیگر شبکه‌ها برود.
  • in-interface=WAN: این قوانین فقط بر روی ترافیک ورودی از اینترفیس WAN اعمال می‌شوند.
  • src-address-list=”Black_List_Port_Scanner_WAN”: منبع ترافیک باید در لیست سیاه ما باشد.
  • log=yes: رخداد مسدودسازی در لاگ‌های سیستم ثبت می‌شود.
  • log-prefix: یک پیشوند برای سهولت در فیلتر کردن لاگ‌ها.

گام ۳: قانون شناسایی Port Scannerها و افزودن به لیست سیاه (Dynamic Blacklisting)

این قانون هوشمندانه، ترافیک ورودی را تحلیل می‌کند و IPهایی را که الگوی Port Scan را نشان می‌دهند، به صورت خودکار به Black_List_Port_Scanner_WAN اضافه می‌کند.

add chain=input in-interface=WAN \

action=add-src-to-address-list \

address-list="Black_List_Port_Scanner_WAN" \

address-list-timeout=4w2d \

comment="Add TCP Port Scanners on WAN to Black List" \

log=yes log-prefix="Port_Scanner_Detected_WAN" \


protocol=tcp \

psd=21,3,30s

توضیح:

    • action=add-src-to-address-list: IP مبدأ (src) را به لیست آدرس مشخص‌شده اضافه می‌کند.
    • address-list-timeout=4w2d: IP اضافه شده برای ۴ هفته و ۲ روز (معادل ۳۰ روز) در لیست سیاه باقی می‌ماند. پس از این مدت، به صورت خودکار حذف می‌شود.
    • protocol=tcp: این قانون فقط ترافیک TCP را بررسی می‌کند که اکثر Port Scanها از این پروتکل استفاده می‌کنند.
    • psd=21,3,30s: این پارامتر کلیدی Port Scan Detector است:
      • Weight (مثلاً ۲۱): حداقل “وزن” فعالیت اسکن برای شناسایی.
      • Delay (مثلاً ۳): حداقل ۳ پورت مختلف باید در بازه زمانی مشخص اسکن شوند.
      • TimeOut (مثلاً ۳۰s): در بازه زمانی ۳۰ ثانیه.
      • به طور خلاصه: اگر یک IP در ۳۰ ثانیه، ۳ پورت TCP متفاوت را اسکن کند (با وزن ۲۱)، به عنوان Port Scanner شناسایی می‌شود.

🔹 نکته بسیار مهم: ترتیب قوانین (Rule Order)

پس از اجرای این دستورات، حتماً ترتیب قوانین فایروال را بررسی و تنظیم کنید. قوانین action=drop (گام ۲) باید قبل از قانون action=add-src-to-address-list (گام ۳) قرار گیرند. این یعنی:

  1. ابتدا: میکروتیک بررسی می‌کند که آیا IP مبدأ در لیست سیاه هست؟ اگر بله، بلافاصله‌اش مسدود کن (drop).
  2. سپس: اگر IP در لیست سیاه نبود، آیا الگوی Port Scan را نشان می‌دهد؟ اگر بله، آن را به لیست سیاه اضافه کن.

برای تغییر ترتیب قوانین در CLI:

مثال: انتقال قانون “drop input” به بالای قانون “add-src-to-address-list”
ابتدا شماره قانون “drop input” و “add-src-to-address-list” را با print پیدا کنید.

/ip firewall filter print

فرض کنید قانون drop input شماره 0 و قانون add-src-to-address-list شماره 2 است

/ip firewall filter move 0 to 0

/ip firewall filter move 1 to 1

/ip firewall filter move 2 to 2 # این دستور باید در نهایت این قانون را به جایگاه درست ببرد

بهترین کار این است که پس از اجرای تمامی دستورات، ip firewall filter print را اجرا کرده و ترتیب را دستی تنظیم کنید تا قوانین drop در ابتدای لیست قرار گیرند (بالاتر از قانون add-src-to-address-list).

🚀 بررسی و مانیتورینگ: اطمینان از عملکرد صحیح

پس از اعمال قوانین، ضروری است که عملکرد آن‌ها را بررسی کنید:

  1. مشاهده لیست سیاه: برای مشاهده IPهایی که به لیست سیاه اضافه شده‌اند، از دستور زیر استفاده کنید:
    /ip firewall address-list print where list="Black_List_Port_Scanner_WAN"

    در اینجا می‌توانید IPهای بلاک شده و زمان باقی‌مانده از timeout آن‌ها را مشاهده کنید.

  2. بررسی لاگ‌ها: برای مشاهده رخدادهای مربوط به شناسایی و بلاک شدن Port Scannerها، لاگ‌های سیستم را چک کنید:
/log print where topics~"firewall"

پیشوندهای Blocked_Port_Scanner_Input، Blocked_Port_Scanner_Forward و Port_Scanner_Detected_WAN به شما کمک می‌کنند تا لاگ‌های مربوطه را فیلتر و بررسی کنید.

mikrotik-advanced-port-scanner-defense-cli-2

نتیجه‌گیری:

شما اکنون مسلح به دانش و ابزارهای لازم برای پیاده‌سازی یک مکانیزم دفاعی میکروتیک در برابر Port Scanner هستید. با این قوانین، روتر شما به صورت هوشمندانه Port Scannerها را شناسایی و مسدود می‌کند. این یک گام اساسی برای امنیت پایدار و افزایش مقاومت شبکه شما در برابر حملات سایبری است.

آیا به دنبال یک VPS میکروتیک با امنیت بالا و قابلیت مدیریت کامل هستید؟

زویپ سرور با ارائه سرور مجازی (VPS) و اختصاصی میکروتیک در بهترین دیتاسنترهای جهان، زیرساختی مطمئن و امن برای شما فراهم می‌کند. با زیرساخت قوی و پینگ پایین زویپ سرور، می‌توانید با خیال راحت و با سرعت بالا، روتر میکروتیک خود را مدیریت و ایمن‌سازی کنید. همین حالا به خانواده بزرگ مشتریان زویپ سرور بپیوندید و امنیت و سرعت را تجربه کنید! (برای مشاهده پلن‌ها و خرید لایسنس میکروتیک اصلی، به وب‌سایت ما مراجعه کنید: 

سرورهای مجازی میکروتیک لایسنس شده و نامحدود:

سرورهای مجازی ایران زویپ سرور:

مشاهده پلن‌های سرورهای مجازی خارج زویپ سرور:

پرسش‌های متداول (FAQ)

آیا این روش روی VPS میکروتیک نیز قابل پیاده‌سازی است؟
بله، این روش به طور کامل برای VPS میکروتیک (CHR) نیز قابل پیاده‌سازی است و به دلیل در معرض دید بودن VPS در اینترنت، اهمیت بسیار زیادی دارد.
اگر IP معتبری به اشتباه بلاک شود، چه کاری می‌توانم انجام دهم؟
با دستور /ip firewall address-list remove [find address=”X.X.X.X” list=”Black_List_Port_Scanner_WAN”] می‌توانید IP مورد نظر را از لیست سیاه حذف کنید.
آیا این قوانین برای همه نسخه‌های RouterOS (v6 و v7) قابل استفاده است؟
بله، این قوانین استاندارد فایروال میکروتیک هستند و در اکثر نسخه‌های RouterOS (هم v6 و هم v7) قابل پیاده‌سازی هستند.
چه تفاوتی بین drop و reject در action فایروال وجود دارد؟
drop بسته‌ها را بدون ارسال هیچ پاسخی نادیده می‌گیرد و فرستنده فکر می‌کند به پورت بسته‌ای ارسال نکرده است. reject با ارسال پیام ICMP (مثلاً Destination Unreachable) به فرستنده اطلاع می‌دهد که ارتباط رد شده است. برای Port Scan، drop امن‌تر است.
 چه زمانی باید address-list-timeout را تغییر دهم؟
اگر IPهای قانونی به اشتباه بلاک می‌شوند، ممکن است نیاز باشد این زمان را کاهش دهید. اگر حملات شدید و مداوم هستند، می‌توانید آن را افزایش دهید. معمولاً ۳۰ روز (4w2d) یک زمان منطقی است.

منابع:

[1] MikroTik Wiki. *Manual: IP/Firewall.
[2] MikroTik Wiki. *Manual: IP/Firewall/Filter.
[3] OWASP Foundation. *Port Scanning.
[4] SANS Institute. *Understanding Port Scanning.
[5] CISA. *Best Practices for Network Security
[6] NIST. *Guide to Network Security Testing

چقدر این مطلب مفید بود؟

روی یک ستاره کلیک کنید تا به آن امتیاز دهید!

میانگین امتیاز 5 / 5. تعداد آرا: 1

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