مستندات فنی

مقاوم‌سازی روترهای میکروتیک

میکروتیک سیستم‌عامل مبتنی بر لینوکس است که با عنوان MikroTik RouterOS  نیز شناخته می‌شود. این سیستم‌عامل با نصب بر روی سخت‌افزار اختصاصی شرکت میکروتیک یا بر روی رایانه‌های استاندارد مبتنی بر x86، سخت‌افزار را به یک مسیریاب شبکه تبدیل می‌کند و بسیاری از ویژگی‌های اضافه گوناگون مانند دیواره آتش، خدمات دهنده و سرویس‌گیرنده شبکه خصوصی مجازی (VPN) و ارتقادهنده کیفیت خدمات پهنای باند را ارائه می‌دهد. در این مقاله راه‌های محافظت و پیکربندی‌های امن روترهای میکروتیک ارائه می‌گردد. این گام‌ها عبارت‌اند از:

به‌روزرسانی نسخه سیستم‌عامل

ازآنجاکه برخی از نسخه‌های قدیمی دارای نقاط ضعف یا آسیب‌پذیری خاصی می‌باشند نخستین عمل جهت امن‌سازی روتر های میکروتیک ارتقاء و به‌روزرسانی نسخه سیستم‌عامل روتر است. بنابراین توصیه می‌شود برای رعایت اصول امنیتی همواره آخرین نسخه نصب و به‌روزرسانی شود.

اعمال محدودیت به روتر برد میکروتیک

این محدودیت شامل اعمال محدودیت در دسترسی کاربر و محدودیت در اتصال توسط یک آدرس آی‌پی خاص است.

گام دیگر جهت امن کرد روتر برد تغییر نام کاربری پیش‌فرض است. در روتر برد میکروتیک نام کاربری پیش‌فرض admin است که تغییر و حذف آن می‌تواند باعث افزایش امنیت شود. در ادامه نحوه پیکربندی این مورد مشاهده می‌شود. توجه نمایید که از نام کاربری و کلمه عبور امن استفاده شود.

/user add name=myname password=mypassword group=full
/user remove admin

لاوه بر وجود فایروال پیش‌فرض که دسترسی غیرمجاز به روتر را محافظت می‌نماید می‌توان امکان دسترسی کاربر را به آدرس IP خاص محدود کرد.

/user set 0 allowed-address=x.x.x.x/yy

x.x.x.x/yy یک آدرس آی‌پی یا محدوده‌ای از آدرس‌های آی‌پی است که امکان دسترسی به روتر را دارا می‌باشند.

اعمال تنظیمات امنیتی برای سرویس‌های روتر میکروتیک

عملیات مدیریتی روتر بایستی توسط سرویس‌های امن مانند SSH، Winbox امن و HTTPS انجام گردد. همچنین برای رعایت مسائل امنیتی بایستی از آخرین نسخه Winbox استفاده شود. برای مشاهده سرویس‌های مدیریتی موجود در روتر های میکروتیک می‌توان از دستور زیر استفاده نمود:

/ip service print

بایستی توجه شود که سرویس‌های مدیریتی امن نگهداری شود و سرویس‌های ناامن غیرفعال شود برای انجام این کار از دستور زیر استفاده می‌شود:

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

همچنین برای افزایش امنیت روترهای میکروتیک می‌توان شماره پورت سرویس‌های فعال را تغییر داد. به‌عنوان نمونه در دستور زیر شماره پورت سرویس SSH تغییر پیداکرده است. انجام این کار امکان حمله Bruteforce بر روی این سرویس را کاهش می‌دهد:

/ip service set ssh port=2200
/ip service print

همچنین می‌توان سرویس‌های مدیریتی را نیز به آدرس‌های IP خاص محدود کرد:

/ip service set winbox address=192.168.88.0/24

کشف همسایه

در روتر های میکروتیک از پروتکل کشف همسایه برای نشان دادن و تشخیص سایر روترهای میکروتیک در شبکه استفاده می‌شود برای رعایت مسائل امنیتی بایستی پروتکل کشف همسایه بر روی تمامی واسط‌های شبکه غیرفعال گردد.

/ip neighbor discovery-settings set discover-interface-list=none

غیرفعال کردن سرور پهنای باند

