امن سازی و کانفیگ فایروال میکروتیک

برای امن‌سازی و کانفیگ فایروال میکروتیک این ترتیب را دنبال کنید: پیش از هر تغییر بکاپ بگیرید و Safe Mode را روشن کنید، کاربر admin را با یک کاربر جدید و رمز قوی جایگزین کنید، سرویس‌های بلااستفاده مثل Telnet، FTP و API را ببندید و Winbox و SSH را به شبکه مدیریت محدود کنید، در Filter Rules ورود ترافیک از WAN به خود روتر و شبکه داخلی را ببندید و RouterOS را به‌روز نگه دارید. بیشتر روترهای آلوده میکروتیک Winbox یا سرویس دیگری را روی اینترنت باز گذاشته و RouterOS قدیمی داشته‌اند.

منطق Chainهای input و forward در میکروتیک همان منطق iptables لینوکس است؛ اگر با آن آشنایید، آموزش کانفیگ iptables در لینوکس برای درک ترتیب قواعد و Connection Tracking کمک می‌کند. دستورهای این راهنما بر اساس مستندات رسمی MikroTik برای RouterOS 7 (صفحه‌های Securing your router، Services و Building Advanced Firewall) نوشته شده‌اند. نام اینترفیس‌ها و آدرس‌ها نمونه‌اند و باید با شبکه شما تطبیق داده شوند.

پیش از شروع: بکاپ، Safe Mode و راه برگشت

اشتباه در قواعد input می‌تواند دسترسی خودتان به روتر را قطع کند. سه کار را پیش از تغییر انجام دهید:

/system backup save name=before-hardening
/export file=before-hardening
  • فایل backup برای بازگرداندن روی همان دستگاه است و خروجی export یک فایل متنی خواناست که می‌توانید بخش‌هایی از آن را دوباره اجرا کنید. هر دو را از بخش Files روی کامپیوتر خود دانلود کنید.
  • Safe Mode را در ترمینال با Ctrl+X (یا F4) و در Winbox با دکمه Safe Mode فعال کنید. اگر نشست به‌صورت غیرعادی قطع شود، تغییراتی که در این حالت انجام شده به‌طور خودکار برمی‌گردند. خروج با Ctrl+D هم تغییرات را لغو می‌کند. تاریخچه Safe Mode حداکثر 100 تغییر آخر را نگه می‌دارد، پس کار را در قدم‌های کوچک انجام دهید.
  • اگر از راه دور کار می‌کنید، کسی را در محل داشته باشید که بتواند با کابل به پورت LAN وصل شود.

مرحله ۱: کاربر و رمز عبور

/user add name=netadmin group=full password="REPLACE-WITH-A-LONG-RANDOM-PASSWORD" address=192.168.88.0/24
/user disable admin
/user print

ابتدا با کاربر جدید وارد شوید و بعد admin را غیرفعال کنید. مستندات میکروتیک رمزی با دست‌کم 12 کاراکتر از ترکیب حروف، عدد و نماد را پیشنهاد می‌کند. پارامتر address ورود این کاربر را فقط از شبکه تعیین‌شده مجاز می‌کند. برای همکارانی که فقط باید وضعیت را ببینند، کاربر با group=read بسازید.

مرحله ۲: بستن سرویس‌های باز و محدود کردن Winbox

RouterOS چند سرویس مدیریتی دارد که در /ip service فهرست شده‌اند. پورت‌های پیش‌فرض طبق مستندات رسمی:

سرویسپورت TCPپیشنهاد
telnet23غیرفعال؛ رمز را بدون رمزنگاری ارسال می‌کند
ftp21غیرفعال، مگر برای انتقال موقت فایل
www80غیرفعال اگر از WebFig استفاده نمی‌کنید
www-ssl443فقط با گواهی معتبر و محدود به شبکه مدیریت
ssh22فعال و محدود به شبکه مدیریت
api8728غیرفعال، مگر نرم‌افزاری به آن نیاز داشته باشد
api-ssl8729غیرفعال، مگر نرم‌افزاری به آن نیاز داشته باشد
winbox8291فعال و محدود به شبکه مدیریت
/ip service
set telnet disabled=yes
set ftp disabled=yes
set www disabled=yes
set www-ssl disabled=yes
set api disabled=yes
set api-ssl disabled=yes
set winbox address=192.168.88.0/24
set ssh address=192.168.88.0/24
print

