Je nebezpečné mít otevřené RDP na internetu?

Není neobvyklé číst názory, že mít RDP (Remote Desktop Protocol) port otevřený na Internetu je velmi nebezpečné, a že by se to dělat nemělo. Přístup k RDP by měl být poskytován buď přes VPN, nebo pouze z určitých "bílých" IP adres.

Administruji několik Windows Serverů pro malé firmy, kde bylo mým úkolem zajistit vzdálený přístup k Windows Serveru pro účetní. Takovýto moderní trend – práce z domova. Poměrně rychle jsem pochopil, že potrápit účetní VPN je nevděčné, a že se mi nepodaří shromáždit všechny IP adresy pro bílý seznam, protože adresy lidí jsou dynamické.

Proto jsem zvolil nejjednodušší cestu – přesunul jsem port RDP ven. Nyní pro přístup potřebují účetní spustit RDP a zadat název hostitele (včetně portu), uživatelské jméno a heslo.

V tomto článku se podělím o zkušenosti (pozitivní i negativní) a doporučení.

Rizika

Jaké riziko podstupujete otevřením portu RDP?

1) Neautorizovaný přístup k citlivým údajům
Pokud někdo uhádne heslo k RDP, může získat údaje, které chcete mít soukromé: stavy účtů, zůstatky, údaje o klientech, …

2) Ztráta dat
Například v důsledku činnosti ransomware.
Nebo cíleného jednání útočníka.

3) Ztráta pracovního stanice
Zaměstnanci musí pracovat, a systém je kompromitován, je třeba ho přeinstalovat / obnovit / konfigurovat.

4) Kompromitace lokální sítě
Pokud útočník získal přístup k Windows počítači, pak z tohoto počítače může mít přístup k systémům, které nejsou přístupné zvenčí, z Internetu. Například k sdíleným složkám, síťovým tiskárnám atd.

Měl jsem případ, kdy Windows Server chytil ransomware

a tento ransomware nejprve zašifroval většinu souborů na disku C:, a pak začal šifrovat soubory na NAS přes síť. Protože NAS byl Synology, s nastavenými snapshoty, tak jsem NAS obnovil za 5 minut, zatímco Windows Server jsem musel přeinstalovat od začátku.

Pozorování a Doporučení

Monitruji Windows Servery pomocí Winlogbeat, které posílají logy do ElasticSearch. V Kibana je několik vizualizací a já jsem si také nastavil vlastní dashboard.
Sám monitoring nechrání, ale pomáhá určit potřebná opatření.

Zde jsou některá pozorování:
a) RDP se budou bruteforce.
Na jednom ze serverů jsem RDP nastavil na port 443 místo standardního 3389 — abych se tak říkajíc zamaskoval jako HTTPS. S změnou portu z standardního asi stojí za to, ale moc to nepomůže. Tady jsou statistiky z tohoto serveru:

Je nebezpečné mít otevřené RDP na internetu?

Vidíte, že za týden bylo téměř 400 000 neúspěšných pokusů o připojení přes RDP.
Bylo zaznamenáno pokusy o připojení z 55 001 IP adres (některé IP adresy jsem už zablokoval).

Nabízí se závěr, že je třeba nasadit fail2ban, ale

pro Windows takový nástroj neexistuje.

Existuje pár opuštěných projektů na GitHubu, které to prý dělají, ale ani jsem je nezkoušel instalovat:
https://github.com/glasnt/wail2ban
https://github.com/EvanAnderson/ts_block

Jsou také placené nástroje, ale těmi jsem se nezabýval.

Pokud znáte nějaký otevřený nástroj pro tento účel — podělte se o něj v komentářích.

Aktualizovat: V komentářích mě upozornili, že port 443 je nešťastná volba, lepší je zvolit vyšší porty (32000+), protože 443 je častěji skenován a identifikovat RDP na tomto portu není problém.

Update: V komentářích mě informovali, že takový nástroj existuje:
https://github.com/digitalruby/ipban

