Isang madaling paraan upang protektahan ang iyong Mikrotik mula sa mga pag-atake

Nais kong ibahagi sa komunidad ang isang simple at gumaganang paraan kung paano gamitin ang Mikrotik upang protektahan ang iyong network at ang mga serbisyong "sumilip" mula sa likod nito mula sa mga panlabas na pag-atake. Ibig sabihin, tatlong panuntunan lamang upang ayusin ang isang honeypot sa Mikrotik.

Kaya, isipin natin na mayroon tayong maliit na opisina, na may panlabas na IP sa likod kung saan mayroong RDP server para sa mga empleyado na magtrabaho nang malayuan. Ang unang tuntunin ay, siyempre, upang baguhin ang port 3389 sa panlabas na interface sa isa pa. Ngunit hindi ito magtatagal; pagkalipas ng ilang araw, magsisimulang magpakita ang log ng pag-audit ng terminal server ng ilang nabigong pahintulot bawat segundo mula sa hindi kilalang mga kliyente.

Isa pang sitwasyon, meron kang asterisk na nakatago sa likod ng Mikrotik, syempre hindi sa 5060 udp port, at after a couple of days ay magsisimula na din ang paghahanap ng password... oo, oo, alam ko, fail2ban ang lahat, ngunit kailangan pa rin gawin mo ito... halimbawa, na-install ko ito kamakailan sa ubuntu 18.04 at nagulat ako nang matuklasan na ang fail2ban sa labas ng kahon ay hindi naglalaman ng mga kasalukuyang setting para sa asterisk mula sa parehong kahon ng parehong pamamahagi ng ubuntu... at pag-googling ng mga mabilisang setting para sa mga handa na "mga recipe" ay hindi na gumagana, ang mga numero para sa mga release ay lumalaki sa paglipas ng mga taon, at ang mga artikulo na may "mga recipe" para sa mga lumang bersyon ay hindi na gumagana, at ang mga bago ay halos hindi na lumalabas... Ngunit ako ay lumihis...

Kaya, kung ano ang isang honeypot sa maikling salita - ito ay isang honeypot, sa aming kaso, anumang sikat na port sa isang panlabas na IP, anumang kahilingan sa port na ito mula sa isang panlabas na kliyente ay nagpapadala ng src address sa blacklist. Lahat.

/ip firewall filter
add action=add-src-to-address-list address-list="Honeypot Hacker" 
    address-list-timeout=30d0h0m chain=input comment="block honeypot ssh rdp winbox" 
    connection-state=new dst-port=22,3389,8291 in-interface=
    ether4-wan protocol=tcp
add action=add-src-to-address-list address-list="Honeypot Hacker" 
    address-list-timeout=30d0h0m chain=input comment=
    "block honeypot asterisk" connection-state=new dst-port=5060 
    in-interface=ether4-wan protocol=udp 
/ip firewall raw
add action=drop chain=prerouting in-interface=ether4-wan src-address-list=
    "Honeypot Hacker"

Ang unang panuntunan sa mga sikat na TCP port 22, 3389, 8291 ng ether4-wan external interface ay nagpapadala ng "guest" IP sa listahan ng "Honeypot Hacker" (ang mga port para sa ssh, rdp at winbox ay hindi pinagana nang maaga o binago sa iba). Ganoon din ang ginagawa ng pangalawa sa sikat na UDP 5060.

Ang ikatlong panuntunan sa yugto ng pre-routing ay nag-drop ng mga packet mula sa "mga bisita" na ang srs-address ay kasama sa "Honeypot Hacker".

Pagkatapos ng dalawang linggo ng pagtatrabaho sa aking tahanan Mikrotik, ang listahan ng "Honeypot Hacker" ay may kasamang humigit-kumulang isa at kalahating libong mga IP address ng mga gustong "hawakan ng udder" ang aking mga mapagkukunan ng network (sa bahay ay mayroong sarili kong telephony, mail, nextcloud, rdp). Huminto ang mga brute-force na pag-atake, dumating ang kaligayahan.

Sa trabaho, hindi naging simple ang lahat, doon ay patuloy nilang sinisira ang rdp server sa pamamagitan ng mga malupit na password.

