الحماية المتقدمة لراوتر ميكروتك

مرجع شامل ومبسّط لأهم سكربتات RouterOS لتحصين جهازك، مرتّب في أقسام قابلة للطي لسهولة التصفح والنسخ السريع

مرجع سكربتات RouterOS — انسخ والصق مباشرة

إخلاء مسؤولية: لسنا مسؤولين عن أي خطأ أو عطل أو ضرر أو قفل قد يصيب جهازك نتيجة عوامل مقصودة أو غير مقصودة. هذا المرجع يعمل بشكل مستقل ولا يتبع لشركة MikroTik، وجميع المشاكل التي قد تحدث على جهازك هي مسؤوليتك الخاصة، ويجب أن تكون مستعدًا لتحمّل جميع المخاطر قبل تطبيق أي سكربت.

خدمات منافذ ميكروتك
API 8728

واجهة برمجة التطبيقات (API) تتيح للمستخدمين إنشاء برامج أو تطبيقات مخصصة تتواصل مع الراوتر عبر المنفذ 8728. غالبًا ما يتعرض هذا المنفذ لهجمات Brute Force، لذا يُفضّل تغييره أو تعطيله عند عدم الحاجة إليه.

# API Port Enable
/ip service set api port=8728 address=0.0.0.0/0 disabled=no
# API Port Disable
/ip service set api port=8728 address=0.0.0.0/0 disabled=yes
API-SSL 8729

نفس وظيفة API لكن مع تأمين إضافي عبر شهادة SSL على المنفذ 8729.

# API-SSL Port Enable
/ip service set api-ssl port=8729 address=0.0.0.0/0 disabled=no
# API-SSL Port Disable
/ip service set api-ssl port=8729 address=0.0.0.0/0 disabled=yes
FTP 21

خدمة FTP القياسية على المنفذين 20 و21 لرفع/تنزيل النسخ الاحتياطية، وغالبًا ما تتعرض لهجمات Brute Force.

# FTP Port Enable
/ip service set ftp port=21 address=0.0.0.0/0 disabled=no
# FTP Port Disable
/ip service set ftp port=21 address=0.0.0.0/0 disabled=yes
SSH 22

وحدة تحكم بعيدة آمنة ومشفّرة على المنفذ 22 الافتراضي، وغالبًا ما تتعرض لهجمات Brute Force.

# SSH Port Enable
/ip service set ssh port=22 address=0.0.0.0/0 disabled=no
# SSH Port Disable
/ip service set ssh port=22 address=0.0.0.0/0 disabled=yes
TELNET 23

نفس وظيفة SSH لكن بدون تشفير، على المنفذ 23 الافتراضي، وغالبًا ما تتعرض لهجمات Brute Force.

# TELNET Port Enable
/ip service set telnet port=23 address=0.0.0.0/0 disabled=no
# TELNET Port Disable
/ip service set telnet port=23 address=0.0.0.0/0 disabled=yes
WINBOX 8291

خدمة الوصول لواجهة Winbox الرسومية عبر المنفذ 8291. بعض إصدارات RouterOS القديمة قابلة للاستغلال عبر هذا المنفذ.

# WINBOX Port Enable
/ip service set winbox port=8291 address=0.0.0.0/0 disabled=no
# WINBOX Port Disable
/ip service set winbox port=8291 address=0.0.0.0/0 disabled=yes
WWW WEBFIG 80

الوصول عبر المتصفح باستخدام HTTP على المنفذ 80.

# WWW (webfig) Port Enable
/ip service set www port=80 address=0.0.0.0/0 disabled=no
# WWW (webfig) Port Disable
/ip service set www port=80 address=0.0.0.0/0 disabled=yes
WWW-SSL WEBFIG 443

الوصول عبر المتصفح مع تأمين SSL على المنفذ 443.

