امنسازی روتر فقط بستن چند سرویس یا عوض کردن پسورد نیست. روتر در مرز شبکه قرار دارد و اگر درست Hardening نشود، میتواند تبدیل به سادهترین نقطه ورود مهاجم شود. در بسیاری از شبکهها، مشکل اصلی این نیست که تجهیزات ضعیفاند؛ مشکل این است که تنظیمات مدیریتی، سرویسها، دسترسیها، لاگها و سیاستهای امنیتی بهدرستی پیادهسازی نشدهاند.
در این مقاله از Bytotech، نسخه نهایی و کامل امنسازی دو پلتفرم پرکاربرد یعنی Cisco IOS و MikroTik RouterOS را ارائه میکنم. تمرکز مقاله روی دستورات مهم، سناریوهای کاربردی و دلیل فنی هر تنظیم است تا بتوانی آن را هم بهعنوان مرجع مطالعه و هم بهعنوان چکلیست عملیاتی استفاده کنی.
1) اصول پایه Hardening که برای هر دو برند مشترک است
قبل از ورود به دستورات، این 8 اصل برای هر روتر ضروری است:
- دسترسی مدیریتی فقط از IPهای مشخص مجاز باشد.
- Telnet، HTTP و سرویسهای ناامن یا بلااستفاده غیرفعال شوند.
- احراز هویت محلی یا AAA قوی پیادهسازی شود.
- فقط پروتکلهای امن مثل SSHv2، HTTPS و SNMPv3 استفاده شوند.
- لاگبرداری و زمانبندی دقیق با Syslog و NTP فعال باشد.
- ACL یا Firewall برای محدودسازی دسترسی به خود روتر اعمال شود.
- بکاپگیری منظم و بررسی تغییرات کانفیگ انجام شود.
- سیستمعامل و Firmware بهروز نگه داشته شود.
2) امنسازی کامل روترهای Cisco IOS
2.1 تنظیم نام دستگاه، دامنه و رمز عبور امن
این بخش پایهای است، اما اگر درست انجام نشود، بقیه تنظیمات هم ناقص میمانند.
hostname R1
ip domain-name bytotech.local
enable secret VeryStrongEnablePassword123
service password-encryptionدلیل فنی:
- hostname و ip domain-name برای تولید کلید RSA لازم هستند.
- enable secret از enable password امنتر است چون هششده ذخیره میشود.
- service password-encryption رمزهای ساده را در کانفیگ Obfuscate میکند. این ویژگی بهتنهایی کافی نیست، اما بهتر از ذخیره Plain Text است.
نکته:
اگر این دستور وجود داشته باشد، بهتر است حذف شود:
no enable password
2.2 ساخت کاربر محلی با سطح دسترسی مشخص
username admin privilege 15 secret StrongAdminPass123
username nocuser privilege 5 secret NOCReadOnlyPass123دلیل فنی:
- بهجای استفاده از رمز مشترک، کاربر مجزا تعریف میشود.
- privilege 15 دسترسی کامل میدهد.
- میتوان برای کاربران NOC یا Helpdesk سطح پایینتر در نظر گرفت.
2.3 فعالسازی SSH و حذف Telnet
crypto key generate rsa modulus 2048
ip ssh version 2
ip ssh time-out 60
ip ssh authentication-retries 2دلیل فنی:
- کلید RSA برای SSH لازم است.
- فقط SSHv2 باید فعال باشد.
- کاهش تعداد دفعات تلاش و تایماوت، احتمال Brute Force را کمتر میکند.
پیکربندی خطوط VTY:
line vty 0 4
transport input ssh
login local
exec-timeout 5 0
access-class 10 in
line vty 5 15
transport input ssh
login local
exec-timeout 5 0
access-class 10 inدلیل فنی:
- transport input ssh یعنی Telnet بسته شود.
- login local احراز هویت از یوزرهای لوکال را اعمال میکند.
- exec-timeout 5 0 اگر ادمین سیستم را رها کند، سشن خودکار بسته میشود.
- access-class دسترسی مدیریتی را فقط به IPهای مجاز محدود میکند.
ACL برای محدودسازی مدیریت:
access-list 10 permit 192.168.10.0 0.0.0.255
access-list 10 deny any log
2.4 بنر هشدار قانونی
banner motd ^C
Unauthorized access is prohibited.
All activities may be monitored and logged.
^Cدلیل فنی:
- از نظر امنیتی و حقوقی مهم است.
- برای Audit و Policy سازمانی مفید است.
2.5 غیرفعالسازی سرویسهای ناامن و غیرضروری
این بخش از مهمترین قسمتهای Hardening در Cisco است.
no ip http server
no ip http secure-server
no service tcp-small-servers
no service udp-small-servers
no ip bootp server
no ip source-route
no ip finger
no service pad
no cdp runدلیل فنی:
- no ip http server مدیریت وب HTTP را میبندد.
- no ip http secure-server اگر Web UI لازم نیست، HTTPS را هم ببند.
- small-servers سرویسهای قدیمی و غیرضروری را حذف میکند.
- no ip source-route از سوءاستفاده Source Routing جلوگیری میکند.
- no ip finger یک سرویس قدیمی و غیرضروری است.
- no cdp run اگر همسایهیابی سیسکو لازم نیست، اطلاعات توپولوژی لو نرود.
اگر CDP در کل دستگاه لازم نیست، خاموشش کن. اگر لازم است، فقط روی اینترفیسهای بیرونی خاموش شود:
interface GigabitEthernet0/0
no cdp enable
2.6 محافظت در برابر حملات Login و Brute Force
login block-for 120 attempts 3 within 60
login on-failure log
login on-success log
security passwords min-length 10دلیل فنی:
- بعد از 3 تلاش ناموفق در 60 ثانیه، ورود برای 120 ثانیه قفل میشود.
- تلاشهای موفق و ناموفق لاگ میشوند.
- حداقل طول پسورد افزایش مییابد.
2.7 استفاده از AAA
اگر AAA محلی یا مبتنی بر RADIUS/TACACS+ داری، این بخش ضروری است. با توجه به ترجیح حرفهای شبکه، RADIUS بسیار رایج و کاربردی است.
فعالسازی AAA محلی:
aaa new-model
aaa authentication login default local
aaa authorization exec default local
aaa accounting exec default start-stop local
سناریوی AAA با RADIUS:
aaa new-model
radius server RAD1
address ipv4 192.168.10.20 auth-port 1812 acct-port 1813
key RadiusSharedKey123
aaa group server radius RAD-GRP
server name RAD1
aaa authentication login default group RAD-GRP local
aaa authorization exec default group RAD-GRP local
aaa accounting exec default start-stop group RAD-GRPدلیل فنی:
- اگر RADIUS در دسترس بود، احراز هویت مرکزی انجام میشود.
- اگر RADIUS قطع شد، local بهعنوان fallback عمل میکند.
- برای Audit و ثبت رخدادها بسیار مهم است.
2.8 امنسازی SNMP
اگر SNMP لازم نیست، کامل غیرفعال شود. اگر لازم است، فقط SNMPv3.
حذف Communityهای قدیمی:
no snmp-server community public
no snmp-server community private
پیکربندی SNMPv3:
snmp-server group SECURE v3 priv
snmp-server user snmpadmin SECURE v3 auth sha AuthPass123 priv aes 128 PrivPass123
snmp-server host 192.168.10.50 version 3 priv snmpadmin
snmp-server enable traps
دلیل فنی:
- SNMPv1/v2c فقط Community String دارند و امن نیستند.
- SNMPv3 احراز هویت و رمزنگاری دارد.
2.9 فعالسازی Syslog
service timestamps log datetime msec localtime show-timezone
logging buffered 16384 warnings
logging host 192.168.10.50
logging trap informational
logging origin-id hostnameدلیل فنی:
- زمان دقیق در لاگ برای تحلیل Incident مهم است.
- ارسال لاگ به Syslog Server باعث حفظ شواهد میشود.
- origin-id hostname مشخص میکند لاگ مربوط به کدام روتر است.
2.10 تنظیم NTP
ntp server 192.168.10.1 prefer
ntp update-calendarاگر نیاز به احراز هویت NTP داری:
ntp authentication-key 1 md5 NTPStrongKey123
ntp authenticate
ntp trusted-key 1
ntp server 192.168.10.1 key 1دلیل فنی:
- بدون ساعت دقیق، لاگها ارزش عملیاتی خود را از دست میدهند.
- NTP Authentication از جعل زمان جلوگیری میکند.
2.11 امنسازی اینترفیسها و پورتهای بلااستفاده
روی پورتهای استفادهنشده:
interface GigabitEthernet0/3
description UNUSED_PORT
shutdown
روی اینترفیس WAN یا مدیریت:
interface GigabitEthernet0/0
description WAN_LINK
no ip redirects
no ip proxy-arp
no ip unreachables
no ip directed-broadcastدلیل فنی:
- no ip redirects از Redirectهای ناخواسته جلوگیری میکند.
- no ip proxy-arp مانع پاسخگویی غیرضروری ARP میشود.
- no ip directed-broadcast جلوی برخی حملات Smurf را میگیرد.
- no ip unreachables در برخی سناریوها اطلاعات اضافی به مهاجم نمیدهد.
2.12 کنترل Plane مدیریت با ACL
برای محدودسازی دسترسی SSH یا SNMP از شبکه مدیریت:
ip access-list standard MGMT-ONLY
permit 192.168.10.0 0.0.0.255
deny any log
اعمال روی VTY قبلاً انجام شد. اگر SNMP لازم است:
snmp-server community NotRecommended RO MGMT-ONLYاما تأکید میشود بهجای این روش، SNMPv3 استفاده شود.
2.13 امنسازی Routing Protocolها
اگر OSPF داری:
interface GigabitEthernet0/1
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 OSPFKey123
برای EIGRP:
key chain EIGRP-KEYS
key 1
key-string EIGRPStrongKey123
interface GigabitEthernet0/1
ip authentication mode eigrp 100 md5
ip authentication key-chain eigrp 100 EIGRP-KEYSدلیل فنی:
- بدون Authentication، همسایه جعلی میتواند Route تزریق کند.
2.14 ذخیره و بکاپ کانفیگ
copy running-config startup-config
بکاپ روی TFTP/SCP در صورت نیاز:
copy running-config tftp:
3) امنسازی کامل روترهای MikroTik RouterOS
در MikroTik بیشترین اشتباهها معمولاً در سه بخش رخ میدهد: سرویسهای باز، Input Chain ضعیف، و دسترسی مدیریتی از اینترنت.
3.1 تغییر نام روتر و ساخت کاربر جدید
/system identity set name=MT-Core-01
/user add name=admin-secure group=full password=StrongPassword123
اگر کاربر پیشفرض فعال است، آن را حذف یا غیرفعال کن:
/user disable adminدلیل فنی:
- کاربر پیشفرض admin یکی از رایجترین اهداف حملات خودکار است.
- هویت درست دستگاه در لاگها مفید است.
3.2 محدودسازی سرویسهای مدیریتی
مشاهده سرویسها:
/ip service print
غیرفعالسازی سرویسهای ناامن یا بلااستفاده:
/ip service disable telnet
/ip service disable ftp
/ip service disable www
/ip service disable api
/ip service disable api-ssl
اگر فقط Winbox و SSH نیاز داری:
/ip service set ssh address=192.168.10.0/24 port=22
/ip service set winbox address=192.168.10.0/24 port=8291
اگر HTTPS لازم است:
/ip service set www-ssl address=192.168.10.0/24 disabled=no
/ip service set www disabled=yesدلیل فنی:
- محدود کردن address روی هر سرویس، مهمتر از صرفاً فعال یا غیرفعال بودن آن است.
- Winbox باز روی اینترنت یکی از اشتباهات کلاسیک است.
3.3 غیرفعالسازی Neighbor Discovery
/ip neighbor discovery-settings set discover-interface-list=none
یا فقط روی اینترفیس های امن داخلی:
/interface list add name=LAN
/interface list member add list=LAN interface=bridge
/ip neighbor discovery-settings set discover-interface-list=LANدلیل فنی:
- MikroTik Discovery اطلاعات دستگاه و شبکه را لو میدهد.
- روی WAN هرگز نباید فعال باشد.
3.4 غیر فعالسازی MAC Server و MAC Winbox روی اینترفیس های غیر ضروری
/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 را محدود میکنند اما فراموش میکنند MAC Winbox هنوز از لایه 2 قابل دسترس است.
- این یکی از مهمترین نکات Hardening در MikroTik است.
3.5 ساخت Firewall Input Chain استاندارد
این مهمترین بخش Hardening در MikroTik است.
/ip firewall filter
add chain=input connection-state=established,related action=accept comment="Allow established/related"
add chain=input connection-state=invalid action=drop comment="Drop invalid"
add chain=input src-address=192.168.10.0/24 action=accept comment="Allow management from LAN/MGMT"
add chain=input protocol=icmp action=accept comment="Allow ICMP as needed"
add chain=input in-interface-list=WAN action=drop comment="Drop all other WAN access to router"
قبل از آن بهتر است Interface List تعریف شود:
/interface list add name=WAN
/interface list add name=LAN
/interface list member add list=WAN interface=ether1
/interface list member add list=LAN interface=bridgeدلیل فنی:
- فقط ترافیک لازم به خود روتر میرسد.
- روتر باید از ترافیک عبوری جدا دیده شود؛ Input Chain مربوط به خود دستگاه است.
3.6 محدودسازی دسترسی SSH با Strong Crypto
در RouterOS نسخه های جدید، تنظیمات SSH را بررسی کن:
/ip ssh set strong-crypto=yes forwarding-enabled=noدلیل فنی:
- الگوریتمهای قویتر استفاده میشوند.
- Port Forwarding روی SSH اگر لازم نیست، بسته شود.
3.7 جلوگیری از Brute Force در MikroTik
یک روش متداول با Address List:
/ip firewall filter
add chain=input protocol=tcp dst-port=22 connection-state=new src-address-list=ssh_blacklist action=drop comment="Drop blacklisted SSH attackers"
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 comment="Stage1"
add chain=input protocol=tcp dst-port=22 connection-state=new src-address-list=ssh_stage1 action=add-src-to-address-list address-list=ssh_stage2 address-list-timeout=1m comment="Stage2"
add chain=input protocol=tcp dst-port=22 connection-state=new src-address-list=ssh_stage2 action=add-src-to-address-list address-list=ssh_blacklist address-list-timeout=1d comment="Blacklist attackers"دلیل فنی:
- مهاجم بعد از چند تلاش مکرر وارد Blacklist میشود.
- برای Winbox هم میتوان منطق مشابه ساخت.
3.8 غیرفعال سازی خدمات غیر ضروری لایه 2
/ip dhcp-client print
/ip dns set allow-remote-requests=no
/tool bandwidth-server set enabled=no
/ip socks set enabled=no
/ip proxy set enabled=no
/ip upnp set enabled=no
دلیل فنی:
- اگر روتر DNS Resolver عمومی، SOCKS Proxy، Proxy Server یا UPnP غیرضروری ارائه دهد، سطح حمله شدیداً بالا میرود.
3.9 امن سازی DNS
/ip dns set servers=1.1.1.1,8.8.8.8 allow-remote-requests=no
اگر روتر باید فقط برای LAN سرویس DNS بدهد، آن را با Firewall محدود کن، نه برای همه:
/ip firewall filter add chain=input protocol=udp dst-port=53 src-address=192.168.10.0/24 action=accept comment="Allow DNS from LAN only"
SNMP 3.10 امن در MikroTik
اگر SNMP لازم نیست:
/snmp set enabled=no
اگر لازم است:
/snmp set enabled=yes contact="NetAdmin" location="Datacenter-Rack1"
در RouterOS باید دسترسی SNMP را با Firewall محدود کنی:
/ip firewall filter add chain=input protocol=udp dst-port=161 src-address=192.168.10.50 action=accept comment="Allow SNMP from monitoring server"دلیل فنی:
- حتی اگر SNMP فعال باشد، بدون محدودسازی فایروال امن نیست.
Syslog 3.11در MikroTik
برای لاگ محلی:
/system logging add topics=info action=memory
/system logging add topics=warning action=memory
/system logging add topics=error action=memory
/system logging add topics=critical action=memory
برای Syslog Remote:
/system logging action add name=remote target=remote remote=192.168.10.50 remote-port=514 syslog-facility=local7
/system logging add topics=info action=remote
/system logging add topics=warning action=remote
/system logging add topics=error action=remote
/system logging add topics=critical action=remote
/system logging add topics=account action=remoteدلیل فنی:
- رخدادهای مدیریتی و امنیتی باید خارج از خود روتر ذخیره شوند.
3.12 تنظیم NTP در MikroTik
در نسخههای جدید:
/system ntp client set enabled=yes
/system ntp client set servers=192.168.10.1
بررسی Time Zone:
/system clock set time-zone-name=Asia/Tehranدلیل فنی:
- زمان درست برای Correlation لاگها ضروری است.
3.13 محدودسازی ترافیک ورودی از WAN به خود روتر
اگر فقط VPN یا سرویس خاصی باید از بیرون به روتر برسد، دقیقاً همان پورت را باز کن. مثال برای IPsec/L2TP یا WireGuard بسته به سناریو متفاوت است، اما اصل این است که هیچ Rule عمومی برای پذیرش ورودی از WAN نداشته باشی.
نمونه پایه:
/ip firewall filter
add chain=input in-interface-list=WAN protocol=tcp dst-port=8291 action=drop comment="Block Winbox from WAN"
add chain=input in-interface-list=WAN protocol=tcp dst-port=22 action=drop comment="Block SSH from WAN if not needed"
3.14 FastTrack با دقت
اگر از FastTrack استفاده میکنی، توجه کن روی تحلیل ترافیک و برخی قابلیتهای امنیتی اثر دارد. بنابراین برای شبکههای حساس باید با شناخت فعال شود.
نمونه:
/ip firewall filter add chain=forward connection-state=established,related action=fasttrack-connection
/ip firewall filter add chain=forward connection-state=established,related action=acceptاین مورد مستقیم Hardening نیست، اما در طراحی سیاست امنیتی مهم است.
3.15 بکاپ و Export کانفیگ در MikroTik
بکاپ باینری:
/system backup save name=mt-backup
Export خوانا:
/export file=mt-exportنکته:
- فایل Backup برای Restore روی همان نوع سیستم مناسب است.
- فایل Export برای Audit و مستندسازی بهتر است.
- بهتر است هر دو را خارج از روتر ذخیره کنی.
4) چکلیست سریع Cisco
- enable secret تعریف شود.
- کاربر محلی با secret ساخته شود.
- SSHv2 فعال و Telnet غیرفعال شود.
- line vty فقط از IPهای مدیریت قابل دسترس باشد.
- HTTP/HTTPS اگر لازم نیست غیرفعال شود.
- AAA محلی یا RADIUS پیادهسازی شود.
- SNMPv3 جایگزین Communityهای قدیمی شود.
- Syslog و NTP فعال باشند.
- CDP روی WAN یا کل دستگاه در صورت عدم نیاز خاموش شود.
- اینترفیسهای بلااستفاده Shutdown شوند.
- روی اینترفیسها no ip redirects و no ip proxy-arp بررسی شود.
- پروتکلهای Routing در صورت استفاده Authentication داشته باشند.
- کانفیگ ذخیره و بکاپ شود.
- IOS بهروز نگه داشته شود.
5) چکلیست سریع MikroTik
- کاربر پیشفرض غیرفعال یا حذف شود.
- فقط سرویسهای لازم فعال بمانند.
- Winbox و SSH فقط از Subnet مدیریتی در دسترس باشند.
- Neighbor Discovery روی WAN غیرفعال شود.
- MAC Server و MAC Winbox فقط روی LAN مجاز باشند.
- Input Chain استاندارد برای محافظت از خود روتر نوشته شود.
- SSH با strong-crypto=yes تنظیم شود.
- Brute Force Protection برای SSH و Winbox در نظر گرفته شود.
- DNS Remote Requests اگر لازم نیست خاموش شود.
- SOCKS، Proxy، UPnP و سرویسهای بلااستفاده غیرفعال شوند.
- SNMP فقط در صورت نیاز و با محدودسازی فایروال فعال باشد.
- Syslog و NTP فعال باشند.
- Backup و Export منظم گرفته شود.
- RouterOS و Firmware بهروز باشند.
6) خلاصه مطلب
اگر بخواهم خیلی خلاصه و حرفهای بگویم، امنیت روتر در Cisco و MikroTik حول 5 محور میچرخد: کنترل دسترسی مدیریتی، حذف سرویسهای غیرضروری، لاگ و مانیتورینگ، محدودسازی ترافیک ورودی به خود دستگاه، و نگهداری صحیح شامل Backup و Update.
در Cisco، تمرکز اصلی روی SSH، AAA، ACL، SNMPv3، Syslog و امنسازی Interfaceهاست. در MikroTik، مهمترین بخشها معمولاً Firewall Input Chain، محدودسازی Winbox/SSH، بستن MAC Access، خاموش کردن Discovery و سرویسهای باز هستند.
اگر این مقاله را بهصورت عملی در شبکه پیاده کنی، بخش بزرگی از ریسکهای رایج مثل Brute Force، دسترسی مدیریتی ناامن، لو رفتن اطلاعات توپولوژی، و سوءاستفاده از سرویسهای باز را پوشش میدهی. مهمتر از همه این است که Hardening یک کار یکباره نیست؛ باید بهصورت دورهای Audit شود و بعد از هر تغییر، دوباره بررسی گردد.
نظرات کاربران
هنوز نظری ثبت نشده است. اولین نفری باشید که نظر خود را مینویسد!