Հեռավար աշխատանք գրասենյակում. 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-ի համար, որտեղից փաթեթները եկել են, կտրի մուտքը որոշակի ռեսուրսների (պորտեր, արձանագրություններ, և այլն):

Հիմա բիզնեսին: Mikrotik-ում firewall-ի կարգավորումների մանրամասն նկարագրություն չեմ անի. ինտերնետը լի է դրա համար բարձրորակ աղբյուրներով: Իդեալում, 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 և ցանցի ավտոմատ հայտնաբերում` i: 0 - քանի որ ինտերնետի մեծ մասը 10 Մբիթ/վրկ-ից բարձր է, ապա միացրեք կապի տեսակը 6 (տեղական ցանց 10 Մբիթ/վրկ և ավելի) և անջատեք ցանցի ավտոմատ հայտնաբերումը, քանի որ եթե լռելյայն (ավտոմատ) , այնուհետև նույնիսկ հազվագյուտ փոքր ցանցի հետաձգումը ավտոմատ կերպով մեր նիստը երկար ժամանակ դնում է դանդաղ արագության վրա, ինչը կարող է նկատելի ուշացումներ ստեղծել աշխատանքի մեջ, հատկապես գրաֆիկական ծրագրերում:

անջատել պաստառը. 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

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

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

Դատարկ ֆայլեր RDP-ի հետ հեռավոր կապ ստեղծելու համար.

Source: www.habr.com

Добавить комментарий