Հեռավար աշխատանք գրասենյակում. RDP, Port Knocking, Mikrotik՝ պարզ և ապահով

COVID-19 համավարակի և շատ երկրներում տարածված համընդհանուր կարանտինի պատճառով, շատ ընկերությունների համար աշխատանքը շարունակելու միակ միջոցը աշխատանքային կայաններին հեռակա հասանելիությունն է ինտերնետի միջոցով։ Հեռավար աշխատանքի համար կան բազմաթիվ համեմատաբար անվտանգ մեթոդներ, սակայն հաշվի առնելով խնդրի մասշտաբները, անհրաժեշտ է գրասենյակին հեռակա միանալու այնպիսի մեթոդ, որը հեշտ կլինի ցանկացած օգտատիրոջ համար և չի պահանջի լրացուցիչ կարգավորումներ, բացատրություններ, ձանձրալի խորհրդակցություններ և երկար հրահանգներ։ Այս մեթոդը RDP-ն է (Remote Desktop Protocol), որը սիրված է շատ ադմինիստրատորների կողմից։ RDP-ի միջոցով աշխատավայրին անմիջապես միանալը մեր խնդրի իդեալական լուծումն է, բացառությամբ մեկ մեծ խնդրի՝ RDP միացքը ինտերնետին բաց պահելը շատ վտանգավոր է։ Հետևաբար, ստորև ես առաջարկում եմ պաշտպանության պարզ, բայց հուսալի մեթոդ։Հեռավար աշխատանք գրասենյակում. RDP, Port Knocking, Mikrotik՝ պարզ և ապահով

Քանի որ ես հաճախ եմ հանդիպում փոքր կազմակերպությունների, որոնք օգտագործում են Mikrotik սարքերը որպես ինտերնետ կապ, ստորև կցույց տամ, թե ինչպես դա իրականացնել Mikrotik-ում, բայց Port Knocking պաշտպանության մեթոդը կարող է հեշտությամբ իրականացվել այլ, ավելի բարձր դասի սարքերի վրա, որոնք ունեն մուտքային ռաութերի և firewall-ի նմանատիպ կարգավորումներ։

Հակիրճ Port Knocking-ի մասին. Ինտերնետին միացված ցանցի իդեալական արտաքին պաշտպանությունն այն է, երբ բոլոր ռեսուրսներն ու նավահանգիստները փակվում են դրսից firewall-ով։ Եվ չնայած նման կարգավորված firewall-ով ռաութերը չի արձագանքում դրսից եկող փաթեթներին, այն լսում է դրանք։ Հետևաբար, դուք կարող եք կարգավորել ռաութերը այնպես, որ երբ այն ստանում է ցանցային փաթեթների որոշակի (կոդային) հաջորդականություն տարբեր նավահանգիստներում, այն (ռաութերը) բացում է որոշակի ռեսուրսների (նավահանգիստներ, արձանագրություններ և այլն) մուտք դեպի այն IP-ն, որտեղից եկել են փաթեթները։

Հիմա անցնենք գործի։ Ես մանրամասն նկարագրություն չեմ տա, թե ինչպես տեղադրել firewall Mikrotik-ում. ինտերնետում դրա համար կան բազմաթիվ որակյալ աղբյուրներ։ Իդեալում, firewall-ը արգելափակում է բոլոր մուտքային փաթեթները, բայց

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

Թույլ է տալիս մուտքային երթևեկություն արդեն հաստատված (կապակցված) կապերից։
Հիմա եկեք կարգավորենք Port Knocking-ը 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

Այժմ ավելի մանրամասն.

առաջին երկու կանոնները

/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

արգելել մուտքային փաթեթները IP հասցեներից, որոնք սև ցուցակում են եղել նավահանգստի սկանավորման ընթացքում։

Երրորդ կանոն.

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

ավելացնում է ip-ը այն հոսթերի ցանկին, որոնք ճիշտ առաջին թակոցն են կատարել պահանջվող պորտի վրա (19000);
Հետևյալ չորս կանոնները՝

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

Ստեղծեք թակարդային միացքներ նրանց համար, ովքեր ցանկանում են սկանավորել ձեր միացքները, և երբ նման փորձեր հայտնաբերվեն, նրանց IP-ները կհայտնվեն սև ցուցակում 60 րոպեով, որի ընթացքում առաջին երկու կանոնները թույլ չեն տա նման հոսթերին մուտք գործել ճիշտ միացքներ։

