Delo na daljavo v pisarni. RDP, Port Knocking, Mikrotik: preprosto in varno

Zaradi pandemije virusa covid-19 in splošne karantene v številnih državah je edina možnost nadaljnjega dela mnogih podjetij dostop do delovnih mest na daljavo prek interneta. Obstaja veliko razmeroma varnih metod za delo na daljavo – a glede na razsežnost problematike je potreben preprost način, da se vsak uporabnik na daljavo poveže s pisarno in brez dodatnih nastavitev, razlag, dolgočasnih posvetovanj in dolgih navodil. To metodo obožujejo mnogi skrbniki RDP (protokol oddaljenega namizja). Neposredna povezava z delovnim mestom prek RDP idealno reši našo težavo, razen ene velike muhe v mazilo – imeti vrata RDP odprta za internet je zelo nevarno. Zato v nadaljevanju predlagam preprost, a zanesljiv način zaščite.Delo na daljavo v pisarni. RDP, Port Knocking, Mikrotik: preprosto in varno

Ker pogosto naletim na manjše organizacije, kjer se za dostop do interneta uporabljajo naprave Mikrotik, bo spodaj prikazano, kako to implementirati na Mikrotik, vendar je metoda zaščite Port Knocking enostavno implementirana na drugih napravah višjega razreda s podobnimi nastavitvami vhodnega usmerjevalnika in požarnega zidu. .

Na kratko o Port Knocking. Idealna zunanja zaščita omrežja, povezanega z internetom, je, ko so vsi viri in vrata od zunaj zaprti s požarnim zidom. In čeprav usmerjevalnik s tako nastavljenim požarnim zidom nikakor ne reagira na pakete, ki prihajajo od zunaj, jih posluša. Zato lahko usmerjevalnik konfigurirate tako, da ko je določeno (kodno) zaporedje omrežnih paketov prejeto na različnih vratih, le-to (usmerjevalnik) za IP, od koder so paketi prišli, prekine dostop do določenih virov (vrat, protokolov, itd.).

Zdaj pa k poslu. Ne bom podrobno opisoval nastavitev požarnega zidu na Mikrotiku - internet je poln kakovostnih virov za to. V idealnem primeru požarni zid blokira vse dohodne pakete, vendar

/ip firewall filter
add action=accept chain=input comment="established and related accept" connection-state=established,related

Omogoča dohodni promet iz vzpostavljenih povezanih povezav.
Zdaj smo postavili Port Knocking na Mikrotiku:

/ip firewall filter
add action=drop chain=input dst-port=19000 protocol=tcp src-address-list="Black_scanners" comment=RemoteRules
add action=drop chain=input dst-port=16000 protocol=tcp src-address-list="Black_scanners" comment=RemoteRules
add action=add-src-to-address-list address-list="remote_port_1" address-list-timeout=1m chain=input dst-port=19000 protocol=tcp comment=RemoteRules
add action=add-src-to-address-list address-list="Black_scanners" address-list-timeout=60m chain=input dst-port=19001 protocol=tcp src-address-list="remote_port_1" comment=RemoteRules
add action=add-src-to-address-list address-list="Black_scanners" address-list-timeout=60m chain=input dst-port=18999 protocol=tcp src-address-list="remote_port_1" comment=RemoteRules
add action=add-src-to-address-list address-list="Black_scanners" address-list-timeout=60m chain=input dst-port=16001 protocol=tcp src-address-list="remote_port_1" comment=RemoteRules
add action=add-src-to-address-list address-list="Black_scanners" address-list-timeout=60m chain=input dst-port=15999 protocol=tcp src-address-list="remote_port_1" comment=RemoteRules
add action=add-src-to-address-list address-list="allow_remote_users" address-list-timeout=1m chain=input dst-port=16000 protocol=tcp src-address-list="remote_port_1" comment=RemoteRules
move [/ip firewall filter find comment=RemoteRules] 1
/ip firewall nat
add action=dst-nat chain=dstnat comment="remote_rdp" src-address-list="allow_remote_users" dst-port=33890 in-interface-list=WAN protocol=tcp to-addresses=192.168.1.33 to-ports=3389

Zdaj podrobneje:

prva dva pravila