# WWW-SSL (webfig) Port Enable
/ip service set www-ssl port=443 address=0.0.0.0/0 disabled=no
# WWW-SSL (webfig) Port Disable
/ip service set www-ssl port=443 address=0.0.0.0/0 disabled=yes
الحماية المتقدمة للراوتر
حماية اكتشاف الجيران (Neighbors Discovery)

بروتوكولات MNDP/CDP قد تكشف هوية الراوتر وعنوان MAC وعنوان IP الخاص به للأجهزة المجاورة.

# Hide Discover Interface Broadcast
/ip neighbor discovery-settings set discover-interface-list=none
# Show Discover Interface Broadcast
/ip neighbor discovery-settings set discover-interface-list=all
حماية خادم Mac Server

منع الوصول عن بُعد عبر عنوان MAC من خلال Winbox أو Telnet.

# Protect login from Mac Address
/tool mac-server mac-winbox set allowed-interface-list=none
/tool mac-server ping set enabled=no
# Unprotect login from Mac Address
/tool mac-server mac-winbox set allowed-interface-list=all
/tool mac-server ping set enabled=yes
حماية Bootloader

تفعيل حماية RouterBOOT يُعطّل زر الـ Reset والوصول عبر الكونسول. ملاحظة: بعد لصق سكربت التفعيل، اضغط زر الـ Reset خلال 60 ثانية لتأكيد التفعيل.

# Enable Bootloader Protector
/system routerboard settings set protected-routerboot=enabled
# Disable Bootloader Protector
/system routerboard settings set protected-routerboot=disabled
حماية خادم Btest

منع استخدام الغرباء لراوترك كخادم اختبار سرعة (Bandwidth Test).

# Btest Server Enable
/tool bandwidth-server set enabled=yes authenticate=yes
# Btest Server Disable
/tool bandwidth-server set enabled=no authenticate=yes
حماية RoMON

بروتوكول MikroTik الخاص الذي يستخدم عنوان MAC كمعرّف RoMON.

# Enable RoMON
/tool romon set enabled=yes secrets=12345
# Disable RoMON
/tool romon set enabled=no secrets=12345
الحماية الاختيارية للراوتر
حماية منافذ الخدمات من الإنترنت

حجب المنافذ الافتراضية للخدمات (telnet, ssh, ftp, winbox, www, api) عن الإنترنت.

# Protect Port Service from Internet
/interface list add name=WAN
/interface list member
add list=WAN interface="ether to ISP"
/ip firewall filter
add action=drop chain=input dst-port=21,22,23,8291,80,8728,8729 in-interface-list=WAN protocol=tcp comment="Protect Port Service from Internet"
add action=drop chain=input dst-port=21,22,23,8291,80,8728,8729 in-interface-list=WAN protocol=udp
الحماية من ثغرة Winbox (EXPLOIT)

ثغرة Winbox تتيح استخراج قاعدة بيانات المستخدمين. الإصدارات المتأثرة: 6.30.1–6.40.7، 6.29–6.42، 6.29rc1–6.43rc3.

# Anti Hack from EXPLOIT
/ip firewall filter add action=reject chain=input content=user.dat reject-with=icmp-network-unreachable comment="Anti Hack Exploit"
/ip firewall filter add action=drop chain=input content=user.dat
حماية Memcrashed UDP 11211

هجوم DDoS يستخدم المنفذ UDP 11211 (Memcached) كمُضخّم لحجم الهجوم.

# Memcrashed - Amplification Attacks UDP 11211
/ip firewall filter
add chain=forward dst-port=11211 protocol=udp action=drop comment="Memcrashed - Amplification Attacks UDP 11211"
حجب الوصول للمودم

منع العملاء من الوصول لواجهة المودم/الراوتر الخاص بمزوّد الخدمة.

# Block ACCESS MODEM
/ip firewall address-list
add address=192.168.1.1 list=IP-MODEM
add address=192.168.2.1 list=IP-MODEM
/ip firewall filter
add action=drop chain=forward dst-address-list=IP-MODEM dst-port=21-23,80,443 protocol=tcp comment="MODEM PROTECTED"
add action=drop chain=output dst-address-list=IP-MODEM dst-port=21-23,80,443 protocol=tcp
إسقاط Traceroute

