Často som čítal názor, že ponechať port RDP (Remote Desktop Protocol) otvorený pre internet je veľmi nebezpečné a nemalo by sa to robiť. Musíte však poskytnúť prístup k RDP buď prostredníctvom VPN, alebo iba z určitých „bielych“ adries IP.
Spravujem niekoľko Windows Serverov pre malé firmy, kde som bol poverený poskytovaním vzdialeného prístupu k Windows Serveru pre účtovníkov. To je moderný trend – práca z domu. Pomerne rýchlo som si uvedomil, že trápiť účtovníkov VPN je nevďačná úloha a zhromažďovanie všetkých adries IP na bielu listinu nebude fungovať, pretože adresy IP ľudí sú dynamické.
Preto som zvolil najjednoduchšiu cestu - preposlal RDP port von. Ak chcete získať prístup, účtovníci teraz musia spustiť RDP a zadať názov hostiteľa (vrátane portu), používateľské meno a heslo.
V tomto článku sa podelím o svoje skúsenosti (pozitívne aj nie až tak pozitívne) a odporúčania.
Riziká
Čo riskujete otvorením portu RDP?
1) Neoprávnený prístup k citlivým údajom
Ak niekto uhádne heslo RDP, bude môcť získať údaje, ktoré chcete zachovať ako súkromné: stav účtu, zostatky, údaje o zákazníkoch, ...
2) Strata dát
Napríklad v dôsledku vírusu ransomware.
Alebo úmyselná akcia útočníka.
3) Strata pracovnej stanice
Pracovníci musia pracovať, ale systém je ohrozený a je potrebné ho preinštalovať/obnoviť/konfigurovať.
4) Ohrozenie lokálnej siete
Ak útočník získal prístup k počítaču so systémom Windows, potom z tohto počítača bude môcť pristupovať k systémom, ktoré sú zvonku nedostupné, z internetu. Napríklad na zdieľanie súborov, na sieťové tlačiarne atď.
Mal som prípad, keď Windows Server zachytil ransomvér
a tento ransomvér najskôr zašifroval väčšinu súborov na disku C: a potom začal šifrovať súbory na NAS cez sieť. Keďže NAS bol Synology s nakonfigurovanými snímkami, obnovil som NAS za 5 minút a preinštaloval Windows Server od začiatku.
Pripomienky a odporúčania
Monitorujem používanie serverov Windows
Monitoring sám o sebe nechráni, ale pomáha určiť potrebné opatrenia.
Tu je niekoľko postrehov:
a) PRV bude hrubo vynútený.
Na jednom zo serverov som nainštaloval RDP nie na štandardný port 3389, ale na 443 - no, prezlečiem sa za HTTPS. Asi sa oplatí zmeniť port zo štandardného, ale veľa úžitku to neprinesie. Tu sú štatistiky z tohto servera:
Je vidieť, že za týždeň bolo takmer 400 000 neúspešných pokusov o prihlásenie cez RDP.
Je vidieť, že boli pokusy o prihlásenie z 55 001 IP adries (niektoré IP adresy som už zablokoval).
To priamo naznačuje záver, že musíte nastaviť fail2ban, ale
Pre Windows takýto nástroj neexistuje.
Zdá sa, že na Githube je niekoľko opustených projektov, ktoré to robia, ale ani som sa ich nepokúsil nainštalovať:
Existujú aj platené služby, ale nezvažoval som ich.
Ak poznáte nejaký open source nástroj na tento účel, podeľte sa oň v komentároch.
Aktualizácia: Komentáre naznačovali, že port 443 je zlá voľba a je lepšie zvoliť vysoké porty (32000+), pretože 443 sa skenuje častejšie a rozpoznanie RDP na tomto porte nie je problém.
b) Existujú určité používateľské mená, ktoré útočníci uprednostňujú
Je vidieť, že vyhľadávanie sa vykonáva v slovníku s rôznymi názvami.
Ale tu je to, čo som si všimol: značný počet pokusov používa názov servera ako prihlásenie. Odporúčanie: Nepoužívajte rovnaký názov pre počítač a používateľa. Navyše to niekedy vyzerá, že sa pokúšajú nejako analyzovať názov servera: napríklad v prípade systému s názvom DESKTOP-DFTHD7C je najviac pokusov o prihlásenie s názvom DFTHD7C:
Ak teda máte počítač DESKTOP-MARIA, pravdepodobne sa budete pokúšať prihlásiť ako používateľ MARIA.
Ďalšia vec, ktorú som si všimol z protokolov: na väčšine systémov je väčšina pokusov o prihlásenie s názvom „administrátor“. A to nie je bez dôvodu, pretože v mnohých verziách systému Windows tento používateľ existuje. Navyše sa nedá vymazať. Útočníkom to zjednodušuje úlohu: namiesto hádania mena a hesla stačí uhádnuť heslo.
Mimochodom, systém, ktorý ransomvér zachytil, mal používateľa Administrator a heslo Murmansk#9. Stále si nie som istý, ako bol tento systém napadnutý, pretože som začal monitorovať hneď po tomto incidente, ale myslím si, že je to prehnané.
Takže ak nie je možné odstrániť používateľa Administrator, čo by ste mali robiť? Môžete to premenovať!
Odporúčania z tohto odseku:
- nepoužívajte používateľské meno v názve počítača
- uistite sa, že v systéme nie je žiadny administrátor
- používajte silné heslá
Takže už niekoľko rokov sledujem, že niekoľko serverov Windows pod mojou kontrolou je brutálne nútené a neúspešne.
Ako zistím, že je neúspešný?
Pretože na snímkach obrazovky vyššie môžete vidieť, že existujú protokoly úspešných volaní RDP, ktoré obsahujú informácie:
- z ktorej IP
- z ktorého počítača (názov hostiteľa)
- užívateľské meno
- GeoIP informácie
A pravidelne tam kontrolujem - nenašli sa žiadne anomálie.
Mimochodom, ak je konkrétna adresa IP obzvlášť tvrdo vynútená, môžete jednotlivé adresy IP (alebo podsiete) zablokovať takto v PowerShell:
New-NetFirewallRule -Direction Inbound -DisplayName "fail2ban" -Name "fail2ban" -RemoteAddress ("185.143.0.0/16", "185.153.0.0/16", "193.188.0.0/16") -Action Block
Mimochodom, Elastic okrem Winlogbeat má tiež
No, posledné odporúčania:
- Vykonávajte pravidelné automatické zálohy.
- nainštalujte aktualizácie zabezpečenia včas
Bonus: zoznam 50 používateľov, ktorí boli najčastejšie využívaní na pokusy o prihlásenie do RDP
"user.name: zostupne"
Spočítať
dfthd7c (názov hostiteľa)
842941
winsrv1 (názov hostiteľa)
266525
ADMINISTRATOR
180678
správca
163842
správca
53541
michael
23101
server
21983
Steve
21936
john
21927
paul
21913
recepcia
21909
mikrofón
21899
kancelária
21888
skener
21887
skenovať
21867
david
21865
Chris
21860
majiteľ
21855
riaditeľ
21852
Administrateur
21841
brian
21839
správca
21837
značka
21824
zamestnanci
21806
ADMIN
12748
ROOT
7772
SPRÁVCA
7325
SUPPORT
5577
SUPPORT
5418
USER
4558
admin
2832
TEST
1928
mysql
1664
admin
1652
HOSŤ
1322
User1
1179
SKENER
1121
SCAN
1032
SPRÁVCA
842
SPRÁVCA1
525
ZÁLOHA
518
MySqlAdmin
518
PRÍJEM
490
User2
466
TEMP
452
SQLADMIN
450
User3
441
1
422
MANAGER
418
MAJITEĽ
410
Zdroj: hab.com