Seoses COVID-19 pandeemia ja üldise karantiiniga paljudes riikides on paljude ettevõtete ainsaks lahenduseks jätkata tööd - kaugjuurdepääs töökohtadele interneti kaudu. On palju suhteliselt turvalisi meetodeid kaugelt töötamiseks, kuid arvestades probleemi ulatust, on vaja lihtsat meetodit kaugühenduse loomiseks bürooga, milleta pole lisaseadeid, selgitusi, väsitavaid konsultatsioone ega pikki juhiseid. Selliseks meetodiks on paljude administraatorite lemmik RDP (Remote Desktop Protocol). Otsene ühendamine töökoha RDP kaudu lahendab meie ülesande ideaalselt, välja arvatud üks suur probleem - RDP pordi internetis avamine on väga ebaturvaline. Seetõttu pakun allpool välja lihtsa, kuid usaldusväärse kaitsemeetodi.
Kuna kohtan sageli väikeseid organisatsioone, kus internetiühenduseks kasutatakse Mikrotiku seadmeid, siis demonstreeritakse allpool, kuidas seda Mikrotikus rakendada, kuid Port Knocking kaitsemeetod on kergesti rakendatav ka teistel kõrgema klassi seadmetel sarnaste sissetuleva marsruuteri ja tulemüüri seadistustega.
Lühidalt Port Knockingust. Täiuslik väline kaitse internetiga ühendatud võrgule on see, kui kõik ressursid ja pordid on tulemüüriga väljastpoolt suletud. Ja kuigi sellise seadistusega ruuter ei reageeri väljastpoolt tulevatele pakettidele, kuulab ta neid siiski. Seetõttu saab ruuteri seadistada nii, et teatud (koodilise) pakettide järjestuse saamisel erinevatesse pottidesse avab see (ruuter) IP-aadressile, kust paketid tulid, juurdepääsu teatud ressurssidele (portidele, protokollidele jne).
Nüüd asja juurde. Ma ei hakka põhjalikku ülevaadet tulemüüri seadistamisest Mikrotikus tegema - internetis on selle jaoks palju kvaliteetseidallikaid. Idealiseeritud tulemüür blokeerib kõik sissetulevad paketid, kuid
/ip firewall filter
add action=accept chain=input comment="established and related accept" connection-state=established,relatedLubab sissetulevat liiklust juba loodud (established, related) ühendustelt.
Nüüd seadistame Port Knockingut Mikrotikus:
/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=3389Nüüd lähemalt:
esimene kaks reeglit
/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=RemoteRuleskeelavad sissetulevad paketid IP-aadressidelt, mis on skaneerimise käigus musta nimekirja sattunud;
Kolmas reegel:
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 lisab IP aadressi hostide nimekirja, kes on õigesti esimest koputust teinud soovitud pordile (19000);
Järgmised neli reeglit:
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=RemoteRulesloovad pordid, mis on lõksuks neile, kes soovivad teie porte skaneerida, ja tuvastades sellised katsed, lisavad nende IP 60 minutiks musta nimekirja, mille jooksul ei luba esimesed kaks reeglit neil hostidel õigetesse portidesse pääseda;
Järgmine reegel:
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=RemoteRuleslisab IP lubatute nimekirja 1 minutiks (piisav ühenduse loomiseks), kuna tehti teine õige küünarnuk kõnealusele portile (16000);
Järgmine käsk:
move [\/ip firewall filter find comment=RemoteRules] 1liigutab meie reeglid tulemüüri töötlemise järjestuses ülespoole, kuna ilmselt on meil juba seadistatud erinevad keelavad reeglid, mis ei võimalda meie uutel luua; Mikrotikis algab esimene reegel nullist, kuid minu seadmes oli null juba sisseehitatud reegli poolt hõivatud ja ei olnud võimalik liikuda - ma liikusin 1. Seega vaatame meie seadistuste järgi - kuhu saab liikuda ja märkime vajaliku numbri.
Järgmine seadistus:
/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=3389suunab suvaliselt valitud porti 33890 tavapärase RDP pordi 3389 ja meie vajaliku arvuti või terminaliserveri IP-d. Selliseid reegleid loome kõigi vajalike siseressursside jaoks, soovitatavalt seades mittestandardsed (ja erinevad) välised pordid. Loomulikult peavad siseressursside IP-d olema kas staatilised või fikseeritud DHCP-s. serveris.
Nüüd on meie mikrotik seadistatud ja meil on vaja kasutajasõbralikku protseduuri meie sise-RDP-le ühendamiseks. Kuna need on peamiselt Windowsi kasutajad, loome lihtsa bat-faili ja nimetame selle StartRDP.bat:
1.htm
1.rdpvastavalt 1.htm sisaldab järgmist koodi:
<img src="http://my_router.sn.mynetname.net:19000/1.jpg">
klõpsake lehe värskendamiseks RDP kaudu uuesti siseneda
<img src="http://my_router.sn.mynetname.net:16000/2.jpg">Siin on kaks linki väljamõeldud piltidele, mis asuvad aadressil my_router.sn.mynetname.net — seda aadressi saame MikroTiki DDNS süsteemist, kui lülitame selle sisse meie MikroTik'is: siseneme menüüsse IP->Cloud — paneme linnukese DDNS Enabled, vajutame Apply ja kopeerime meie ruuteri dns nime. Kuid see on vajalik vaid siis, kui ruuteri väline ip on dünaamiline või kasutatakse konfiguratsiooni mitme internetiteenuse pakkujaga.
Esimese lingi port :19000 vastab esimesele pingutusele, teine aga teisele. Linkide vahel on lühike juhend, mis näitab, mida teha, kui meie ühendus katkeb lühiajaliste võrgu probleemide tõttu — uuendame lehte, RDP port avaneb meile taas üheks minutiks ja meie sessioon taastatakse. Samuti moodustab img siltide vahel olev tekst brauseris mikrotasandi viivituse, mis vähendab tõenäosust, et esimene pakett jõuab teisele portile (16000) — kahe nädala jooksul (30 inimest) pole selliseid juhtumeid olnud.
Edasi tuleb fail 1.rdp, mille saame seada kas üheks kõigile või eraldi igale kasutajale (ma tegin just nii — lihtsam on kulutada lisaks 15 minutit, kui mitmeid tunde konsultatsioonideks neile, kes ei suutnud aru saada).
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:mydomainHuvitavatest seadistustest on siin use multimon:i:1 — see võimaldab mitme monitori kasutamist — mõnedel on see vajalik, kuid ise ei oska nad seda sisse lülitada.
connection type:i:6 ja networkautodetect:i:0 — kuna enamikul on internet kiirus üle 10 mbiti, lülitame sisse ühendustüübi 6 (kohalik võrk 10 Mbit ja kõrgem) ja lülitame välja networkautodetect, sest kui see on vaikimisi (auto), siis isegi haruldane väike viivitus võrgus seab automaatselt meie sessioonile madala kiiruspiirangu, mis võib luua märgatavaid viivitusi töös, eriti graafilistes programmides.
disable wallpaper:i:1 — lülitame välja töölaua pildi.
username:s:myuserlogin — määrame kasutaja sisselogimise, kuna paljud meie kasutajatest ei tea oma sisselogimist.
domain:s:mydomain — määrame domeeni või arvuti nime.
Kuid kui soovime endale lihtsustada ühenduse loomise protseduuri, võime kasutada ka PowerShelli — 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:33890Natukene RDP klient Windowsis: MS on teinud pika tee protokolli ja selle serveri- ja kliendipoolte optimeerimisega, rakendades palju kasulikke funktsioone - näiteks riistvara 3D tugi, ekraani eraldusvõime optimeerimine vastavalt teie monitorile, mitme ekraani tugi ja palju muud. Loomulikult on kõik see realiseeritud tagurpidi ühilduvuse režiimis, ja kui klient on Windows 7 ja eemalolev arvuti Windows 10, siis RDP töötab versiooniga 7.0. Kuid hea uudis on see, et RDP versioone saab uuendada uuemaks - näiteks saab protokolli versiooni tõsta 7.0 (Windows 7) kuni 8.1. Seetõttu on oluline, et klientide mugavuse huvides tõstetaks võimalikult palju serveripoolsete versioonide taset ning jagataks linke RDP protokolli klientide uute versioonide värskendamiseks.
Kokkuvõttes on meil lihtne ja suhteliselt turvaline tehnoloogia kaugjuurdepääsuks töökohale või terminaliserverile. Kuid meie turvalisema ühenduse jaoks saame portide koputamise meetodit keerulisemaks muuta mitmete järkude võrra, lisades portide kontrollimiseks - samade põhimõtete kohaselt võib lisada 3, 4, 5, 6... porti, ja sellisel juhul saab teie võrku otsene sissetungimine olema pea võimatu.
.
Allikas: habr.com