Հաջորդ կանոնը.

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

IP-ն տեղադրում է թույլատրվածների ցանկում 1 րոպեով (բավական է կապ հաստատելու համար), քանի որ երկրորդ ճիշտ թակոցը կատարվել է պահանջվող միացքի վրա (16000):

Հաջորդ հրամանը՝

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

մեր կանոնները տեղափոխում է firewall-ի մշակման շղթայով վերև, քանի որ մենք, ամենայն հավանականությամբ, արդեն կունենանք կարգավորված տարբեր արգելող կանոններ, որոնք թույլ չեն տա մեր նոր ստեղծված կանոններին աշխատել։ Mikrotik-ի առաջին կանոնը սկսվում է զրոյից, բայց իմ սարքի վրա զրոն զբաղեցված էր ներկառուցված կանոնով, և այն անհնար էր տեղափոխել. ես այն տեղափոխեցի 1: Հետևաբար, մենք նայում ենք մեր կարգավորումներին, որտեղ կարող ենք այն տեղափոխել և նշել ցանկալի թիվը:

Հաջորդ կարգավորումը՝

/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

Պատահականորեն ընտրված 33890 պորտը փոխանցում է ստանդարտ RDP 3389 պորտին և ցանկալի համակարգչի կամ տերմինալային սերվերի IP հասցեին: Մենք ստեղծում ենք նման կանոններ բոլոր անհրաժեշտ ներքին ռեսուրսների համար, նախընտրելի է սահմանել ոչ ստանդարտ (և տարբեր) արտաքին պորտեր: Բնականաբար, ներքին ռեսուրսների IP հասցեները պետք է լինեն կամ ստատիկ, կամ նշանակվեն DHCP-ի միջոցով: սերվեր.

Հիմա, երբ մեր Mikrotik-ը կարգավորված է, մեզ անհրաժեշտ է օգտագործողին հարմար ընթացակարգ մեր ներքին RDP-ին միանալու համար։ Քանի որ սա հիմնականում մեզ համար է։ Windows օգտատերերին, այնուհետև մենք ստեղծում ենք պարզ bat ֆայլ և անվանում այն ​​StartRDP.bat:

1.htm
1.rdp

համապատասխանաբար 1.htm-ը պարունակում է հետևյալ կոդը՝

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

Ահա երկու հղում դեպի երևակայական պատկերներ, որոնք գտնվում են my_router.sn.mynetname.net հասցեում։ Մենք այս հասցեն վերցնում ենք Mikrotik DDNS համակարգից, նախապես միացնելով այն մեր Mikrotik-ում. անցեք IP->Cloud մենյու, նշեք DDNS Enabled վանդակը, սեղմեք «Կիրառել» և պատճենեք մեր ռաութերի DNS անունը։ Սակայն սա անհրաժեշտ է միայն այն դեպքում, երբ ռաութերի արտաքին IP-ն դինամիկ է կամ օգտագործվում է մի քանի ինտերնետ մատակարարների հետ կոնֆիգուրացիա։

Առաջին հղման՝ 19000, պորտը համապատասխանում է առաջին պորտին, որը դուք պետք է սեղմեք, երկրորդում՝ համապատասխանաբար երկրորդին։ Հղումների միջև կա կարճ հրահանգ, որը ցույց է տալիս, թե ինչ անել, եթե հանկարծ մեր կապը խզվի կարճ ցանցի խնդիրների պատճառով. մենք թարմացնում ենք էջը, RDP պորտը կրկին բացվում է մեզ համար 1 րոպեով, և մեր նիստը վերականգնվում է: Բացի այդ, img թեգերի միջև տեքստը ստեղծում է միկրո-ուշացում զննարկչի համար, ինչը նվազեցնում է առաջին փաթեթի երկրորդ պորտին (16000) հասցնելու հավանականությունը. մինչ օրս, երկու շաբաթվա օգտագործման ընթացքում (30 մարդու կողմից), նման դեպքեր չեն եղել։

Հաջորդը գալիս է 1.rdp ֆայլը, որը մենք կարող ենք կարգավորել բոլորի համար կամ առանձին յուրաքանչյուր օգտատիրոջ համար (ես դա արեցի. ավելի հեշտ է լրացուցիչ 15 րոպե ծախսել, քան մի քանի ժամ խորհրդակցել նրանց հետ, ովքեր չէին կարողանում հասկանալ դա):

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

Այստեղ հետաքրքիր կարգավորումներից մեկը multimon:i:1-ի օգտագործումն է, որը հնարավորություն է տալիս օգտագործել մի քանի մոնիտոր։ Որոշ մարդկանց դա անհրաժեշտ է, բայց չեն մտածում այն ​​ինքնուրույն միացնել։

կապի տեսակը՝ i:6 և networkautodetect:i:0 — քանի որ մարդկանց մեծ մասն ունի 10 Մբիտից բարձր ինտերնետ կապ, մենք միացնում ենք 6-րդ կապի տեսակը (տեղական ցանց՝ 10 Մբիտ և ավելի բարձր) և անջատում networkautodetect-ը, քանի որ եթե այն լռելյայն է (ավտոմատ), ապա նույնիսկ ցանցում հազվագյուտ փոքր ուշացումը ավտոմատ կերպով երկար ժամանակով իջեցնում է մեր սեսիայի արագությունը, ինչը կարող է նկատելի ուշացումներ ստեղծել աշխատանքի մեջ, հատկապես գրաֆիկական ծրագրերում։

անջատել պաստառը: i:1 — անջատել աշխատասեղանի նկարը
username:s:myuserlogin — մենք նշում ենք օգտատիրոջ մուտքանունը, քանի որ մեր օգտատերերի զգալի մասը չգիտի իր մուտքանունը։
domain:s:mydomain — նշեք դոմեյնը կամ համակարգչի անունը

Բայց եթե մենք ուզում ենք պարզեցնել միացման ընթացակարգ ստեղծելու խնդիրը, կարող ենք նաև օգտագործել 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

Նաև մի փոքր RDP հաճախորդի մասին WindowsMS-ը մեծ առաջընթաց է գրանցել արձանագրության և դրա սերվերի ու հաճախորդի բաղադրիչների օպտիմալացման գործում՝ ներդնելով բազմաթիվ օգտակար գործառույթներ, ինչպիսիք են՝ 3D սարքավորումների հետ աշխատանքը, ձեր մոնիտորի էկրանի լուծաչափի օպտիմալացումը, բազմաէկրանային աջակցությունը և այլն: Բայց, բնականաբար, ամեն ինչ իրականացվում է հետադարձ համատեղելիությամբ, և եթե հաճախորդը Windows 7, և հեռակառավարվող համակարգիչը Windows 10, ապա RDP-ն կաշխատի 7.0 արձանագրության տարբերակի միջոցով։ Սակայն, բարեբախտաբար, հնարավոր է թարմացնել RDP տարբերակները ավելի նոր տարբերակների, օրինակ՝ կարող եք թարմացնել արձանագրության տարբերակը 7.0-ից (Windows 7) մինչև 8.1: Հետևաբար, հաճախորդների հարմարության համար մենք պետք է հնարավորինս թարմացնենք սերվերի տարբերակը, ինչպես նաև տրամադրենք հղումներ RDP արձանագրության հաճախորդների նոր տարբերակներին թարմացնելու համար:

Արդյունքում, մենք ունենք պարզ և համեմատաբար անվտանգ տեխնոլոգիա աշխատանքային համակարգչին կամ տերմինալային սերվերին հեռակա միանալու համար։ Սակայն ավելի անվտանգ կապի համար մեր Port Knocking մեթոդը կարող է մի քանի կարգի մեծությամբ ավելի բարդ դառնալ հարձակման համար՝ ավելացնելով ստուգման ենթակա միացքներ. դուք կարող եք օգտագործել նույն տրամաբանությունը՝ 3,4,5,6, XNUMX, XNUMX, XNUMX... միացք ավելացնելու համար, և այս դեպքում ձեր ցանց ուղղակի ներխուժումը գրեթե անհնար կլինի։

Ֆայլերի ձևանմուշներ RDP-ի հետ հեռակա կապ ստեղծելու համար.

Source: www.habr.com

Գնեք հուսալի հոստինգ DDoS պաշտպանությամբ կայքերի, VPS VDS սերվերների համար 🔥 Գնեք հուսալի կայքերի հոսթինգ՝ DDoS պաշտպանությամբ, VPS VDS սերվերներով | ProHoster