محدودیت address در سرویس‌ها لایه دوم دفاع است. مستندات میکروتیک برای بستن دسترسی از شبکه‌های غیرقابل‌اعتماد، فایروال را توصیه می‌کند؛ پس این تنظیم جایگزین Filter Rules مرحله ۴ نیست. تغییر پورت Winbox هم فقط تعداد اسکن‌های خودکار در لاگ را کم می‌کند و مانع کسی نمی‌شود که همه پورت‌ها را اسکن کند.

مرحله ۳: MAC Server، Neighbor Discovery و سرویس‌های جانبی

ابتدا فهرست اینترفیس‌های WAN و LAN را بسازید، چون هم این مرحله و هم فایروال به آن تکیه دارند. در روترهایی که با پیکربندی پیش‌فرض کار می‌کنند، این فهرست‌ها معمولاً وجود دارند؛ اول با /interface list print بررسی کنید تا تکراری نسازید:

/interface list
add name=WAN
add name=LAN
/interface list member
add list=WAN interface=ether1
add list=LAN interface=bridge

/tool mac-server set allowed-interface-list=LAN
/tool mac-server mac-winbox set allowed-interface-list=LAN
/ip neighbor discovery-settings set discover-interface-list=LAN
/tool bandwidth-server set enabled=no
/ip proxy set enabled=no
/ip socks set enabled=no
/ip upnp set enabled=no
/ip ssh set strong-crypto=yes
  • MAC-Telnet و MAC-Winbox بدون IP هم کار می‌کنند و برای نجات روتر در شبکه داخلی مفیدند، اما نباید روی WAN در دسترس باشند. مستندات رسمی حتی مقدار none را برای بستن کامل آن‌ها نشان می‌دهد.
  • Neighbor Discovery مدل، نسخه و آدرس روتر را به دستگاه‌های مجاور اعلام می‌کند و روی WAN فقط اطلاعات در اختیار دیگران می‌گذارد.
  • Proxy و SOCKS باز روی اینترنت روتر شما را به واسطه ترافیک دیگران تبدیل می‌کنند؛ اگر هنگام بررسی آن‌ها را روشن دیدید و خودتان فعالشان نکرده بودید، بخش نشانه‌های نفوذ را بخوانید.

DNS روتر را خاموش کنم یا نه؟

مستندات میکروتیک مقدار allow-remote-requests=no را پیشنهاد می‌کند. اما اگر روتر DNS کاربران شبکه داخلی است و DHCP آدرس خود روتر را به‌عنوان DNS می‌دهد، با خاموش کردن آن اینترنت کاربران از کار می‌افتد. در این حالت گزینه را روشن بگذارید و مطمئن شوید قاعده drop مرحله بعد درخواست‌های DNS را از WAN می‌بندد؛ DNS باز روی اینترنت برای حملات Amplification سوءاستفاده می‌شود.

مرحله ۴: کانفیگ فایروال میکروتیک با Filter Rules

فایروال میکروتیک قواعد را از بالا به پایین بررسی می‌کند و اولین قاعده منطبق تصمیم را می‌گیرد. اگر بسته‌ای با هیچ قاعده‌ای منطبق نشود، پذیرفته می‌شود؛ به همین دلیل هر Chain باید با یک قاعده drop تمام شود. پیش از افزودن قواعد، با /ip firewall filter print قواعد فعلی را ببینید. قواعد جدید به انتهای فهرست اضافه می‌شوند و اگر بالاتر از آن‌ها قاعده‌ای ترافیک را accept کند، بی‌اثر می‌مانند.

محافظت از خود روتر: chain=input

/ip firewall filter
add chain=input action=accept connection-state=established,related,untracked comment="input: accept established,related,untracked"
add chain=input action=drop connection-state=invalid comment="input: drop invalid"
add chain=input action=accept protocol=icmp comment="input: accept ICMP"
add chain=input action=accept protocol=udp dst-port=13231 comment="input: WireGuard, only if used; set your listen-port"
add chain=input action=drop in-interface-list=!LAN comment="input: drop all not coming from LAN"