b) Existují určité uživatelské jména, která útočníci upřednostňují
Vidíte, že probíhá slovníkový útok s různými jmény.
Ale co jsem si všiml: značné množství pokusů používá název serveru jako přihlašovací jméno. Doporučení: nepoužívejte stejné jméno pro počítač a pro uživatele. Navíc, někdy se zdá, že se název serveru pokouší nějak rozebrat: například pro systém s názvem DESKTOP-DFTHD7C je nejvíce pokusů o přihlášení s názvem DFTHD7C:

Je nebezpečné mít otevřené RDP na internetu?

Pokud tedy máte počítač DESKTOP-MARIA, pravděpodobně budou probíhat pokusy o přihlášení pod uživatelským jménem MARIA.

Další věc, kterou jsem si všiml z logů: na většině systémů je většina pokusů o přihlášení s jménem "administrator". A to není náhoda, protože v mnoha verzích Windows tento uživatel existuje. Navíc ho nelze odstranit. To usnadňuje úlohu útočníkům: místo podávání jména a hesla je třeba jen uhádnout heslo.
Mimochodem, ten systém, který chytil ransomware, měl uživatele Administrator a heslo Murmansk#9. Stále nejsem jistý, jak se ten systém dostal do problémů, protože jsem začal sledovat až po této události, ale myslím, že slovníkový útok je pravděpodobný.
Pokud tedy uživatele Administrator nelze odstranit, co s tím dělat? Může se přejmenovat!

Doporučení z této části:

  • nepoužívejte jméno uživatele v názvu počítače.
  • Ujistěte se, že na systému není uživatel Administrator
  • Používejte silná hesla

Takhle už několik let sleduji, jak jsou moje Windows servery brutálně napadány, a bez úspěchu.

Odkud vím, že bez úspěchu?
Protože na výše uvedených snímcích obrazovky jsou vidět úspěšné pokusy o přihlášení přes RDP, v nichž jsou informace:

  • z jaké IP adresy
  • z jakého počítače (hostname)
  • uživatelské jméno
  • informace GeoIP

A pravidelně se na to dívám – anomálie nebyly zjištěny.

Mimochodem, pokud je z nějaké IP adresy brutální útok zvlášť vytrvalý, lze jednotlivé IP (nebo podsítě) zablokovat takto v PowerShellu:

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

Mimochodem, Elastic kromě Winlogbeat má také Auditbeat, který může sledovat soubory a procesy na systému. Ještě je zde aplikace SIEM (Security Information & Event Management) v Kibana. Zkoušel jsem oboje, ale neviděl jsem výrazný přínos – zdá se, že Auditbeat bude užitečnější pro Linux systémy, zatímco SIEM mi zatím nic jasného neukázal.

A konečné doporučení:

  • provádějte pravidelné automatické zálohy.
  • včas instalujte bezpečnostní aktualizace.

Bonus: seznam 50 uživatelů, kteří byli nejčastěji používáni pro pokusy o přihlášení přes RDP

"user.name: Sestupně"
Počet

dfthd7c (hostname)
842941

winsrv1 (hostname)
266525

ADMINISTRATOR
180678

administrator
163842

Administrator
53541

michael
23101

server
21983

steve
21936

john
21927

paul
21913

reception
21909

mike
21899

office
21888

scanner
21887

scan
21867

david
21865

chris
21860

vlastník
21855

manager
21852

administrateur
21841

brian
21839

administrador
21837

mark
21824

staff
21806

ADMIN
12748

ROOT
7772

ADMINISTRADOR
7325

SUPPORT
5577

SOPORTE
5418

UŽIVATEL
4558

admin
2832

TEST
1928

MySql
1664

Admin
1652

GUEST
1322

USER1
1179

SCANNER
1121

SCAN
1032

ADMINISTRATEUR
842

ADMIN1
525

BACKUP
518

MySqlAdmin
518

RECEPTION
490

USER2
466

TEMP
452

SQLADMIN
450

USER3
441

1
422

MANAGER
418

OWNER
410

Zdroj: habr.com

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster