Puna e largët në zyrë. RDP, Port Knocking, Mikrotik: thjesht dhe në siguri

Në lidhje me pandeminë e virusit COVID-19 dhe karantinën e përgjithshme në shumë vende, zgjidhja e vetme për shumë kompani për të vazhduar punën është qasje nga distanca në vendet e punës përmes internetit. Ka shumë metoda relativisht të sigurta për punën nga distanca - por duke marrë parasysh përmasat e problemit, është e nevojshme një metodë e thjeshtë për çdo përdorues për lidhjen nga distanca në zyrë, pa nevojën për konfigurime të tjera, shpjegime, këshilla të lodhshme dhe udhëzime të gjata. Një nga këto metoda është e preferuara nga shumë administratorë, RDP (Remote Desktop Protocol). Lidhja direkte në vendin e punës përmes RDP zgjidh idealisht detyrën tonë, përveç një problemin të madh - mbajtja e hapur për internetin të portit RDP është shumë e pasigurt. Prandaj, më poshtë po ofroj një metodë të thjeshtë, por të besueshme për mbrojtje.Puna e largët në zyrë. RDP, Port Knocking, Mikrotik: thjesht dhe në siguri

Duke qenë se shpesh has në organizata të vogla, ku si dalje në internet përdoren pajisjet Mikrotik, më poshtë do të tregohet se si të realizohet kjo në Mikrotik, por metoda e mbrojtjes Port Knocking është lehtësisht e realizueshme edhe në pajisje të klasit më të lartë me konfigurime të ngjashme të ruterit hyrës dhe firewall-it.

Përmbledhje mbi Port Knocking. Mbrojtja ideale e jashtme e një rrjeti të lidhur në internet është kur të gjitha burimet dhe portet janë të mbyllura nga jashtë me një firewall. Dhe megjithëse ruterit me një firewall të tillë nuk iu përgjigjet paketeve që vijnë nga jashtë, ai i dëgjon ato. Prandaj, mund të konfigurohet router-i në mënyrë që, kur të marrë një sekuencë të caktuar (kodike) paketash të rrjetit në porta të ndryshme, ai (ruter-i) të hapë aksesin në burime të caktuara (porta, protokolle etj.) për IP-në nga e cila erdhën paketat.

Tani, le të kalojmë në punë. Nuk do të jap një përshkrim të detajuar të konfigurimit të firewall-it në Mikrotik - në internet ka shumë burime cilësore për këtë. Në mënyrë ideale, firewall-i bllokon të gjitha paketat hyrëse, por

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

Lejon trafikun hyrës nga lidhjet (established, related) që tashmë janë të vendosura.
Tani konfiguroni Port Knocking në Mikrotik:

/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

Tani më në detaj:

dy rregullat e para

/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

ndalojnë paketat hyrëse nga adresat IP që janë në listën e zezë gjatë skanimit të portëve;

Rregulli i tretë:

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

shton IP-në në listën e hosteve që bënë goditjen e parë të duhur në portin e nevojshëm (19000);
Katër rregulla të ardhshme:

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

krijojnë porte joshëse për ata që duan të skanojnë portet tuaja, dhe kur zbulohen përpjekje të tilla, IP-të e tyre vendosen në listën e zezë për 60 minuta, gjatë të cilave dy rregullat e para nuk do t'i lejojnë këtyre hosteve të trokitin në portet e duhura;

Rregulli tjetër:

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

vendos IP-në në listën e lejuar për 1 minutë (mjaftueshëm për të krijuar lidhjen), pasi u bë trokitja e dytë e saktë në portin e duhur (16000);

Urdhri tjetër:

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

shkakon që rregullat tona të zhvendosen lart në zinxhirin e përpunimit të firewall-it, pasi me siguri kemi rregulla të ndryshme ndaluese të vendosura që nuk do të lejojnë që të veprojnë ato të sapo krijuara. Rregulli i parë në MikroTik fillon me zero, por në pajisjen time zero ishte e zënë me një rregull të ndërtuar brenda dhe ishte e pamundur të zhvendosej — e kam zhvendosur në 1. Prandaj shikoni konfigurimet tona — ku mund të zhvendosni dhe tregoni numrin e duhur.

Konfigurimi tjetër:

/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

kryen kalimin e një porte të zgjedhur rastësisht 33890 në portin e zakonshëm RDP 3389 dhe IP-në e kompjuterit tonë ose serverit terminal. Këto rregulla krijojmë për të gjithë burimet e nevojshme përbrenda, preferohet të vendosim porte të jashtme jo standarde (dhe të ndryshme). Sigurisht, që IP-të e burimeve të brendshme duhet të jenë ose statike ose të lidhura në DHCP. сервере.

Tani MikroTik ynë është konfiguruar dhe na nevojitet një procedurë e thjeshtë për përdoruesin për t'u lidhur me RDP-në tonë të brendshme. Duke qenë se kryesisht kemi përdorues të Windows, krijojmë një skedar të thjeshtë bat dhe e quajmë StartRDP.bat:

1.htm
1.rdp

përkatësisht 1.htm përmban kodin e mëposhtëm:

<img src="http://my_router.sn.mynetname.net:19000/1.jpg">
kliko për të rifreskuar faqen për t'u rikthyer përmes RDP
<img src="http://my_router.sn.mynetname.net:16000/2.jpg">

këtu ndodhin dy lidhje për imazhe të rreme që ndodhen në adresën my_router.sn.mynetname.net — kjo adresë e marrim nga sistemi DDNS i mikrotikut, duke e aktivizuar paraprakisht në mikrotikun tonë: hyjmë në menunë IP->Cloud — vendosim shenjën DDNS Enabled, klikojmë Apply dhe kopjojmë emrin DNS të router-it tonë. Por kjo është e domosdoshme vetëm kur IP e jashtme e router-it është dinamike ose përdoret një konfigurim me disa ofrues interneti.

Porti në lidhjen e parë: 19000 i korrespondon portit të parë me të cilin duhet të lidhemi, ndërsa në të dytën, portit të dytë. Ndërmjet lidhjeve ka një udhëzim të shkurtër që tregon se çfarë të bëjmë nëse ndonjëherë lidhja jonë shkëputet për shkak të ndonjë problemi të vogël në rrjet — rifreskojmë faqen, porti RDP për ne hapet përsëri për 1 minutë dhe seanca jonë rikthehet. Gjithashtu, teksti ndërmjet etiketave img krijon një ndalesë mikro për shfletuesin, e cila ul mundësinë e dërgimit të paketës së parë në portin e dytë (16000) — deri tani, gjatë dy javëve të përdorimit (30 njerëz), nuk ka pasur raste të tilla.

Më pas vijmë te skedari 1.rdp, që mund ta konfigurojmë një për të gjithë apo veçmas për çdo përdorues (unë kështu e bëra — më lehtë është të shpenzosh 15 minuta shtesë sesa disa orë në konsultime me ata që nuk kanë mundur të kuptojnë).

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

nga cilësimet interesante, këtu use multimon:i:1 — aktivizon përdorimin e disa monitoreve — disa e kanë të nevojshme, por vetë nuk mund të mendojnë ta aktivizojnë.

connection type:i:6 dhe networkautodetect:i:0 — duke qenë se interneti i shumicës është mbi 10 mbit, aktivizojmë tipin e lidhjes 6 (rrjet lokal 10Mbit dhe më lart) dhe çaktivizojmë networkautodetect, sepse nëse e lëmë siç është (auto), edhe një vonesë e vogël në rrjet automatikisht vendos një shpejtësi të ulët për seancën tonë, e cila mund të krijojë vonesa të dukshme në punë, veçanërisht në programet grafike.

disable wallpaper:i:1 — çaktivizojmë imazhin e desktopit
username:s:myuserlogin — tregojmë emrin e përdoruesit, pasi një pjesë e konsiderueshme e përdoruesve tanë nuk e dinë emrin e tyre të përdoruesit.
domain:s:mydomain — tregojmë domenin ose emrin e kompjuterit

Por nëse duam ta thjeshtojmë procesin e krijimit të procedurës së lidhjes, mund të përdorim edhe 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

Përveç kësaj, pak rreth klientit RDP në Windows: MS ka kaluar një rrugë të gjatë në optimizimin e protokollit dhe të pjesës së tij server dhe klient, duke realizuar shumë veçori të dobishme — siç është mbështetje për 3D të harduerit, optimizimi i rezolutës së ekranit sipas monitorit tuaj, shumë ekrane dhe të tjera. Por natyrisht, gjithçka është realizuar në modin e përputhshmërisë mbrapsht, dhe nëse klienti është Windows 7 dhe PC-i i largët është Windows 10, atëherë RDP do të punojë duke përdorur protokollin version 7.0. Por është e mira se mund të përmirësohen versionet RDP në versione më të reja — për shembull, mund të rritet versioni i protokollit nga 7.0 (Windows 7) në 8.1. Prandaj, për lehtësinë e klientëve, duhet të rritet sa më shumë versionet e pjesës server.

Në përfundim, ne kemi një teknologji të thjeshtë dhe relativisht të sigurt për lidhjen e largët me PC-në ose serverin terminal. Por për një lidhje më të sigurt, mënyra jonë e Port Knocking mund të komplikohet shumë për t'u mbrojtur ndaj sulmeve, duke shtuar porte për verifikim — mund të shtohet 3, 4, 5, 6… porta dhe në atë rast, një sulm direkt në rrjetin tuaj do të bëhet pothuajse i pamundur.

Skedarët për krijimin e lidhjes së largët me RDP.

Burimi: habr.com

Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS 🔥 Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS - ProHoster