Práca na diaľku v kancelárii. RDP, Port Knocking, Mikrotik: jednoduché a bezpečné

V dôsledku pandémie vírusu COVID-19 a všeobecnej karantény v mnohých krajinách je pre mnohé spoločnosti jediným spôsobom, ako pokračovať v práci, vzdialený prístup na pracoviská cez internet. Existuje mnoho relatívne bezpečných metód pre prácu na diaľku – ale vzhľadom na rozsah problému je potrebná metóda, ktorá je pre každého používateľa jednoduchá na pripojenie do kancelárie na diaľku a bez potreby ďalších nastavení, vysvetľovania, zdĺhavých konzultácií a zdĺhavých inštrukcie. Túto metódu milujú mnohí správcovia RDP (Remote Desktop Protocol). Priame pripojenie k pracovnej stanici cez RDP náš problém ideálne rieši, až na jednu veľkú muchu – nechať otvorený RDP port pre internet je veľmi nebezpečné. Preto nižšie navrhujem jednoduchý, ale spoľahlivý spôsob ochrany.Práca na diaľku v kancelárii. RDP, Port Knocking, Mikrotik: jednoduché a bezpečné

Keďže sa často stretávam s malými organizáciami, kde sa zariadenia Mikrotik používajú ako internetové pripojenie, nižšie ukážem, ako to implementovať na Mikrotiku, ale metódu ochrany Port Knocking je možné jednoducho implementovať aj na iné zariadenia vyššej triedy s podobným nastavením vstupného routera a POŽARNE DVERE

Stručne o Port Knocking. Ideálna externá ochrana siete pripojenej na internet je, keď sú všetky zdroje a porty zvonku uzavreté firewallom. A hoci router s takto nakonfigurovaným firewallom nijako nereaguje na pakety prichádzajúce zvonku, počúva ich. Preto môžete router nakonfigurovať tak, že keď dostane určitú (kódovú) sekvenciu sieťových paketov na rôznych portoch, on (smerovač) pre IP, odkiaľ pakety prišli, zamietne prístup k určitým zdrojom (porty, protokoly atď.). .).

Teraz k veci. Nebudem uvádzať podrobný popis nastavenia brány firewall na Mikrotiku - internet je na to plný kvalitných zdrojov. V ideálnom prípade firewall blokuje všetky prichádzajúce pakety, ale

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

Umožňuje prichádzajúcu prevádzku z už vytvorených (zavedených, súvisiacich) pripojení.
Teraz nakonfigurujeme klepanie portov 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

Teraz podrobnejšie:

prvé dve pravidlá

/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

zakázať prichádzajúce pakety z IP adries, ktoré boli na čiernej listine počas skenovania portov;

Tretie pravidlo:

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

pridá ip do zoznamu hostiteľov, ktorí vykonali správne prvé zaklopanie na požadovaný port (19000);
Nasledujúce štyri pravidlá:

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

vytvorte pasce portov pre tých, ktorí chcú skenovať vaše porty, a keď sa takéto pokusy zistia, zaradia svoju IP na čiernu listinu na 60 minút, počas ktorých prvé dve pravidlá nedajú takýmto hostiteľom možnosť zaklopať na správne porty;

Ďalšie pravidlo:

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

umiestni ip do zoznamu povolených na 1 minútu (dosť na vytvorenie spojenia), pretože na požadovanom porte (16000) sa uskutoční druhé správne zaklopanie;

Ďalší príkaz:

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

posúva naše pravidlá vyššie v reťazci spracovania brány firewall, pretože s najväčšou pravdepodobnosťou už budeme mať nakonfigurované rôzne zakazujúce pravidlá, ktoré zabránia fungovaniu našich novovytvorených pravidiel. Úplne prvé pravidlo v Mikrotiku začína od nuly, ale na mojom zariadení bola nula obsadená vstavaným pravidlom a nedalo sa s ním pohnúť - presunul som ho na 1. Preto sa pozrieme na naše nastavenia - kam ho môžeme presunúť a uveďte požadované číslo.

Ďalšie nastavenie:

/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

prepošle náhodne vybraný port 33890 na bežný port RDP 3389 a IP počítača alebo terminálového servera, ktorý potrebujeme. Takéto pravidlá vytvárame pre všetky potrebné interné zdroje, najlepšie nastavujeme neštandardné (a iné) externé porty. Prirodzene, IP interných zdrojov musí byť buď statické, alebo priradené DHCP serveru.