/ip firewall filter
add action=drop chain=input dst-port=19000 protocol=tcp src-address-list="Black_scanners" comment=RemoteRules
add action=drop chain=input dst-port=16000 protocol=tcp src-address-list="Black_scanners" comment=RemoteRules

prepove dohodne pakete z naslovov IP, ki so na črni listi med skeniranjem vrat;

Tretje pravilo:

add action=add-src-to-address-list address-list="remote_port_1" address-list-timeout=1m chain=input dst-port=19000 protocol=tcp comment=RemoteRules

doda ip na seznam gostiteljev, ki so naredili pravilno prvo potrkanje na pravilna vrata (19000);
Naslednja štiri pravila:

add action=add-src-to-address-list address-list="Black_scanners" address-list-timeout=60m chain=input dst-port=19001 protocol=tcp src-address-list="remote_port_1" comment=RemoteRules
add action=add-src-to-address-list address-list="Black_scanners" address-list-timeout=60m chain=input dst-port=18999 protocol=tcp src-address-list="remote_port_1" comment=RemoteRules
add action=add-src-to-address-list address-list="Black_scanners" address-list-timeout=60m chain=input dst-port=16001 protocol=tcp src-address-list="remote_port_1" comment=RemoteRules
add action=add-src-to-address-list address-list="Black_scanners" address-list-timeout=60m chain=input dst-port=15999 protocol=tcp src-address-list="remote_port_1" comment=RemoteRules

ustvarite vrata pasti za tiste, ki želijo skenirati vaša vrata, in če so takšni poskusi zaznani, dodajte njihov ip na črno listo za 60 minut, med katerima prvi dve pravili takšnim gostiteljem ne bosta dali možnosti, da potrka na pravilna vrata;

Naslednje pravilo:

add action=add-src-to-address-list address-list="allow_remote_users" address-list-timeout=1m chain=input dst-port=16000 protocol=tcp src-address-list="remote_port_1" comment=RemoteRules

postavi ip na seznam dovoljenih za 1 minuto (dovolj za vzpostavitev povezave), saj je bilo drugo pravilno trkanje na želenih vratih (16000);

Naslednji ukaz:

move [/ip firewall filter find comment=RemoteRules] 1

premakne naša pravila navzgor v verigi obdelave požarnega zidu, saj bomo najverjetneje že imeli konfigurirana različna pravila za zavrnitev, ki bodo našim na novo ustvarjenim preprečila delovanje. Prvo pravilo v Mikrotiku se začne od ničle, na moji napravi pa je ničlo zasedlo vgrajeno pravilo in ga ni bilo mogoče premakniti - premaknil sem ga na 1. Zato pogledamo naše nastavitve - kam ga lahko premaknete in označite želeno številko.

Naslednja nastavitev:

/ip firewall nat
add action=dst-nat chain=dstnat comment="remote_rdp_to_33" src-address-list="allow_remote_users" dst-port=33890 in-interface-list=WAN protocol=tcp to-addresses=192.168.1.33 to-ports=3389

posreduje poljubno izbrana vrata 33890 na običajna vrata RDP 3389 in ip računalnika ali terminalskega strežnika, ki ga potrebujemo. Takšna pravila ustvarimo za vse potrebne notranje vire, po možnosti nastavimo nestandardna (in drugačna) zunanja vrata. Seveda mora biti ip notranjih virov statičen ali fiksen na strežniku DHCP.

Sedaj je naš Mikrotik nastavljen in potrebujemo preprost postopek, da se uporabnik poveže z našim internim RDP. Ker imamo večinoma uporabnike Windows, ustvarimo preprosto datoteko bat in jo poimenujemo StartRDP.bat:

1.htm
1.rdp

oziroma 1.htm vsebuje naslednjo kodo:

<img src="http://my_router.sn.mynetname.net:19000/1.jpg">
нажмите обновить страницу для повторного захода по RDP
<img src="http://my_router.sn.mynetname.net:16000/2.jpg">

vsebuje dve povezavi do namišljenih slik, ki se nahajata na naslovu my_router.sn.mynetname.net - ta naslov vzamemo iz sistema Mikrotik DDNS, potem ko ga omogočimo v našem Mikrotiku: pojdite v meni IP-> Cloud - potrdite polje DDNS Enabled, kliknite Uporabi in kopirajte dns ime našega usmerjevalnika. Toda to je potrebno le, če je zunanji ip usmerjevalnika dinamičen ali se uporablja konfiguracija z več internetnimi ponudniki.

