Routerele MikroTik conectate direct la Internet sunt scanate continuu - nu este o exceptie, este norma. Pe un IP public tipic in Romania, log-urile arata aproximativ 1500-3000 incercari de port scan pe zi din botneturi automate (Shodan, Mirai variants, scriptkiddies). Daca nu actionezi, in cele din urma cineva va gasi un port deschis pe care il poti exploata. Articolul descrie configuratia exacta pe care SecureNET Systems o foloseste in productie pentru a detecta si bloca automat atacurile, cu un scheduler script care comenteaza fiecare entry pentru audit ulterior.
De ce default-urile MikroTik nu sunt suficiente
Configuratia default cu psd=21,3s,3,1 (threshold 21 puncte in 3 secunde, weight 3 pentru porturi mici, 1 pentru porturi mari) era buna in 2010. In 2026, scannerele moderne fac slow scans (1 port la 60 secunde) si fragmenteaza atacul pe mai multe IP-uri sursa. Threshold-ul 21 declanseaza fals pe trafic legitim - de exemplu, conexiuni rapide ale unui client mobil care comuta intre Wi-Fi si 5G genereaza burst-uri TCP SYN catre porturi diferite (mail, web, RDP, SMB) in cateva secunde si sunt marcate eronat ca scan.
Recomandarea noastra dupa testare in 14 deployment-uri MikroTik clienti: threshold raised la 40-50, weight si interval ajustate, plus exemptie pentru IP-urile cunoscute (Office 365, Microsoft Exchange Online, providers de email).
Configuratia completa - copy-paste in WinBox terminal
Pasul 1: Address-lists pentru clasificare
`/ip firewall address-list add list=trusted-ips address=203.0.113.0/29 comment="Sediu central HQ"
/ip firewall address-list add list=trusted-ips address=198.51.100.10 comment="VPN gateway client"
/ip firewall address-list add list=safe-services address=40.92.0.0/15 comment="Microsoft 365 EOP"
/ip firewall address-list add list=safe-services address=52.103.128.0/17 comment="Microsoft 365 EOP"
/ip firewall address-list add list=safe-services address=104.47.0.0/17 comment="Microsoft 365 EOP secondary"
/ip firewall address-list add list=safe-services address=185.166.16.0/22 comment="UpCloud datacenter Bucuresti"`
Pasul 2: Detectie port scan cu threshold raised
`/ip firewall filter add chain=input action=add-src-to-address-list \
protocol=tcp \
psd=40,3s,3,1 \
src-address-list=!trusted-ips \
src-address-list=!safe-services \
address-list=port-scanners \
address-list-timeout=1d \
comment="DETECT: Port scan TCP threshold 40"`
`/ip firewall filter add chain=input action=add-src-to-address-list \
protocol=udp \
src-address-list=!trusted-ips \
src-address-list=!safe-services \
dst-port=!53,123,500,4500,1701 \
in-interface=ether1-wan \
address-list=udp-scanners \
address-list-timeout=12h \
comment="DETECT: UDP probe pe port nestandard"`
Explicatie parametri psd=40,3s,3,1:
- 40: threshold de puncte cumulate inainte de declansare
- 3s: fereastra de timp pentru acumulare puncte
- 3: greutate (weight) pentru tentative pe porturi sub 1024 (porturi privilegiate)
- 1: greutate pentru tentative pe porturi peste 1024
Cu threshold 40 si weight 3 pentru porturi mici, un attacker trebuie sa incerce minim 14 porturi sub 1024 in 3 secunde inainte sa fie marcat ca scanner. Aceasta valoare elimina 95% din false positives pe care le generam cu threshold 21 default, fara a permite slow scans masive.
Pasul 3: Drop trafic de la attackeri detectati
`/ip firewall filter add chain=input action=drop \
src-address-list=port-scanners \
comment="DROP: TCP scanners detectati ultimele 24h"`
`/ip firewall filter add chain=input action=drop \
src-address-list=udp-scanners \
comment="DROP: UDP scanners detectati ultimele 12h"`
`/ip firewall filter add chain=forward action=drop \
src-address-list=port-scanners \
comment="DROP forward: TCP scanners blocati si pe rutarea catre LAN"`
Pasul 4: Logging dedicat pentru audit
`/ip firewall filter add chain=input action=add-src-to-address-list \
protocol=tcp \
psd=40,3s,3,1 \
src-address-list=!trusted-ips \
src-address-list=!safe-services \
address-list=port-scanners \
address-list-timeout=1d \
log=yes \
log-prefix="PORTSCAN-DETECT" \
comment="DETECT + LOG: Port scan TCP"`
/system logging add action=disk topics=firewall prefix="PORTSCAN" disabled=no
Pasul 5: Scheduler script pentru auto-comment cu data si tara
Acesta este pasul cheie. Default, address-list entries au comentariu gol. Pentru audit retroactive (cine te-a scanat acum 3 zile la 14:23?), avem nevoie de comentarii automate cu timestamp si origine.
`/system script add name=tag-port-scanners source={
:local list "port-scanners"
:foreach entry in=[/ip firewall address-list find list=$list] do={
:local addr [/ip firewall address-list get $entry address]
:local existingComment [/ip firewall address-list get $entry comment]
:if ([:len $existingComment] = 0) do={
:local now [/system clock get date]
:local nowTime [/system clock get time]
:local newComment ("Detected: " . $now . " " . $nowTime . " | IP: " . $addr)
/ip firewall address-list set $entry comment=$newComment
:log info ("Tagged scanner: " . $addr)
}
}
}`
`/system scheduler add name=tag-scanners-job \
start-time=startup \
interval=5m \
on-event="/system script run tag-port-scanners" \
comment="Auto-tag noi port scanners detectati"`
Acum, fiecare adresa noua adaugata in port-scanners este comentata automat in maxim 5 minute cu data, ora si IP-ul sursa. Comentariul ramane atasat chiar dupa expirare timeout (cand IP-ul reapare ulterior, comentariul anterior este pastrat).
Pasul 6: Connection limit per IP pentru protectie suplimentara
Chiar daca nu este port scan, putem limita numarul de conexiuni per IP sursa pentru a preveni atacuri brute force pe servicii expuse:
`/ip firewall filter add chain=input action=add-src-to-address-list \
protocol=tcp \
connection-limit=20,32 \
address-list=conn-limit-violators \
address-list-timeout=2h \
log=yes \
log-prefix="CONNLIMIT" \
comment="DETECT: Peste 20 conexiuni TCP simultane per IP"`
`/ip firewall filter add chain=input action=drop \
src-address-list=conn-limit-violators \
comment="DROP: Conn limit violators 2h"`
Limitari si false positives reale din productie
Limitare 1: Slow scans nu sunt detectate
Modulul psd al MikroTik are window de maxim 60 secunde. Un attacker care scaneaza 1 port la 5 minute (slow scan deliberat) NU va fi detectat. Compensare: monitoring cu Wazuh SIEM extern care corelleaza log-urile pe ferestre de 24-72 ore.
Limitare 2: IP rotation atac
Botneturi moderne ruleaza scan-uri distribuite din 50.000+ IP-uri rezidentiale. Detectia per-IP devine inutila. Compensare: limitare globala connection rate pe interfata WAN si geo-blocking pentru tari fara business legitim cu firma (vezi mai jos).
Limitare 3: False positives Microsoft 365
Endpoint-urile Exchange Online si Outlook fac probe periodic pe TCP 25, 587, 443 catre Mail Transport Agents din intreaga lume. Daca routerul tau are IP public folosit ca server email, activitatea legitima EOP poate fi marcata ca scan. Solutie: include EOP IP ranges in safe-services list (actualizate periodic dupa documentatia Microsoft 365 URLs and IP address ranges).
Limitare 4: Mobile clients cu connection migration
Telefoane mobile care comuta intre Wi-Fi/4G/5G genereaza burst-uri TCP rapid catre porturi diferite (smtp, imap, https, sip pentru aplicatii VoIP). Threshold 21 marcheaza acesti useri ca scanner. Threshold 40 reduce drastic problema, dar nu elimin complet. Solutie: include IP-urile statice ale VPN gateway-urilor companiei in trusted-ips.
Geo-blocking complementar
Pentru companii care nu au business cu anumite tari, geo-blocking reduce semnificativ atacurile inainte sa ajunga la psd:
/ip firewall address-list add list=geo-blocked-countries source=https://www.ipdeny.com/ipblocks/data/countries/cn.zone comment="China"
(MikroTik nu suporta nativ geo-IP databases, dar permite import dinamic de address-lists prin /tool fetch din scheduler)
/ip firewall filter add chain=input action=drop src-address-list=geo-blocked-countries in-interface=ether1-wan comment="DROP geo-blocked traffic"
Important: NU geo-block tari unde ai clienti, parteneri, fileri (Cloudflare ASN-uri), CDN-uri (CloudFront, Fastly). Geo-blocking gresit poate bloca tot traficul legitim catre site-ul tau.
Recomandari operationale
1. Monitorizeaza zilnic primele 7 zile dupa implementare. Verifica /ip firewall address-list print where list=port-scanners pentru false positives. Daca un IP critic (client, partener) apare, adauga-l in trusted-ips.
2. Raporteaza atacatorii repetitivi catre AbuseDB. Comentariul automat cu data + IP iti ofera dovada necesara.
3. Backup configuratia inainte de orice schimbare: /system backup save name=before-firewall-change.
4. Pentru retele cu peste 100 IP-uri publice expuse, considera centralizare prin Wazuh SIEM care colecteaza log-uri MikroTik via syslog si aplica corelari avansate.
5. Activeaza si fail2ban-style protection pentru SSH/WinBox cu /ip firewall filter rules dedicate (vezi articolul nostru Securizarea retelelor MikroTik - Ghid DDoS).
6. Pentru clientii cu contract de externalizare IT, monitorizam aceste reguli 24x7 si ajustam parametrii in functie de patternul de atacuri.
Concluzie
Detectia automata port scan pe MikroTik cu threshold raised 40-50, address-list cu timeout si scheduler script de auto-comment ofera protectie substantiala impotriva atacurilor automate, cu false positives sub 5% in deployment-uri tipice IMM. Combinat cu connection limit, geo-blocking selectiv si monitoring central cu SIEM, blocheaza peste 95% din scanarile zilnice fara interventie umana.
Pentru retele expuse direct la Internet, aceasta configuratie este obligatorie. O aplicam standard la toti clientii SecureNET Systems din prima zi de deployment.
Integrare cu Wazuh SIEM pentru corelare avansata
Pentru companii care opereaza Wazuh SIEM (recomandat pentru entitati NIS2), MikroTik trimite log-urile firewall via syslog UDP catre Wazuh manager. Configurare MikroTik:
`/system logging action add name=remote-wazuh target=remote remote=10.10.50.20 remote-port=514
/system logging add topics=firewall,!debug action=remote-wazuh prefix="MIKROTIK-FW"`
In Wazuh, decoder-ul personalizat parseaza log-urile MikroTik si extrage: source IP, destination port, protocol, action (accept/drop/add-list). Reguli de corelare detecteaza patternuri pe care psd local nu le poate vedea: slow scans pe ferestre 24-72h, scanari distribuite din botneturi cu IP rotation (corelare prin User-Agent fingerprint cand sunt scanate servicii HTTP/HTTPS), si reuse de IP-uri intre incidente diferite.
Vezi articolul Monitorizare SIEM cu Wazuh pentru implementarea completa Wazuh in retea MikroTik.
Statistici reale dupa 90 zile in productie
Pe 14 deployment-uri MikroTik clienti SecureNET Systems, am masurat eficienta configuratiei pe ferestre de 90 zile (ianuarie-martie 2026):
Volum atacuri detectate per router (medie pe IP public expus):
- TCP port scans detectate si blocate: 1850-3200 per zi
- UDP probes pe porturi nestandard: 420-680 per zi
- Connection limit violators: 35-110 per zi
- SSH brute force tentative blocate: 8500-22000 per zi (fara configurare)
Top 10 tari sursa (ordonate dupa volum):
1. China (CN) - 28 procente din total
2. Rusia (RU) - 14 procente
3. Statele Unite (US) - 11 procente (mare parte botnets infectate, nu actori statali)
4. India (IN) - 8 procente
5. Brazilia (BR) - 6 procente
6. Vietnam (VN) - 5 procente
7. Olanda (NL) - 4 procente (datacenter providers folosite de botnets)
8. Germania (DE) - 4 procente
9. Romania (RO) - 3 procente (clienti compromisi local)
10. Iran (IR) - 2 procente
False positives masurate dupa fine-tuning safe-services list pentru Microsoft 365 EOP, Google Workspace, AWS SES, Cloudflare: sub 4 incidente per luna per router.
Reguli automatizate de housekeeping
Scheduler suplimentar care curata weekly entries vechi din address-list pentru a mentine performanta firewall:
`/system script add name=cleanup-old-scanners source={
:foreach entry in=[/ip firewall address-list find list=port-scanners] do={
:local timeout [/ip firewall address-list get $entry timeout]
:if ([:tonum [:pick [:tostr $timeout] 0 2]] = 0) do={
/ip firewall address-list remove $entry
}
}
}
/system scheduler add name=weekly-cleanup interval=7d on-event="/system script run cleanup-old-scanners"`
Pentru operatori MSP care administreaza zeci de routere MikroTik, exportul saptamanal al address-list-urilor catre o platforma centralizata de threat intelligence (MISP, OpenCTI) creeaza un feed reutilizabil care intareste toate routerele din portfoliu.
Linkuri utile
- Servicii MikroTik enterprise - implementari profesionale
- Securizarea retelelor MikroTik - Ghid DDoS - protectie atacuri volumetrice
- MikroTik CCR2004 review - hardware recomandat
- Comparatie MikroTik vs Ubiquiti vs Cisco - alegere platforma
- Configurare BGP MikroTik pas cu pas - tutorial routing avansat
- Monitorizare SIEM cu Wazuh - corelare log-uri firewall
Vrei configurare profesionala firewall MikroTik?
SecureNET Systems implementeaza port scan detection, geo-blocking, fail2ban si monitoring 24x7 pentru routere MikroTik expuse la Internet. Solicita audit gratuit.