قاعده آخر هر ترافیکی را که از اینترفیس‌های عضو LAN نیامده و به خود روتر می‌رسد می‌بندد: Winbox، SSH، DNS و هر سرویس دیگر از سمت اینترنت. اگر برای مدیریت از راه دور نیاز به دسترسی دارید، به جای باز کردن Winbox روی اینترنت، یک VPN مثل WireGuard راه بیندازید و فقط پورت آن را باز کنید؛ این همان پیشنهاد مستندات میکروتیک است. اگر خط چهارم را لازم ندارید، آن را اضافه نکنید.

محافظت از شبکه داخلی: chain=forward

/ip firewall filter
add chain=forward action=fasttrack-connection connection-state=established,related comment="forward: fasttrack"
add chain=forward action=accept connection-state=established,related,untracked comment="forward: accept established,related,untracked"
add chain=forward action=drop connection-state=invalid comment="forward: drop invalid"
add chain=forward action=drop connection-state=new connection-nat-state=!dstnat in-interface-list=WAN comment="forward: drop WAN not DSTNATed"

قاعده آخر اتصال جدیدی را که از WAN به شبکه داخلی می‌آید می‌بندد، مگر اینکه با Port Forward (dst-nat) عمداً باز شده باشد. بدون این قاعده، کسی که محدوده آدرس داخلی شما را حدس بزند در بعضی شرایط می‌تواند مستقیم به میزبان‌های داخلی وصل شود. قاعده FastTrack سرعت پردازش را بالا می‌برد، اما بسته‌های FastTrack از mangle و صف‌ها عبور نمی‌کنند؛ اگر لود بالانس PCC یا مدیریت پهنای باند دارید، این قاعده را با دقت و پس از تست فعال کنید.

Chainترافیکمثال
inputبسته‌هایی که مقصدشان خود روتر استWinbox، SSH، DNS روتر، VPN
forwardبسته‌هایی که از روتر عبور می‌کنندکاربر داخلی به اینترنت، Port Forward به سرور
outputبسته‌هایی که خود روتر تولید می‌کندپینگ روتر، بررسی به‌روزرسانی

برای شبکه‌هایی که مهمان، دوربین یا تلفن IP را در VLAN جدا دارند، قواعد forward بین این شبکه‌ها را هم تعریف کنید. مستندات Building Advanced Firewall میکروتیک نمونه‌ای با Address List برای آدرس‌های رزروشده و قواعد RAW دارد که برای شبکه‌های بزرگ‌تر نقطه شروع خوبی است.

مرحله ۵: به‌روزرسانی RouterOS و RouterBOOT

بخش بزرگی از نفوذهای گسترده به روترهای میکروتیک از آسیب‌پذیری‌هایی بوده که مدت‌ها قبل در نسخه‌های جدید رفع شده بودند، مثل آسیب‌پذیری Winbox با شناسه CVE-2018-14847. به‌روزرسانی در CLI این‌طور انجام می‌شود:

/system package update set channel=stable
/system package update check-for-updates once
/system package update download
/system package update install

# after the router is back up
/system routerboard upgrade
/system reboot
  • کانال stable هر چند ماه با امکانات تست‌شده منتشر می‌شود و long-term فقط اصلاحات مهم را می‌گیرد. کانال‌های testing و development برای روتر عملیاتی مناسب نیستند.
  • بررسی به‌روزرسانی از خود روتر و با HTTPS به سرورهای میکروتیک انجام می‌شود، پس روتر باید به پورت 443 دسترسی خروجی داشته باشد. اگر این دسترسی ممکن نیست، بسته‌ها را از سایت رسمی MikroTik دانلود و در Files بارگذاری کنید و روتر را ری‌استارت کنید.
  • مستندات میکروتیک ارتقای RouterBOOT را پس از هر به‌روزرسانی RouterOS به‌شدت توصیه می‌کند؛ این کار به یک ری‌استارت دوم نیاز دارد.
  • پیش از ارتقا از RouterOS 6 به 7، صفحه Upgrading to v7 را بخوانید و بکاپ export بگیرید؛ بخش‌هایی مثل Routing در نسخه 7 نحو متفاوتی دارند.