Pristanišče v prvi povezavi: 19000 ustreza prvemu pristanišču, na katerega morate potrkati, v drugem oziroma drugemu. Med povezavami je kratko navodilo, ki prikazuje, kaj storiti, če je naša povezava nenadoma prekinjena zaradi kratkih težav z omrežjem - osvežimo stran, vrata RDP se nam ponovno odprejo za 1 minuto in naša seja je obnovljena. Prav tako besedilo med oznakama img tvori mikro zakasnitev za brskalnik, kar zmanjša verjetnost, da bo prvi paket dostavljen na druga vrata (16000) – do zdaj takih primerov v dveh tednih uporabe (30) ni bilo. ljudje).

Sledi datoteka 1.rdp, ki jo lahko konfiguriramo eno za vse ali posebej za vsakega uporabnika (to sem naredil jaz - lažje je porabiti dodatnih 15 minut kot nekaj ur za posvetovanje s tistimi, ki tega niso razumeli)

screen mode id:i:2
use multimon:i:1
.....
connection type:i:6
networkautodetect:i:0
.....
disable wallpaper:i:1
.....
full address:s:my_router.sn.mynetname.net:33890
.....
username:s:myuserlogin
domain:s:mydomain

izmed zanimivih nastavitev je tukaj uporaba multimona: i: 1 - to vključuje uporabo več monitorjev - nekateri to potrebujejo, a sami ne bodo pomislili, da bi jo vklopili.

vrsta povezave: i: 6 in networkautodetect: i: 0 - ker je večina interneta nad 10 Mbps, potem vklopite vrsto povezave 6 (lokalno omrežje 10 Mbps in več) in izklopite networkautodetect, ker če je privzeto (samodejno) , potem celo redka majhna omrežna zakasnitev samodejno nastavi našo sejo na nizko hitrost za dolgo časa, kar lahko povzroči opazne zamude pri delu, zlasti v grafičnih programih.

onemogoči ozadje: i: 1 - onemogoči sliko namizja
username:s:myuserlogin - prijavo uporabnika določimo mi, saj velik del naših uporabnikov ne pozna svoje prijave
domena:s:mojadomena - določite ime domene ali računalnika

Če pa želimo poenostaviti našo nalogo ustvarjanja postopka povezave, potem lahko uporabimo tudi PowerShell - StartRDP.ps1

Test-NetConnection -ComputerName my_router.sn.mynetname.net -Port 19000
Test-NetConnection -ComputerName my_router.sn.mynetname.net -Port 16000
mstsc /v:my_router.sn.mynetname.net:33890

Tudi nekaj o odjemalcu RDP v sistemu Windows: MS je prišel daleč pri optimizaciji protokola ter njegovih strežniških in odjemalskih delov, implementiral je številne uporabne funkcije - kot je delo s strojno opremo 3D, optimizacija ločljivosti zaslona za vaš monitor, multiscreen, in tako naprej. Seveda je vse implementirano v načinu združljivosti za nazaj in če je odjemalec Windows 7 in oddaljeni računalnik Windows 10, bo RDP deloval z uporabo protokola različice 7.0. Prednost pa je ta, da lahko posodobite različice RDP na novejše različice – na primer, različico protokola lahko nadgradite s 7.0 (Windows 7) na 8.1. Zato je za udobje odjemalcev potrebno čim bolj povečati različice strežniškega dela, pa tudi opustiti povezave za nadgradnjo na nove različice odjemalcev protokola RDP.

Posledično imamo preprosto in razmeroma varno tehnologijo za oddaljeno povezavo z delujočim osebnim računalnikom ali terminalskim strežnikom. Toda za varnejšo povezavo lahko našo metodo Port Knocking otežimo za napad za več vrst velikosti, tako da dodamo vrata za preverjanje - dodate lahko 3,4,5,6 ... vrata po isti logiki in v tem primeru bo neposreden vdor v vaše omrežje skoraj nemogoč.

Prazne datoteke za ustvarjanje oddaljene povezave z RDP.

Vir: www.habr.com

Dodaj komentar