Ofisda masofaviy ish. RDP, Port Knocking, Mikrotik: oddiy va xavfsiz

Ko'pgina mamlakatlarda COVID-19 virusi pandemiyasi va umumiy karantin tufayli ko'plab kompaniyalar o'z faoliyatini davom ettirishning yagona yo'li Internet orqali ish joylariga masofadan kirishdir. Masofaviy ishlashning nisbatan xavfsiz usullari ko'p - ammo muammoning ko'lamini hisobga olsak, har qanday foydalanuvchi uchun ofisga masofadan turib ulanishi mumkin bo'lgan va qo'shimcha sozlashlar, tushuntirishlar, zerikarli maslahatlar va uzoq davom etadigan usul kerak bo'ladi. ko'rsatmalar. Ushbu usul ko'plab ma'murlar tomonidan seviladi RDP (Remote Desktop Protocol). RDP orqali to'g'ridan-to'g'ri ish stantsiyasiga ulanish bizning muammomizni ideal tarzda hal qiladi, faqat bitta katta pashshadan tashqari - RDP portini Internet uchun ochiq saqlash juda xavflidir. Shuning uchun, men quyida oddiy, ammo ishonchli himoya usulini taklif qilaman.Ofisda masofaviy ish. RDP, Port Knocking, Mikrotik: oddiy va xavfsiz

Men Mikrotik qurilmalari Internetga ulanish sifatida ishlatiladigan kichik tashkilotlarga tez-tez duch kelganim uchun, quyida men buni Mikrotik-da qanday amalga oshirishni ko'rsataman, lekin Port Knocking himoya qilish usuli xuddi shunday kirish router sozlamalari va boshqa yuqori toifadagi qurilmalarda osongina amalga oshirilishi mumkin. xavfsizlik devori

Port Knocking haqida qisqacha. Internetga ulangan tarmoqning ideal tashqi himoyasi bu barcha resurslar va portlar tashqi tomondan xavfsizlik devori tomonidan yopilganda. Va shunday tuzilgan xavfsizlik devori bo'lgan yo'riqnoma tashqaridan kelgan paketlarga hech qanday munosabatda bo'lmasa ham, ularni tinglaydi. Shunday qilib, siz marshrutizatorni shunday sozlashingiz mumkinki, u turli portlarda tarmoq paketlarining ma'lum (kod) ketma-ketligini olganida, u (router) paketlar kelgan IP uchun ma'lum resurslarga (portlar, protokollar va boshqalar) kirishni rad etadi. .).

Endi nuqtaga. Men Mikrotik-da xavfsizlik devorini o'rnatishning batafsil tavsifini bermayman - Internet buning uchun sifatli manbalarga to'la. Ideal holda, xavfsizlik devori barcha kiruvchi paketlarni bloklaydi, lekin

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

Allaqachon o'rnatilgan (o'rnatilgan, bog'langan) ulanishlardan kiruvchi trafikga ruxsat beradi.
Endi biz Mikrotik-da Port Knocking-ni sozlaymiz:

/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

Endi batafsilroq:

birinchi ikkita qoida

/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

portni skanerlash paytida qora ro'yxatga kiritilgan IP manzillardan kiruvchi paketlarni taqiqlash;

Uchinchi qoida:

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-ni kerakli portni birinchi marta to'g'ri taqillatgan xostlar ro'yxatiga qo'shadi (19000);
Quyidagi to'rtta qoida:

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

portlaringizni skanerlashni istaganlar uchun tuzoq portlarini yarating va bunday urinishlar aniqlanganda, ular o'zlarining IP-larini 60 daqiqa davomida qora ro'yxatga qo'yishadi, bu vaqt ichida dastlabki ikkita qoida bunday xostlarga to'g'ri portlarni taqillatish imkoniyatini bermaydi;

Keyingi qoida:

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-ni ruxsat etilganlar ro'yxatiga 1 daqiqaga qo'yadi (ulanish uchun etarli), chunki kerakli portda ikkinchi to'g'ri taqillatish amalga oshiriladi (16000);

Keyingi buyruq:

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

bizning qoidalarimizni xavfsizlik devoriga ishlov berish zanjiri bo'ylab yuqoriga ko'taradi, chunki bizda yangi yaratilganlar ishlashiga to'sqinlik qiladigan turli xil taqiqlovchi qoidalar allaqachon sozlangan bo'lishi mumkin. Mikrotik-dagi eng birinchi qoida noldan boshlanadi, lekin mening qurilmamda nol o'rnatilgan qoida bilan band edi va uni ko'chirishning iloji yo'q edi - men uni 1 ga ko'chirdim. Shuning uchun biz sozlamalarimizga qaraymiz - uni qaerga ko'chirishimiz mumkin va kerakli raqamni ko'rsating.

Keyingi sozlama:

/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

tasodifiy tanlangan 33890 portni oddiy RDP port 3389 va bizga kerak bo'lgan kompyuter yoki terminal server IP-ga yo'naltiradi. Biz barcha kerakli ichki resurslar uchun bunday qoidalarni yaratamiz, afzalroq nostandart (va turli) tashqi portlarni o'rnatamiz. Tabiiyki, ichki resurslarning IP manzili statik yoki DHCP serveriga tayinlangan bo'lishi kerak.

Endi bizning Mikrotikimiz sozlandi va bizga ichki RDP ga ulanish uchun foydalanuvchi uchun oson protsedura kerak. Bizda asosan Windows foydalanuvchilari borligi sababli, biz oddiy bat faylini yaratamiz va uni StartRDP.bat deb ataymiz:

