چک‌لیست ۱۵ مرحله‌ای امن‌سازی روتر میکروتیک از به‌روزرسانی RouterOS تا بازبینی دوره‌ای
سرفصل: میکروتیک

روتر میکروتیک معمولاً تنها دستگاهی است که بین شبکهٔ سازمان و اینترنت ایستاده. اگر این روتر نفوذپذیر باشد، فایروال و آنتی‌ویروس پشت آن هم کمک زیادی نمی‌کنند. در سال‌های گذشته هزاران روتر میکروتیک که آپدیت نشده بودند یا رمز ضعیف داشتند، در بات‌نت‌های بزرگ مثل Meris به کار گرفته شدند؛ معمولاً بدون این‌که صاحبشان خبردار شود.

خبر خوب این است که امن‌سازی میکروتیک کار پیچیده‌ای نیست. چند تنظیم درست، بیشتر حمله‌های رایج را بی‌اثر می‌کند. در این مقاله اول فهرست کامل کارها را می‌بینید و بعد هر مورد را با دستور آماده توضیح می‌دهم.

چک‌لیست امن‌سازی میکروتیک در یک نگاه

  1. RouterOS و RouterBOOT را به‌روز کنید.
  2. کاربر admin را حذف و رمز قوی تعیین کنید.
  3. برای هر نفر کاربر جدا و سطح دسترسی مناسب بسازید.
  4. سرویس‌های بی‌استفاده (Telnet، FTP، Web، API) را خاموش کنید.
  5. وینباکس و SSH را به آدرس‌های داخلی محدود کنید و پورتشان را عوض کنید.
  6. MAC Server و Neighbor Discovery را فقط روی LAN فعال بگذارید.
  7. فایروال input را با سیاست پیش‌فرض Drop تنظیم کنید.
  8. جلوی حملهٔ Brute Force را بگیرید.
  9. مدیریت از بیرون را فقط از طریق VPN انجام دهید.
  10. DNS را به روی اینترنت ببندید.
  11. قابلیت‌های اضافه مثل Proxy، SOCKS، UPnP و Bandwidth Test را خاموش کنید.
  12. SNMP را ایمن یا خاموش کنید.
  13. پورت‌های بی‌استفاده را غیرفعال و Device Mode را بررسی کنید.
  14. ساعت، لاگ و ارسال لاگ به سرور را تنظیم کنید.
  15. بکاپ رمزدار بگیرید و روتر را دوره‌ای بازبینی کنید.

قبل از شروع: تغییرات فایروال و سرویس‌ها را با Safe Mode وینباکس انجام دهید (دکمهٔ Safe Mode بالای پنجره، یا Ctrl+X در ترمینال). اگر دسترسی‌تان قطع شود، روتر تغییرات را خودکار برمی‌گرداند.

۱. به‌روزرسانی RouterOS و RouterBOOT

مهم‌ترین قدم امنیت میکروتیک، آپدیت است. بیشتر نفوذهای گسترده به میکروتیک، مثل آسیب‌پذیری معروف وینباکس در سال ۲۰۱۸، از نسخه‌هایی بود که مدت‌ها پیش اصلاح شده بودند. روتر را روی کانال stable یا long-term نگه دارید:

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

بعد از ریبوت، فریمور بورد (RouterBOOT) را هم به‌روز کنید و دوباره ریبوت کنید:

/system routerboard upgrade
/system reboot

۲. حذف کاربر admin و رمز قوی

ربات‌ها اول نام کاربری admin را امتحان می‌کنند. یک کاربر با نام دیگر و رمز قوی بسازید، با آن وارد شوید و بعد admin را غیرفعال کنید:

/user add name=netadmin group=full password="رمز-طولانی-و-تصادفی"
/user disable admin

رمز را حداقل ۱۶ کاراکتر و تصادفی انتخاب کنید و در یک Password Manager نگه دارید.

۳. کاربر جدا برای هر نفر و سطح دسترسی مناسب

همه با یک کاربر مشترک وارد نشوند؛ با کاربر جدا، در لاگ معلوم است چه کسی چه تغییری داده. برای کسی که فقط باید وضعیت را ببیند، گروه read کافی است:

/user add name=support group=read password="..."
/user add name=netadmin2 group=full password="..." address=192.168.88.0/24

پارامتر address ورود آن کاربر را فقط از همان محدوده مجاز می‌کند.

۴. خاموش کردن سرویس‌های بی‌استفاده

میکروتیک به‌طور پیش‌فرض چند سرویس مدیریتی را باز می‌گذارد. Telnet و FTP رمز را بدون رمزنگاری می‌فرستند و تقریباً هیچ‌وقت لازم نیستند:

/ip service print
/ip service disable telnet,ftp,www,api,api-ssl

اگر به پنل وب نیاز دارید، به جای www از www-ssl با گواهی استفاده کنید.

۵. محدود کردن و تغییر پورت وینباکس و SSH

وینباکس و SSH را فقط از شبکهٔ داخلی یا شبکهٔ مدیریت قابل دسترس کنید. تغییر پورت وینباکس و SSH جلوی ربات‌هایی را که فقط پورت پیش‌فرض را اسکن می‌کنند می‌گیرد و لاگ را خلوت می‌کند؛ ولی جای فایروال را نمی‌گیرد:

/ip service set winbox address=192.168.88.0/24 port=18291
/ip service set ssh address=192.168.88.0/24 port=2222
/ip ssh set strong-crypto=yes

بعد از تغییر پورت، در وینباکس آدرس را به شکل 192.168.88.1:18291 وارد کنید.

۶. MAC Server و Neighbor Discovery فقط روی LAN

با MAC-Winbox می‌شود حتی بدون IP به روتر وصل شد و Neighbor Discovery مدل و نسخهٔ روتر را به همه اعلام می‌کند. هر دو را به لیست LAN محدود کنید:

/tool mac-server set allowed-interface-list=LAN
/tool mac-server mac-winbox set allowed-interface-list=LAN
/tool mac-server ping set enabled=no
/ip neighbor discovery-settings set discover-interface-list=LAN

مطمئن شوید پورت‌های داخلی عضو لیست LAN و پورت اینترنت عضو لیست WAN هستند: /interface list member print.

۷. فایروال input با سیاست Drop

زنجیرهٔ input از خود روتر محافظت می‌کند. قانون طلایی: هر چه لازم است را صریح قبول کنید و بقیه را رد کنید:

/ip firewall filter
add chain=input connection-state=established,related,untracked action=accept comment="accept established"
add chain=input connection-state=invalid action=drop comment="drop invalid"
add chain=input protocol=icmp action=accept comment="accept ICMP"
add chain=input in-interface-list=LAN action=accept comment="accept LAN"
add chain=input action=drop comment="drop all else"

ترتیب قوانین مهم است؛ قانون آخر باید واقعاً آخر باشد. برای محافظت از شبکهٔ داخلی (زنجیرهٔ forward) و جدا کردن شبکهٔ مهمان، مقالهٔ برقراری امنیت در شبکه با MikroTik را ببینید.

۸. جلوگیری از حملهٔ Brute Force

اگر مجبورید سرویسی مثل SSH را از بیرون باز بگذارید، آدرس‌هایی را که پشت سر هم تلاش ناموفق دارند، با چند Address List مرحله‌ای مسدود کنید. این قوانین را بالای قانون drop all else بگذارید:

/ip firewall filter
add chain=input protocol=tcp dst-port=2222 src-address-list=ssh_blacklist action=drop comment="drop SSH brute force"
add chain=input protocol=tcp dst-port=2222 connection-state=new src-address-list=ssh_stage3 action=add-src-to-address-list address-list=ssh_blacklist address-list-timeout=1d
add chain=input protocol=tcp dst-port=2222 connection-state=new src-address-list=ssh_stage2 action=add-src-to-address-list address-list=ssh_stage3 address-list-timeout=1m
add chain=input protocol=tcp dst-port=2222 connection-state=new src-address-list=ssh_stage1 action=add-src-to-address-list address-list=ssh_stage2 address-list-timeout=1m
add chain=input protocol=tcp dst-port=2222 connection-state=new action=add-src-to-address-list address-list=ssh_stage1 address-list-timeout=1m
add chain=input protocol=tcp dst-port=2222 connection-state=new action=accept comment="allow SSH"

قانون آخر خود SSH را باز می‌کند؛ بدون آن، قانون drop all else همه را می‌بندد. آدرسی که در کمتر از چند دقیقه چهار بار اتصال جدید بزند، یک روز مسدود می‌شود. فهرست مسدودشده‌ها را با /ip firewall address-list print where list=ssh_blacklist ببینید.

۹. مدیریت از راه دور فقط با VPN