إخفاء مسار الشبكة الداخلية عن أداة Traceroute.

# Drop TRACEROUTE
/ip firewall filter
add action=drop chain=forward icmp-options=11:0 protocol=icmp comment="Drop TRACEROUTE"
add action=drop chain=forward icmp-options=3:3 protocol=icmp
الحماية من NetCut

اكتشاف وحظر مستخدمي NetCut (هجمات ARP من الطبقة الثانية) تلقائيًا.

# ANTI NETCUT
/ip firewall address-list add list=netcut address=www.arcai.com comment="Anti Netcut"
/ip firewall mangle add action=add-src-to-address-list address-list=NetcutUser address-list-timeout=1h5m chain=prerouting dst-address-list=netcut dst-port=80 protocol=tcp comment="Anti Netcut"
/ip firewall filter add action=drop chain=forward src-address-list=NetcutUser comment="Anti Netcut"
/system scheduler add interval=10m name="AutoBlockNetcut" comment="Anti Netcut"

ثم افتح System → Scheduler → AutoBlockNetcut وأضف هذا السكربت داخله:

local a [/ip firewall address-list get [find list="NetcutUser"] address]
local b [/ip hotspot active get [find address=$a] mac-address]
if ($a != "") do={
  /ip hotspot ip-binding add mac-address="$b" address="$a" type=blocked
  /ip firewall address-list remove [find address="$a"]
  /system scheduler add name ($a) interval="01:00:00" on-event="/ip hotspot ip-binding remove [find mac-address=$b]; /system scheduler remove [find name=$a]"
}
حجب DNS العام المفتوح

منع استغلال راوترك كخادم DNS عام مفتوح (Open Recursive DNS).

# Block Open Recursive DNS
/interface list add name=WAN
/interface list member
add list=WAN interface="ether to ISP"
/ip firewall filter
add chain=input dst-port=53 in-interface-list=WAN protocol=tcp action=drop comment="Block Open Recursive DNS"
add chain=input dst-port=53 in-interface-list=WAN protocol=udp action=drop
حجب البروكسي المفتوح

منع استغلال البروكسي المفتوح (Open Proxy) على جهازك.

# Block Open PROXY
/interface list add name=WAN
/interface list member
add list=WAN interface="ether to ISP"
/ip firewall filter
add action=drop chain=input dst-port=3128,8080 in-interface-list=WAN protocol=tcp comment="Block Open PROXY"
add action=drop chain=input dst-port=3128,8080 in-interface-list=WAN protocol=udp
الحماية من هجمات DDoS

اكتشاف وحظر هجمات DDoS تلقائيًا باستخدام حدود الاتصالات (Connection Limits).

# Anti DDoS Attacks
/ip firewall filter
add chain=forward connection-state=new action=jump jump-target=block-ddos comment="Anti DDoS Attacks"
add chain=forward connection-state=new src-address-list=ddoser dst-address-list=ddosed action=drop
add chain=block-ddos dst-limit=50,50,src-and-dst-addresses/10s action=return
add chain=block-ddos action=add-dst-to-address-list address-list=ddosed address-list-timeout=10m
add chain=block-ddos action=add-src-to-address-list address-list=ddoser address-list-timeout=10m
الحماية من فحص المنافذ (Port Scan)

اكتشاف وإسقاط أدوات فحص المنافذ (NMAP FIN / SYN / NULL) تلقائيًا.