1.htm
1.rdp

Shunga ko'ra 1.htm quyidagi kodni o'z ichiga oladi:

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

Bu yerda my_router.sn.mynetname.net manzilida joylashgan xayoliy rasmlarga ikkita havola mavjud - biz ushbu manzilni Mikrotik DDNS tizimidan Mikrotik-da yoqgandan so'ng olamiz: IP->Bulutli menyuga o'ting - DDNS yoqilganligini tekshiring. oynasida Qo'llash tugmasini bosing va routerimizning DNS nomini nusxalash. Ammo bu faqat yo'riqnoma tashqi IP dinamik yoki bir nechta Internet provayderlari bilan konfiguratsiyadan foydalanilganda kerak bo'ladi.

Birinchi havoladagi port: 19000 taqillatish kerak bo'lgan birinchi portga to'g'ri keladi, ikkinchisida u ikkinchisiga to'g'ri keladi. Havolalar o'rtasida qisqa tarmoq muammolari tufayli ulanishimiz to'satdan uzilib qolsa, nima qilish kerakligini ko'rsatadigan qisqa ko'rsatma mavjud - biz sahifani yangilaymiz, RDP porti biz uchun 1 daqiqaga qayta ochiladi va sessiyamiz tiklanadi. Shuningdek, img teglari orasidagi matn brauzer uchun mikro kechikish hosil qiladi, bu esa birinchi paketni ikkinchi portga (16000) yetkazish ehtimolini kamaytiradi – hozirgacha ikki haftalik foydalanishda (30 ta) bunday holatlar kuzatilmagan. odamlar).

Keyin 1.rdp fayli keladi, biz uni hamma uchun yoki har bir foydalanuvchi uchun alohida sozlashimiz mumkin (men shunday qildim - tushuna olmaganlar bilan maslahatlashgandan ko'ra, qo'shimcha 15 daqiqa sarflash osonroqdir)

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

Bu erda qiziqarli sozlamalardan biri multimon:i:1 dan foydalanish - bu bir nechta monitorlardan foydalanishni o'z ichiga oladi - ba'zi odamlar bunga muhtoj, lekin ular uni o'zlari yoqishni o'ylamaydilar.

ulanish turi:i:6 va networkautodetect:i:0 - Internetning ko'p qismi 10 Mbit dan yuqori bo'lganligi sababli, ulanish turini 6 (mahalliy tarmoq 10 Mbit va undan yuqori) yoqing va tarmoqni avtomatik aniqlashni o'chiring, chunki sukut bo'yicha (avtomatik), keyin hatto kamdan-kam uchraydigan kichik Tarmoq kechikishi bizning seansimiz tezligini uzoq vaqt davomida avtomatik ravishda past tezlikda o'rnatadi, bu ishda, ayniqsa grafik dasturlarda sezilarli kechikishlarni keltirib chiqarishi mumkin.

o'chirish fon rasmi:i:1 - ish stoli rasmini o'chirish
username:s:myuserlogin - biz foydalanuvchi loginini ko'rsatamiz, chunki bizning foydalanuvchilarning katta qismi o'z loginini bilishmaydi.
domain:s:mydomain - domen yoki kompyuter nomini ko'rsating

Ammo biz ulanish protsedurasini yaratish vazifasini soddalashtirmoqchi bo'lsak, PowerShell - StartRDP.ps1 dan ham foydalanishimiz mumkin.

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-dagi RDP mijozi haqida ham bir oz: MS protokolni, uning server va mijoz qismlarini optimallashtirishda uzoq yo'lni bosib o'tdi, ko'plab foydali xususiyatlarni amalga oshirdi - 3D apparati bilan ishlash, monitoringiz uchun ekran o'lchamlarini optimallashtirish, ko'p ekranli, va boshqalar. Lekin, albatta, hamma narsa orqaga qarab muvofiqlik rejimida amalga oshiriladi va agar mijoz Windows 7 va masofaviy kompyuter Windows 10 bo'lsa, RDP protokol versiyasi 7.0 yordamida ishlaydi. Yaxshiyamki, siz RDP versiyalarini eng so'nggi versiyalarga yangilashingiz mumkin - masalan, protokol versiyasini 7.0 (Windows 7) dan 8.1 ga yangilashingiz mumkin. Shuning uchun, mijozlarga qulaylik yaratish uchun siz server qismining versiyalarini maksimal darajada oshirishingiz kerak, shuningdek, RDP protokoli mijozlarining yangi versiyalarini yangilash uchun havolalarni taqdim etishingiz kerak.

Natijada, bizda ishlaydigan kompyuter yoki terminal serveriga masofadan ulanish uchun oddiy va nisbatan xavfsiz texnologiya mavjud. Ammo xavfsizroq ulanish uchun bizning Port Knocking usulimiz tekshirish uchun portlarni qo'shish orqali bir necha darajali hujum uchun murakkab bo'lishi mumkin - xuddi shu mantiqdan foydalanib, siz 3,4,5,6... portni qo'shishingiz mumkin va bunda holda tarmog'ingizga to'g'ridan-to'g'ri bostirib deyarli imkonsiz bo'ladi.

RDP ga masofaviy ulanishni yaratish uchun fayl tayyorlash.

Manba: www.habr.com

a Izoh qo'shish