Teraz je náš Mikrotik nakonfigurovaný a potrebujeme jednoduchý postup, aby sa používateľ pripojil k nášmu internému RDP. Keďže máme väčšinou používateľov systému Windows, vytvoríme jednoduchý súbor bat a nazveme ho StartRDP.bat:

1.htm
1.rdp

podľa toho 1.htm obsahuje nasledujúci kód:

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

tu obsahuje dva odkazy na imaginárne obrázky, ktoré sa nachádzajú na adrese my_router.sn.mynetname.net - túto adresu berieme zo systému Mikrotik DDNS po povolení tohto v našom Mikrotiku: prejdite do ponuky IP->Cloud - skontrolujte DDNS Enabled kliknite na tlačidlo Použiť a skopírujte názov DNS nášho smerovača. Je to však potrebné iba vtedy, keď je externá adresa IP smerovača dynamická alebo ak sa používa konfigurácia s niekoľkými poskytovateľmi internetu.

Port v prvom odkaze: 19000 zodpovedá prvému portu, na ktorý musíte zaklopať, v druhom zodpovedá druhému. Medzi odkazmi je krátka inštrukcia, ktorá ukazuje, čo robiť, ak sa náhle naše pripojenie preruší z dôvodu krátkych problémov so sieťou - obnovíme stránku, port RDP sa nám znova otvorí na 1 minútu a naša relácia sa obnoví. Taktiež text medzi img tagmi vytvára pre prehliadač mikrooneskorenie, čo znižuje pravdepodobnosť doručenia prvého paketu na druhý port (16000) – zatiaľ sa takéto prípady za dva týždne používania nevyskytli (30 ľudia).

Nasleduje súbor 1.rdp, ktorý môžeme nakonfigurovať pre každého alebo samostatne pre každého používateľa (tak som to urobil ja – je jednoduchšie stráviť ďalších 15 minút ako niekoľko hodín konzultovaním s tými, ktorí na to nevedia prísť)

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

Jedným zo zaujímavých nastavení je použitie multimon:i:1 - to zahŕňa použitie viacerých monitorov - niektorí ľudia to potrebujú, ale nenapadlo ich zapnúť si to sami.

typ pripojenia:i:6 a autodetekcia siete:i:0 – keďže väčšina internetu má rýchlosť nad 10 Mbit, povoľte typ pripojenia 6 (lokálna sieť 10 Mbit a viac) a zakážte automatickú detekciu siete, pretože ak je predvolená hodnota (auto), potom dokonca aj zriedkavá malá latencia siete automaticky nastaví rýchlosť našej relácie na nižšiu rýchlosť na dlhú dobu, čo môže spôsobiť značné oneskorenie v práci, najmä v grafických programoch.

zakázať tapetu:i:1 - zakáže obrázok pracovnej plochy
username:s:myuserlogin - uvádzame prihlasovacie meno používateľa, pretože značná časť našich používateľov nepozná svoje prihlasovacie meno
doména:s:mojadoména – uveďte názov domény alebo počítača

Ak si ale chceme zjednodušiť úlohu vytvorenia postupu pripojenia, môžeme použiť aj 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

Tiež niečo málo o klientovi RDP vo Windows: MS prešla dlhú cestu v optimalizácii protokolu a jeho serverových a klientskych častí, implementácii mnohých užitočných funkcií - ako je práca s hardvérovým 3D, optimalizácia rozlíšenia obrazovky pre váš monitor, multi-obrazovka, atď. Ale samozrejme, všetko je implementované v režime spätnej kompatibility a ak je klientom Windows 7 a vzdialeným PC je Windows 10, tak RDP bude fungovať pomocou protokolu verzie 7.0. Ale našťastie môžete aktualizovať verzie RDP na novšie verzie - napríklad môžete inovovať verziu protokolu zo 7.0 (Windows 7) na 8.1. Preto pre pohodlie klientov musíte maximalizovať verzie serverovej časti a tiež poskytnúť odkazy na aktualizáciu na nové verzie klientov protokolu RDP.

Výsledkom je jednoduchá a relatívne bezpečná technológia pre vzdialené pripojenie k pracovnému PC alebo terminálovému serveru. Ale pre bezpečnejšie pripojenie môže byť útok našej metódy Port Knocking sťažený o niekoľko rádov, a to pridaním portov na kontrolu – pomocou rovnakej logiky môžete pridať 3,4,5,6... port a v tomto prípade bude priame vniknutie do vašej siete takmer nemožné.

Príprava súboru na vytvorenie vzdialeného pripojenia k RDP.

Zdroj: hab.com

Pridať komentár