سرور پهنای باند برای آزمون توان عملیاتی بین دو روتر میکروتیک استفاده می‌شود که بایستی غیرفعال گردد.

/tool bandwidth-server set enabled=no

غیرفعال کردن DNS cache

در روتر های میکروتیک ممکن است از DNS cache برای کاهش زمان درخواست‌های DNS کاربران استفاده شود. درصورتی‌که این سرویس نیاز نباشد و یا روتر دیگری برای این کار وجود داشته باشد سرویس مربوطه غیرفعال گردد.

/ip dns set allow-remote-requests=no

سرویس‌های Clinet در میکروتیک

در روتر های میکروتیک ممکن است برخی از سرویس‌ها فعال‌شده باشند که در صورت عدم نیاز بایستی غیرفعال گردند.

/ip proxy set enabled=no
/ip socks set enabled=no
/ip upnp set enabled=no
/ip cloud set ddns-enabled=no update-time=no

استفاده از SSH

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

/ip ssh set strong-crypto=yes

واسط‌های شبکه روتر

برای افزایش امنیت روتر های میکروتیک و جلوگیری از دسترسی افراد غیرمجاز به روتر ها بایستی واسط‌های شبکه بدون استفاده غیرفعال گردند.

/interface print
/interface set x disabled=yes

LCD

برخی از روتر های میکروتیک برای اطلاع‌رسانی بیشتر دارای LCD می‌باشند که جهت افزایش امنیت بایستی رمزی به آن اعمال گردد و یا غیرفعال شوند.

/lcd set enabled=no

دیواره آتش

در روتر های میکروتیک به‌صورت پیش‌فرض دیواره آتش و یا فایروال تنظیم‌شده است که توصیه می‌شود حذف نشود. در ادامه چندین تنظیم برای ایجاد امنیت بیشتر ارائه‌شده است.

  • فایروال IPV4  مربوط به روتر
    • برای کاهش بار در یک روتر اتصالات جدید ایجاد شود.
    • لیست آدرس‌های IP مجاز به دسترسی به روتر ایجاد شود
    • دسترسی ICMP فعال گردد.
    • مابقی دسترسی‌ها حذف گردد.
/ip firewall filter
add action=accept chain=input comment="default configuration" connection-state=established,related
add action=accept chain=input src-address-list=allowed_to_router
add action=accept chain=input protocol=icmp
add action=drop chain=input
/ip firewall address-list
add address=192.168.88.2-192.168.88.254 list=allowed_to_router
  • فایروال IPV4  مربوط به کاربر
    • برای افزایش توان عملیاتی داده‌ها، بسته‌های Established/related به fasttrack اضافه شوند.
    • اتصال نامعتبر قطع گردد و در رویدادها ثبت شود.
    • تلاش برای رسیدن به آدرس‌های غیرعمومی از شبکه محلی قطع گردد.
    • پکت های ورودی که NAT نیستند حذف گردند.
    • بسته‌های ورودی از اینترنت که دارای آدرس‌های IP عمومی نیستند حذف گردند.
    • بسته‌های ورودی از شبکه محلی که دارای آدرس IP شبکه محلی نیستند حذف گردند.