بهترین راه برای جلوگیری از حملات به وینباکس این است که اصلاً از اینترنت دیده نشود. برای مدیریت از بیرون، یک VPN با WireGuard راه بیندازید و فقط از داخل تونل به وینباکس وصل شوید. در این حالت تنها پورت باز روی WAN، پورت UDP وایرگارد است. آموزش کامل را در مقالهٔ دسترسی از راه دور به تجهیزات میکروتیک نوشته‌ام.

۱۰. بستن DNS به روی اینترنت

اگر Allow Remote Requests در DNS روشن است، پورت ۵۳ را از سمت WAN ببندید؛ وگرنه روترتان ابزار حملهٔ DNS Amplification می‌شود. با فایروال input بخش ۷ این پورت بسته است. توضیح کامل و راه‌های دیگر در مقالهٔ جلوگیری از حملات DNS در میکروتیک آمده است.

۱۱. خاموش کردن قابلیت‌های اضافه

هر قابلیتی که استفاده نمی‌کنید، یک در باز اضافه است. Proxy و SOCKS باز، از رایج‌ترین راه‌های سوءاستفاده از روترهای هک‌شده بوده‌اند:

/ip proxy set enabled=no
/ip socks set enabled=no
/ip upnp set enabled=no
/tool bandwidth-server set enabled=no
/tool romon set enabled=no

اگر از IP Cloud و DDNS استفاده نمی‌کنید: /ip cloud set ddns-enabled=no.

۱۲. ایمن کردن SNMP

اگر سیستم مانیتورینگ ندارید، SNMP را خاموش کنید. اگر دارید، Community پیش‌فرض public را عوض کنید و فقط به آدرس سرور مانیتورینگ اجازه بدهید:

/snmp set enabled=no

یا:

/snmp community set [find default=yes] name=mon-7Kq2 addresses=192.168.88.20/32
/snmp set enabled=yes

۱۳. پورت‌های بی‌استفاده و Device Mode

پورت‌های خالی را غیرفعال کنید تا کسی نتواند با یک کابل به شبکه وصل شود:

/interface ethernet disable ether5,ether6

در نسخه‌های جدید RouterOS 7، Device Mode قابلیت‌های حساسی مثل Scheduler، Fetch، Proxy و SOCKS را محدود می‌کند و تغییرش به دسترسی فیزیکی به روتر نیاز دارد. وضعیتش را با /system device-mode print ببینید و فقط قابلیت‌هایی را باز نگه دارید که واقعاً لازم دارید.

۱۴. ساعت، لاگ و ارسال لاگ به سرور

لاگی که ساعتش اشتباه است، در بررسی حادثه به کار نمی‌آید. NTP را فعال کنید و لاگ‌های ورود را به یک سرور Syslog بفرستید تا اگر روتر هک شد، مهاجم نتواند ردش را پاک کند:

/system ntp client set enabled=yes
/system ntp client servers add address=pool.ntp.org
/system logging action add name=syslog target=remote remote=192.168.88.20
/system logging add topics=account action=syslog
/system logging add topics=critical action=syslog

ورودهای ناموفق را با /log print where topics~"account" ببینید.

۱۵. بکاپ رمزدار و بازبینی دوره‌ای

از تنظیمات، هم بکاپ باینری رمزدار و هم خروجی متنی بگیرید و یک نسخه را بیرون از روتر نگه دارید:

/system backup save name=router-2026 password="..." encryption=aes-sha256
/export file=router-2026

ماهی یک بار این‌ها را بررسی کنید؛ هر چیز ناشناس نشانهٔ نفوذ است:

/user print
/user active print
/system scheduler print
/system script print
/ip dns static print
/file print

روش کامل بکاپ و بازگردانی را در مقالهٔ بکاپ گرفتن از میکروتیک نوشته‌ام.

جمع‌بندی

اگر وقت کمی دارید، از این چهار کار شروع کنید: RouterOS را آپدیت کنید، کاربر admin را با یک کاربر و رمز قوی جایگزین کنید، فایروال input را با سیاست Drop بگذارید و وینباکس را از اینترنت ببندید. همین چهار مورد، روتر شما را از دسترس بیشتر حمله‌های خودکار خارج می‌کند. بقیهٔ موارد این چک‌لیست، امنیت میکروتیک را کامل می‌کنند.

اگر می‌خواهید امنیت روترها و فایروال شبکه‌تان بررسی شود، با من تماس بگیرید.

  • امن سازی میکروتیک
  • امنیت میکروتیک
  • هاردنینگ میکروتیک
  • فایروال میکروتیک
  • تغییر پورت وینباکس
  • Brute Force میکروتیک
  • RouterOS
  • MikroTik Hardening