Tila, ang numero ng port ay natukoy ng scanner bago pa man na-on ang honeypot, at sa panahon ng quarantine ay hindi napakadaling i-configure muli ang higit sa 100 mga gumagamit, kung saan 20% ay higit sa 65 taong gulang. Sa kaso kapag ang port ay hindi mababago, mayroong isang maliit na gumaganang recipe. May nakita akong katulad sa Internet, ngunit may ilang karagdagang karagdagan at fine tuning na kasangkot:

Mga panuntunan para sa pag-configure ng Port Knocking

 /ip firewall filter
add action=add-src-to-address-list address-list=rdp_blacklist 
    address-list-timeout=15m chain=forward comment=rdp_to_blacklist 
    connection-state=new dst-port=3389 protocol=tcp src-address-list=
    rdp_stage12
add action=add-src-to-address-list address-list=rdp_stage12 
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 
    protocol=tcp src-address-list=rdp_stage11
add action=add-src-to-address-list address-list=rdp_stage11 
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 
    protocol=tcp src-address-list=rdp_stage10
add action=add-src-to-address-list address-list=rdp_stage10 
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 
    protocol=tcp src-address-list=rdp_stage9
add action=add-src-to-address-list address-list=rdp_stage9 
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 
    protocol=tcp src-address-list=rdp_stage8
add action=add-src-to-address-list address-list=rdp_stage8 
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 
    protocol=tcp src-address-list=rdp_stage4
add action=add-src-to-address-list address-list=rdp_stage7 
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 
    protocol=tcp src-address-list=rdp_stage6
add action=add-src-to-address-list address-list=rdp_stage6 
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 
    protocol=tcp src-address-list=rdp_stage5
add action=add-src-to-address-list address-list=rdp_stage5 
    address-list-timeout=4m chain=forward connection-state=new dst-port=
    3389 protocol=tcp src-address-list=rdp_stage4
add action=add-src-to-address-list address-list=rdp_stage4 
    address-list-timeout=4m chain=forward connection-state=new dst-port=
    3389 protocol=tcp src-address-list=rdp_stage3
add action=add-src-to-address-list address-list=rdp_stage3 
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 
    protocol=tcp src-address-list=rdp_stage2
add action=add-src-to-address-list address-list=rdp_stage2 
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 
    protocol=tcp src-address-list=rdp_stage1
add action=add-src-to-address-list address-list=rdp_stage1 
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 
    protocol=tcp 
/ip firewall raw
add action=drop chain=prerouting in-interface=ether4-wan src-address-list=
rdp_blacklist

Sa 4 na minuto, ang malayong kliyente ay pinapayagan na gumawa lamang ng 12 bagong "mga kahilingan" sa RDP server. Ang isang pagtatangka sa pag-login ay mula 1 hanggang 4 na "mga kahilingan". Sa ika-12 na "kahilingan" - pagharang ng 15 minuto. Sa aking kaso, ang mga umaatake ay hindi huminto sa pag-hack ng server, nag-adjust sila sa mga timer at ngayon ay ginagawa ito nang napakabagal, ang bilis ng pagpili ay binabawasan ang pagiging epektibo ng pag-atake sa zero. Ang mga empleyado ng kumpanya ay halos walang abala sa trabaho mula sa mga hakbang na ginawa.

Isa pang maliit na trick
Nag-o-on ang panuntunang ito ayon sa iskedyul sa 5 a.m. at nag-o-off sa XNUMX a.m., kapag talagang tulog ang mga totoong tao, at patuloy na gising ang mga automated picker.

/ip firewall filter 
add action=add-src-to-address-list address-list=rdp_blacklist 
    address-list-timeout=1w0d0h0m chain=forward comment=
    "night_rdp_blacklist" connection-state=new disabled=
    yes dst-port=3389 protocol=tcp src-address-list=rdp_stage8

Nasa ika-8 koneksyon na, ang IP ng attacker ay naka-blacklist sa loob ng isang linggo. Kagandahan!

Buweno, bilang karagdagan sa itaas, magdaragdag ako ng isang link sa isang artikulo ng Wiki na may gumaganang setup para sa pagprotekta sa Mikrotik mula sa mga scanner ng network. wiki.mikrotik.com/wiki/Drop_port_scanners

Sa aking mga device, gumagana ang setting na ito kasama ng mga panuntunan sa honeypot na inilarawan sa itaas, na mahusay na umaayon sa mga ito.

UPD: Gaya ng iminungkahi sa mga komento, ang packet drop rule ay inilipat sa RAW para bawasan ang load sa router.

Pinagmulan: www.habr.com

Magdagdag ng komento