مرحله ۶: بررسی نتیجه و نشانه‌های نفوذ

/ip firewall filter print stats
/log print where message~"login failure"
/user print
/user active print
/system scheduler print
/system script print
/ip socks print
/ip proxy print
/ip dns static print
/file print

در print stats شمارنده قاعده drop زنجیره input نشان می‌دهد چه مقدار ترافیک از بیرون بسته شده است. پیام‌های login failure در لاگ یعنی کسی در حال امتحان رمز است. از یک اتصال اینترنت بیرون از شبکه خودتان هم بررسی کنید که پورت‌های 8291، 22 و 8728 روی IP عمومی روتر پاسخ نمی‌دهند.

این موارد نشانه جدی نفوذ هستند: کاربری که نمی‌شناسید، Scheduler یا Script ناشناخته (به‌خصوص اسکریپت‌هایی که فایل دانلود می‌کنند)، SOCKS یا Proxy روشن، رکوردهای DNS Static که سایت‌های معروف را به IP دیگری می‌فرستند و فایل‌های ناآشنا در Files. در این حالت پاک‌سازی دستی قابل اعتماد نیست. روتر را با Netinstall از نو نصب کنید، تنظیمات را از روی export بازبینی‌شده و نه از فایل backup بازگردانید و همه رمزها را عوض کنید. اگر روتر آلوده بخشی از شبکه‌ای با سرورهای مهم است، پشتیبانی فوری سرور و شبکه را هم در نظر بگیرید.

چک‌لیست امنیت میکروتیک

مورددستور بررسیوضعیت درست
کاربر admin/user printغیرفعال؛ کاربران با address محدود
سرویس‌ها/ip service printفقط winbox و ssh با address شبکه مدیریت
MAC Server و Discovery/tool mac-server printفقط روی LAN یا خاموش
فایروال input/ip firewall filter printپایان با drop برای ترافیک غیر LAN
فایروال forward/ip firewall filter printdrop برای اتصال جدید از WAN بدون dst-nat
نسخه RouterOS/system package update printآخرین نسخه کانال stable یا long-term
بکاپ/file printexport به‌روز خارج از روتر نگهداری شود

اگر در سازمان علاوه بر میکروتیک فایروال لینوکسی، pfSense یا Cisco ASA هم دارید، هماهنگ بودن قواعد همه این لایه‌ها اهمیت دارد؛ خدمات مدیریت فایروال برای همین سناریو تعریف شده است. برای دسترسی امن شعبه‌ها به شبکه مرکزی هم VPN سازمانی بین شعب را ببینید.

سوالات متداول

آیا تغییر پورت Winbox برای امنیت کافی است؟

خیر. تغییر پورت فقط اسکن‌های خودکار ساده را کم می‌کند. Winbox نباید از اینترنت در دسترس باشد؛ آن را با قاعده drop زنجیره input ببندید و برای دسترسی از بیرون از VPN استفاده کنید.

روتر من فایروال پیش‌فرض دارد؟

روترهای خانگی و دفتری میکروتیک که با پیکربندی پیش‌فرض کارخانه راه‌اندازی شده‌اند، معمولاً قواعدی مشابه این راهنما دارند و توضیح آن‌ها با کلمه defconf شروع می‌شود. اگر روتر با No Default Configuration یا پس از Reset بدون تنظیمات پیش‌فرض راه‌اندازی شده، فهرست فیلتر خالی است و همه ترافیک پذیرفته می‌شود.

کانال stable بهتر است یا long-term؟

برای روتری که امکانات جدید لازم ندارد و تغییرات کمتر را ترجیح می‌دهد، long-term مناسب است. stable اصلاحات و امکانات جدید را زودتر می‌گیرد. در هر دو حالت، روتر را روی نسخه‌ای که مدت‌هاست به‌روز نشده رها نکنید.

اگر خودم را از روتر قفل کردم چه کنم؟

اگر Safe Mode روشن بوده، قطع نشست تغییرات را برمی‌گرداند. در غیر این صورت از پورت LAN با MAC-Winbox وصل شوید. اگر آن هم بسته است، باید با دکمه Reset یا Netinstall و با دسترسی فیزیکی روتر را بازیابی کنید و تنظیمات را از فایل export برگردانید.

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *