رفتن به محتوا
بازگشت به وبلاگ
میکروتیک

محافظت از MikroTik در برابر حملات Brute Force

حملات Brute Force به SSH، Winbox و پنل وب MikroTik را با قوانین فایروال، Address List های داینامیک و Rate Limiting مسدود کنید.

بهمن ۱۴۰۵
۱۱ دقیقه مطالعه

محافظت از میکروتیک در برابر حملات Brute Force

حملات brute force هزاران ترکیب ورود به سیستم را روی رابط‌های مدیریتی شما امتحان می‌کنند. این پست نشان می‌دهد چطور با استفاده از قوانین فایروال RouterOS، آن‌ها را به‌صورت خودکار شناسایی و مسدود کنید.

چطور Brute Force کار می‌کند

مهاجم ابزاری مثل Hydra یا Medusa اجرا می‌کند:

BASH
hydra -l admin -P /usr/share/wordlists/rockyou.txt 192.168.1.1 ssh

در عرض چند دقیقه می‌تواند ده‌ها هزار رمز عبور را امتحان کند. بدون محافظت، RouterOS هر کدام را امتحان می‌کند.

مرحله ۱ — تغییر نام یا غیرفعال کردن admin پیش‌فرض

TEXT
/user set [find name=admin] name=netadmin

یا یک admin جدید بسازید و admin پیش‌فرض را غیرفعال کنید:

TEXT
/user add name=netadmin password=Str0ng!Pass group=full
/user disable admin

مرحله ۲ — محافظت SSH با Address Lists

این تکنیک از address list ها برای قرنطینه موقت IPهایی که چند بار در SSH شکست خورده‌اند استفاده می‌کند:

TEXT
/ip firewall filter

# مرحله ۱: اگر IP در لیست سیاه است، فوراً drop کن
add chain=input protocol=tcp dst-port=22 src-address-list=ssh_blacklist action=drop comment="Drop SSH blacklist"

# مرحله ۲: سومین شکست در ۱ دقیقه → blacklist برای ۱۰ روز
add chain=input protocol=tcp dst-port=22 src-address-list=ssh_stage3 action=add-src-to-address-list address-list=ssh_blacklist address-list-timeout=10d

# مرحله ۳: دومین شکست → انتقال به stage 3
add chain=input protocol=tcp dst-port=22 src-address-list=ssh_stage2 action=add-src-to-address-list address-list=ssh_stage3 address-list-timeout=1m

# مرحله ۴: اولین شکست → انتقال به stage 2
add chain=input protocol=tcp dst-port=22 src-address-list=ssh_stage1 action=add-src-to-address-list address-list=ssh_stage2 address-list-timeout=1m

# مرحله ۵: اتصال جدید → اضافه به stage 1
add chain=input protocol=tcp dst-port=22 connection-state=new action=add-src-to-address-list address-list=ssh_stage1 address-list-timeout=1m

مرحله ۳ — محافظت Winbox

همان منطق را برای پورت Winbox 8291 اعمال کنید:

TEXT
/ip firewall filter
add chain=input protocol=tcp dst-port=8291 src-address-list=winbox_blacklist action=drop
add chain=input protocol=tcp dst-port=8291 src-address-list=wb_stage3 action=add-src-to-address-list address-list=winbox_blacklist address-list-timeout=10d
add chain=input protocol=tcp dst-port=8291 src-address-list=wb_stage2 action=add-src-to-address-list address-list=wb_stage3 address-list-timeout=1m
add chain=input protocol=tcp dst-port=8291 src-address-list=wb_stage1 action=add-src-to-address-list address-list=wb_stage2 address-list-timeout=1m
add chain=input protocol=tcp dst-port=8291 connection-state=new action=add-src-to-address-list address-list=wb_stage1 address-list-timeout=1m

مرحله ۴ — تغییر پورت‌های پیش‌فرض

SSH را از ۲۲ به یک پورت غیر استاندارد منتقل کنید:

TEXT
/ip service set ssh port=22222

مرحله ۵ — Whitelist IP مدیریتی

مؤثرترین راه: فقط به IP خودتان اجازه دهید به سرویس‌های مدیریتی دسترسی داشته باشد:

TEXT
/ip firewall filter
add chain=input src-address=203.0.113.10 action=accept comment="IP مدیریتی من"
add chain=input protocol=tcp dst-port=22,8291,80,443 action=drop comment="مسدود کردن مدیریت از WAN"

تأیید عملکرد Blacklist

TEXT
/ip firewall address-list print where list=ssh_blacklist

باید IPهایی را ببینید که در حال تجمع هستند اگر brute force روی روتر در حال اتفاق باشد.