/ip firewall filter
add action=fasttrack-connection chain=forward comment=FastTrack connection-state=established,related
add action=fasttrack-connection chain=forward comment=FastTrack connection-state=established,related
add action=accept chain=forward comment="Established, Related" connection-state=established,related
add action=drop chain=forward comment="Drop invalid" connection-state=invalid log=yes log-prefix=invalid
add action=drop chain=forward comment="Drop tries to reach not public addresses from LAN" dst-address-list=not_in_internet in-interface=bridge1 log=yes log-prefix=!public_from_LAN out-interface=!bridge1
add action=drop chain=forward comment="Drop incoming packets that are not NATted" connection-nat-state=!dstnat connection-state=new in-interface=ether1 log=yes log-prefix=!NAT
add action=drop chain=forward comment="Drop incoming from internet which is not public IP" in-interface=ether1 log=yes log-prefix=!public src-address-list=not_in_internet
add action=drop chain=forward comment="Drop packets from LAN that do not have LAN IP" in-interface=bridge1 log=yes log-prefix=LAN_!LAN src-address=!192.168.88.0/24
/ip firewall address-list
add address=0.0.0.0/8 comment=RFC6890 list=not_in_internet
add address=172.16.0.0/12 comment=RFC6890 list=not_in_internet
add address=192.168.0.0/16 comment=RFC6890 list=not_in_internet
add address=10.0.0.0/8 comment=RFC6890 list=not_in_internet
add address=169.254.0.0/16 comment=RFC6890 list=not_in_internet
add address=127.0.0.0/8 comment=RFC6890 list=not_in_internet
add address=224.0.0.0/4 comment=Multicast list=not_in_internet
add address=198.18.0.0/15 comment=RFC6890 list=not_in_internet
add address=192.0.0.0/24 comment=RFC6890 list=not_in_internet
add address=192.0.2.0/24 comment=RFC6890 list=not_in_internet
add address=198.51.100.0/24 comment=RFC6890 list=not_in_internet
add address=203.0.113.0/24 comment=RFC6890 list=not_in_internet
add address=100.64.0.0/10 comment=RFC6890 list=not_in_internet
add address=240.0.0.0/4 comment=RFC6890 list=not_in_internet
add address=192.88.99.0/24 comment="6to4 relay Anycast [RFC 3068]" list=not_in_internet

رعایت نکات امنیتی IPv6

بسته IPv6 به‌طور پیش‌فرض در روتر های میکروتیک غیرفعال است و در صورت فعال‌سازی آن بایستی مسائل امنیتی رعایت شود چراکه میکروتیک در حال حاضر هیچ مقررات پیش‌فرض فایروال برای IPv6 ایجاد نمی‌کند.

  • پروتکل کشف همسایه در IPV6 غیرفعال شود
/ipv6 nd set [find] disabled=yes
  • فایروال IPV6  مربوط به روتر
    • بسته‌های جدید و همچنین بسته‌های established/related پذیرش شود
    • آدرس link-local از اینترفیس اینترنت حذف گردد.
    • دسترسی به روتر از آدرس link-local پذیرش شود
    • آدرس‌های multicast برای اهداف مدیریتی پذیرش شود
    • مابقی دسترسی‌ها حذف شوند.
/ipv6 firewall filter
add action=accept chain=input comment="allow established and related" connection-state=established,related
add chain=input action=accept protocol=icmpv6 comment="accept ICMPv6"
add chain=input action=accept protocol=udp port=33434-33534 comment="defconf: accept UDP traceroute"
add chain=input action=accept protocol=udp dst-port=546 src-address=fe80::/16 comment="accept DHCPv6-Client prefix delegation."
add action=drop chain=input in-interface=sit1 log=yes log-prefix=dropLL_from_public src-address=fe80::/16
add action=accept chain=input comment="allow allowed addresses" src-address-list=allowed
add action=drop chain=input
/ipv6 firewall address-list
add address=fe80::/16 list=allowed
add address=xxxx::/48 list=allowed
add address=ff02::/16 comment=multicast list=allowed
  • فایروال IPV6 مربوط به کاربر
    • بسته‌های جدید و همچنین بسته‌های established/related پذیرش شود
    • بسته‌های نامعتبر حذف گردد
    • بسته‌های ICMP پذیرش شود
    • اتصال جدید از سمت کاربر به اینترنت پذیرش شود
    • مابقی دسترسی‌ها حذف گردد.
/ipv6 firewall filter
add action=accept chain=forward comment=established,related connection-state=established,related
add action=drop chain=forward comment=invalid connection-state=invalid log=yes log-prefix=ipv6,invalid
add action=accept chain=forward comment=icmpv6 in-interface=!sit1 protocol=icmpv6
add action=accept chain=forward comment="local network" in-interface=!sit1 src-address-list=allowed
add action=drop chain=forward log-prefix=IPV6

مطالب مرتبط:
۴۱۵۰۰۰ مسیریاب آلوده، میکروتیک هدف اصلی
مهاجمان از هزاران روتر میکروتیک وصله نشده ترافیک را به آی‌پی‌های تحت کنترل مهاجم ناشناخته ارسال می‌کنند
آسیب پذیری منع سرویس MikroTik – ویدیو

منبع: MikroTik


مقاوم‌سازی روترهای میکروتیک
To Top