# Anti PORT SCAN
/ip firewall filter
add chain=input protocol=tcp psd=21,3s,3,1 action=add-src-to-address-list address-list="port scanners" address-list-timeout=2w comment="Mark Source ip port scanner to Address list" disabled=no
add chain=input protocol=tcp tcp-flags=fin,!syn,!rst,!psh,!ack,!urg action=add-src-to-address-list address-list="port scanners" address-list-timeout=2w comment="NMAP FIN Stealth scan"
add chain=input protocol=tcp tcp-flags=fin,syn action=add-src-to-address-list address-list="port scanners" address-list-timeout=2w comment="SYN/FIN scan"
add chain=input protocol=tcp tcp-flags=syn,rst action=add-src-to-address-list address-list="port scanners" address-list-timeout=2w comment="SYN/RST scan"
add chain=input protocol=tcp tcp-flags=fin,psh,urg,!syn,!rst,!ack action=add-src-to-address-list address-list="port scanners" address-list-timeout=2w comment="FIN/PSH/URG scan"
add chain=input protocol=tcp tcp-flags=fin,syn,rst,psh,ack,urg action=add-src-to-address-list address-list="port scanners" address-list-timeout=2w comment="ALL/ALL scan"
add chain=input protocol=tcp tcp-flags=!fin,!syn,!rst,!psh,!ack,!urg action=add-src-to-address-list address-list="port scanners" address-list-timeout=2w comment="NMAP NULL scan"
add chain=input src-address-list="port scanners" action=drop comment="Drop port scanners" disabled=no
الحماية من Brute Force عبر FTP وSSH

حظر محاولات الاختراق بالتخمين (Brute Force) الموجّهة ضد خدمتي FTP وSSH/Telnet.

# Anti Hack from BruteForce FTP + SSH
/ip firewall filter
add action=drop chain=input comment="drop ftp BRUTE FORCErs" dst-port=21 protocol=tcp src-address-list=ftp_blacklist
add action=accept chain=output content="530 Login incorrect" dst-limit=1/1m,9,dst-address/1m protocol=tcp
add action=add-dst-to-address-list address-list=ftp_blacklist address-list-timeout=3h chain=output content="530 Login incorrect" protocol=tcp
add action=drop chain=input comment="drop ssh BRUTE FORCErs" dst-port=22-23 protocol=tcp src-address-list=ssh_blacklist
add action=add-src-to-address-list address-list=ssh_blacklist address-list-timeout=1w3d chain=input connection-state=new dst-port=22-23 protocol=tcp src-address-list=ssh_stage3
add action=add-src-to-address-list address-list=ssh_stage3 address-list-timeout=1m chain=input connection-state=new dst-port=22-23 protocol=tcp src-address-list=ssh_stage2
add action=add-src-to-address-list address-list=ssh_stage2 address-list-timeout=1m chain=input connection-state=new dst-port=22-23 protocol=tcp src-address-list=ssh_stage1
add action=add-src-to-address-list address-list=ssh_stage1 address-list-timeout=1m chain=input connection-state=new dst-port=22-23 protocol=tcp
add action=drop chain=forward comment="drop ssh brute downstream" dst-port=22-23 protocol=tcp src-address-list=ssh_blacklist
Port Knocking عبر ICMP وحجم الحزمة

فتح المنافذ عن بُعد عبر إرسال حزم ICMP بأحجام محددة (72 ثم 172 بايت).
ويندوز: ping -l 72 (IP) ثم ping -l 172 (IP)
لينكس / ماك: ping -s 72 (IP) ثم ping -s 172 (IP)

# Port Knocking Use Icmp + Packet Size
/ip firewall filter
add action=add-src-to-address-list address-list="port-knocking-first" address-list-timeout="00:00:00" chain=input packet-size="72" protocol=icmp comment="Port Knocking first key"
add action=add-src-to-address-list address-list="port-knocking-second" address-list-timeout="00:00:00" chain=input packet-size="172" protocol=icmp src-address-list="port-knocking-first"
add action=accept chain=input dst-port="21,22,23" protocol=tcp src-address-list="port-knocking-second"
add action=drop chain=input dst-port="21,22,23" protocol=tcp src-address-list="!port-knocking-second"