Skip to content
Virtualall

Virtualall

Automate, Protect, Optimize – IT Simplified

  • Home
  • Windows
    • ActiveDirectory
    • DNS
  • VMware
    • Automation
    • vSphere
    • Horizon
  • Proxmox
  • Checkpoint
  • CheckMK
  • Veeam
  • Azure
  • English (US)English (US)
  • SlovenčinaSlovenčina
  • Toggle search form
Windows Server RDP Brute Force ochrana

Windows Server RDP Brute Force Protection

Posted on December 12, 2023September 11, 2026 By Martin Hasin No Comments on Windows Server RDP Brute Force Protection

Remote Desktop Protocol (RDP) je protokol vyvinutý spoločnosťou Microsoft, ktorý umožňuje vzdialené pripojenie k počítačom alebo serverom cez sieť. RDP server je softvérová časť, ktorá prijíma tieto vzdialené pripojenia a umožňuje používateľom pracovať na vzdialenom počítači, akoby boli priamo pred ním.

Na Windows Server 2022 a iných serverových edíciách od Microsoftu, RDP server je súčasťou funkcionality Remote Desktop Services (RDS). RDS ponúka viaceré možnosti vzdialeného prístupu a umožňuje viacerým používateľom súčasne pracovať na serveri.

Brute force útok je typ útoku, ktorý sa snaží získať prístup k účtu alebo systému prostredníctvom opakovaných a automatických pokusov s rôznymi kombináciami hesiel. Tento spôsob útoku je pomenovaný podľa svojej jednoduchej, ale agresívnej povahy, kedy útočník “násilím” skúša všetky možné kombinácie, kým nenájde správne heslo.

Princíp bruteforce útoku je založený na predpoklade, že heslo môže byť akékoľvek kombinácia znakov (čísla, písmená, špeciálne znaky) a že ak sa vykoná dostatočné množstvo pokusov, útočník nájde správne heslo. Tento útok môže byť úspešný, ak je heslo slabé alebo ak nie sú implementované žiadne dodatočné opatrenia na ochranu proti bruteforce útokom.

Existujú rôzne spôsoby, ako môže útočník vykonať bruteforce útok:

  1. Brute Force na prihlasovacej stránke:
    • Útočník skúša kombinácie hesiel priamo na prihlasovacej stránke (napríklad webovom rozhraní alebo vzdialenom prístupe).
  2. Offline Brute Force:
    • Útočník získava hesloové hashe (napríklad z databázy) a potom ich skúša offline pomocou rôznych heselných kombinácií.
  3. Dictionary Attack:
    • Útočník používa zoznam bežných hesiel, tzv. “slovník”, a skúša ich postupne.

Ochrana pred bruteforce útokmi zahŕňa používanie silných hesiel, obmedzenie počtu neúspešných pokusov o prihlásenie, používanie viacfaktorovej autentifikácie (2FA/MFA) a monitorovanie neobvyklých aktivít na účtoch.

Je dôležité si uvedomiť, že bruteforce útoky sú považované za agresívne a neetické správanie. Organizácie by mali aktívne implementovať opatrenia na ochranu pred takýmito útokmi a zabezpečiť svoje systémy proti násilným pokusom o získanie prístupu.

Ochrana voči útokom

Blokovanie IP adries, ktoré skenujú zariadenie (napríklad pre bruteforce útoky), je jedným zo spôsobov ochrany pred potenciálnymi útočníkmi. Toto opatrenie môže byť implementované na úrovni sieťových zariadení, ako sú firewally, alebo na úrovni aplikácií, ktoré sú napadnuté. Tu je niekoľko krokov, ktoré môžete podniknúť:

  1. Firewall pravidlá:
    • Nastavte firewall pravidlá, ktoré automaticky blokujú prístup z IP adries, ktoré sa správajú neobvykle alebo sa pokúšajú o prístup s neplatnými údajmi. Tieto pravidlá môžu sledovať neobvyklý tok sieťovej prevádzky, príliš veľa požiadaviek za krátky čas, alebo množstvo neúspešných prihlásení.
  2. Intrusion Detection/Prevention System (IDS/IPS):
    • Použite systémy detekcie a prevencie intrúzií na monitorovanie a reagovanie na neobvyklú činnosť v sieti. IDS/IPS môže identifikovať a blokovať pokusy o skenovanie zariadení a iné nežiaduce aktivity.
  3. Monitorovanie logov:
    • Pravidelne monitorujte logy zariadení a aplikácií. Hľadajte neobvyklé aktivity alebo opakovane neúspešné pokusy o prihlásenie. Ak sa zistí neštandardná činnosť, môže byť IP adresa blokovaná.
  4. Automatické blokovanie:
    • Automatizujte proces blokovania IP adries, ktoré sa dopúšťajú nevhodnej činnosti. Môžete nastaviť systém tak, aby automaticky reagoval na určité typy útokov a blokoval prístup z problematických adries.
  5. Thresholds a obmedzenia:
    • Nastavte prahy a obmedzenia na počet požiadaviek alebo neúspešných prihlásení za daný časový interval. Keď sa tieto prahy prekročia, môžu byť IP adresy automaticky blokované.
  6. Whitelisting a Blacklisting:
    • Použite bielu a čiernu listinu IP adries. Biela listina povolí prístup iba z povolených adries, zatiaľ čo čierna listina zakáže prístup z určených adries.
  7. Geografické obmedzenia:
    • Ak je to možné, obmedzte prístup len na konkrétne geografické oblasti, kde očakávate legitímnu prevádzku. To môže pomôcť obmedziť vplyv útokov zo špecifických regiónov.

Implementácia týchto opatrení v rámci bezpečnostnej stratégie môže značne znížiť riziko úspešného útoku prostredníctvom skenovania IP adries. Je však tiež dôležité, aby sa tieto opatrenia pravidelne aktualizovali a prispôsobovali sa novým hrozbám a taktikám útočníkov.

Implementácia ochrany

Implementácia ochrany

Ochrana pozostáva z dvoch modulov:

  1. Spracovanie LOG:
  2. Vytvaranie pravidiel pre firewall
Spracovanie LOG
$Last_n_Hours = [DateTime]::Now.AddHours(-5)
$badRDPlogons = Get-EventLog -LogName 'Security' -after $Last_n_Hours -InstanceId 4625 | ?{$_.Message -match 'logon type:\s+(3)\s'} | Select-Object @{n='IpAddress';e={$_.ReplacementStrings[-2]} }
$getip = $badRDPlogons | group-object -property IpAddress | where {$_.Count -gt 5} | Select -property Name

IP adresy ktoré sapodielaju na utoku sú uložené v premennej

$getip
Implementácia ochrany (2)
Vytvátranie pravidiel pre firewall

Je potrebne vytvorit pravidlo na firewall

New-NetFirewallRule -DisplayName "BlockRDPBruteForce" –RemoteAddress 1.1.1.1 -Direction Inbound -Protocol TCP –LocalPort 3389 -Action Block

Práca s firewall:

$log = "C:\rdp_blocked_ip.txt"
$current_ips = (Get-NetFirewallRule -DisplayName "BlockRDPBruteForce" | Get-NetFirewallAddressFilter ).RemoteAddress
foreach ($ip in $getip)
{
$current_ips += $ip.name
(Get-Date).ToString() + ' ' + $ip.name + ' The IP address has been blocked due to ' + ($badRDPlogons | where {$_.IpAddress -eq $ip.name}).count + ' attempts for 2 hours'>> $log # writing the IP blocking event to the log file
}
Set-NetFirewallRule -DisplayName "BlockRDPBruteForce" -RemoteAddress $current_ips

V tejto sekcii sa vytvori LOG subor kde je zapisany aj pocet neuspesnych pokusov o prihlasenie na RDP server.

C:\rdp_blocked_ip.txt
12/12/2023 12:27:36 PM 91.238.181.10 The IP address has been blocked due to 742 attempts for 2 hours
12/12/2023 12:27:36 PM 185.222.7.137 The IP address has been blocked due to 3673 attempts for 2 hours
12/12/2023 12:27:37 PM 185.161.248.31 The IP address has been blocked due to 301 attempts for 2 hours
12/12/2023 12:27:37 PM 188.120.232.81 The IP address has been blocked due to 276 attempts for 2 hours

Daný script je potrebné implementovať pomocou Task Sheduller aby sa spášťal opakovane.

Windows Task Scheduler (Plánovač úloh):

  • Čo to je: Windows Task Scheduler je nástroj od spoločnosti Microsoft, ktorý umožňuje plánovať a automatizovať spustenie rôznych úloh na operačnom systéme Windows. Tieto úlohy môžu zahŕňať spustenie programov, skriptov, zálohovanie, aktualizácie a ďalšie operácie.
  • Ako funguje: Používateľ môže vytvoriť úlohy v rozhraní Task Scheduler, určiť podmienky spustenia a konfigurovať ďalšie parametre. Úlohy môžu byť naplánované na špecifický čas alebo spustené na základe udalostí, ako napríklad pri prihlásení alebo odhlásení používateľa.

Vytvorenie Task Sheduller úlohy pomocu PowerShell:

$trigger = New-ScheduledTaskTrigger `
    -Once `
    -At (Get-Date) `
    -RepetitionInterval (New-TimeSpan -Minutes 15) `
    -RepetitionDuration (New-TimeSpan -Days (365 * 20))
$User= "NT AUTHORITY\SYSTEM"
$Action= New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "C:\PS\block_rdp_attack.ps1"
Register-ScheduledTask -TaskName "BlockRDPBruteForce_PS" -Trigger $Trigger -User $User -Action $Action -RunLevel Highest –Force

Návod na inštaláciu:

  1. stihnú ps1 script do priečinka “C:\PS\block_rdp_attack.ps1”
  2. Nainštalovať Task Sheduller politiku abz dochádyalo k spúštaniu scriptu

Script:

# Check if the rule already exists
$existingRule = Get-NetFirewallRule -DisplayName "BlockRDPBruteForce" -ErrorAction SilentlyContinue

if ($existingRule -eq $null) {
    # Rule doesn't exist, create a new one
    New-NetFirewallRule -DisplayName "BlockRDPBruteForce" –RemoteAddress 1.1.1.1,1.1.1.1 -Direction Inbound -Protocol TCP –LocalPort 3389 -Action Block
    Write-Host "Firewall rule BlockRDPBruteForce created successfully."
} else {
#    Write-Host "Firewall rule BlockRDPBruteForce already exists."
}
$Last_n_Hours = [DateTime]::Now.AddHours(-5)
$badRDPlogons = Get-EventLog -LogName 'Security' -after $Last_n_Hours -InstanceId 4625 | ?{$_.Message -match 'logon type:\s+(3)\s'} | Select-Object @{n='IpAddress';e={$_.ReplacementStrings[-2]} }
$getip = $badRDPlogons | group-object -property IpAddress | where {$_.Count -gt 5} | Select -property Name
$log = "C:\rdp_blocked_ip.txt"
$current_ips = (Get-NetFirewallRule -DisplayName "BlockRDPBruteForce" | Get-NetFirewallAddressFilter ).RemoteAddress
foreach ($ip in $getip)
{
$current_ips += $ip.name
(Get-Date).ToString() + ' ' + $ip.name + ' The IP address has been blocked due to ' + ($badRDPlogons | where {$_.IpAddress -eq $ip.name}).count + ' attempts for 2 hours'>> $log # writing the IP blocking event to the log file
}
Set-NetFirewallRule -DisplayName "BlockRDPBruteForce" -RemoteAddress $current_ips

Súvisiace návody

  • Zabezpečenie Windows Servera s Veeam
  • CIS Benchmark
  • MSSQL transakčné logy – Správa diskového priestoru
Martin Hasin
Martin Hasin
CEO at mhite S.R.O. | martin.hasin@gmail.com | Website |  + postsBio

Odborník na kybernetickú bezpečnosť, správu Azure Cloud a VMware onprem. Využíva technológie, ako Checkmk a MRTG, na monitorovanie siete a zvyšovanie efektívnosti a bezpečnosti IT infraštruktúry. Kontakt: hasin(at)mhite.sk

  • Martin Hasin
    VRA Ubuntu 26.04 Server Template — Kompletná šablóna pre vRealize Automation
  • Martin Hasin
    Cisco Nexus VPC Cluster for PROXMOX – Complete Guide
  • Martin Hasin
    Windows 11 in Azure with Entra ID – Complete Deployment Guide
  • Martin Hasin
    Azure SQL Access Verification – Complete Authentication Guide
  • Martin Hasin
    Veeam Backup Replication v13 Linux Appliance – Complete Guide
  • Martin Hasin
    Check Point VSX DHCP Relay – Configuration
  • Martin Hasin
    K3s on Raspberry Pi – From Idea to Functional Kubernetes Cluster
  • Martin Hasin
    MinIO S3 Backup with Veeam – Complete Guide
  • Martin Hasin
    Client Workstation Backup – Legislation and Practical Reasons
  • Martin Hasin
    MSSQL Transaction Logs – Disk Space Management
  • Martin Hasin
    Cisco UCS C220 M7 Monitoring and Logging Part 7
  • Martin Hasin
    Cisco UCS C220 M7 vSphere Lifecycle Manager Part 6
  • Martin Hasin
    Cisco UCS C220 M7 VMware Network and vMotion Part 5
  • Martin Hasin
    Cisco UCS C220 M7 ESXi and vCenter Part 4
  • Martin Hasin
    Cisco UCS C220 M7 Network Architecture Part 3
  • Martin Hasin
    HTTPS Inspection in Corporate Environment
  • Martin Hasin
    Cisco UCS C220 M7 VMware Cluster Part 2
  • Martin Hasin
    Cisco UCS C220 M7 VMware Cluster
  • Martin Hasin
    Microsoft 365 Backup – Why Cloud Is Not Backed Up
  • Martin Hasin
    Azure API Management
  • Martin Hasin
    Ubuntu Hardened Repository Veeam
  • Martin Hasin
    CIS Benchmark: Štandard pre posilnenie kybernetickej bezpečnosti 2
  • Martin Hasin
    CIS Benchmark
  • Martin Hasin
    Azure SQL Backup with Veeam
  • Martin Hasin
    SNIA Data Protection Best Practices
  • Martin Hasin
    Veeam monitoring CheckMK
  • Martin Hasin
    Azure Automation
  • Martin Hasin
    Veeam Hardened Repository
  • Martin Hasin
    Ako a prečo zálohovať Active Directory
  • Martin Hasin
    Entra ID Backup with Veeam
  • Martin Hasin
    Veeam Backup for Proxmox VM
  • Martin Hasin
    Windows Server Security with Veeam
  • Martin Hasin
    Grafana Dashboard for Veeam
  • Martin Hasin
    Veeam Backup NFS Fileshare
  • Martin Hasin
    VRA Ubuntu Template
  • Martin Hasin
    Azure SQL Server Security
  • Martin Hasin
    Azure Storage Account Security
  • Martin Hasin
    Microsoft Authenticator
  • Martin Hasin
    Virtual WAN VPN Server
  • Martin Hasin
    VRA Windows Template Creation
  • Martin Hasin
    Azure REST API Reset Analysis Services
  • Martin Hasin
    Azure Purview Data Security
  • Martin Hasin
    Azure Office 365 Data Security
  • Martin Hasin
    Azure Elasticsearch Log Server
  • Martin Hasin
    Azure SQL Server Export BACPAC
  • Martin Hasin
    Azure Communication Services Email
  • Martin Hasin
    Backup Azure Fileshare Duplicati
  • Martin Hasin
    Azure Key Vault Backup
  • Martin Hasin
    Azure Fileshare Mount Ubuntu
  • Martin Hasin
    DLP Data Protection in Azure
  • Martin Hasin
    Azure Blob Storage Ransomware Protection
  • Martin Hasin
    Azure Cloud Backup
  • Martin Hasin
    Azure Private Link VPN
  • Martin Hasin
    Azure Point-to-Site VPN
  • Martin Hasin
    VMware VCSA Certificate Replacement
  • Martin Hasin
    CheckMK Nextcloud Plugin
  • Martin Hasin
    CheckMK Installation
  • Martin Hasin
    Check Point Log Partition Resize
  • Martin Hasin
    VMware ESXi Custom Installation Media
  • Martin Hasin
    VRA Windows 11 Template
  • Martin Hasin
    Active Directory NTP Server
  • Martin Hasin
    AD AllowNT4Crypto Security
  • Martin Hasin
    CentOS Stream 9 Template for VRA
  • Martin Hasin
    Windows DNS and Linux DNS Replication
  • Martin Hasin
    Active Directory 2022 Installation Part 2
  • Martin Hasin
    Active Directory 2022 Installation
  • Martin Hasin
    vCenter VMSA-2021-0028 Fix
  • Martin Hasin
    VMware Coredump Collector
  • Martin Hasin
    Windows VMware Disk Statistics
  • Martin Hasin
    Ubuntu Template for VRA
  • Martin Hasin
    VMware vCenter API Commands
  • Martin Hasin
    Adding ESXi to vCenter
  • Martin Hasin
    Creating Datastore in ESXi
  • Martin Hasin
    VMware ESXi 7 Installation
  • Martin Hasin
    VMware vCenter 7 Installation
Windows Tags:bezpecnost, DDOS, ddos prevention

Post navigation

Previous Post: Azure Private Link VPN
Next Post: Azure Cloud Backup

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Search

Archives

  • May 2026
  • January 2026
  • November 2025
  • October 2025
  • September 2025
  • August 2025
  • July 2025
  • May 2025
  • April 2025
  • March 2025
  • February 2025
  • January 2025
  • December 2024
  • November 2024
  • July 2024
  • June 2024
  • May 2024
  • March 2024
  • February 2024
  • January 2024
  • December 2023
  • June 2023
  • April 2023
  • November 2022
  • October 2022
  • August 2022
  • July 2022
  • March 2022
  • February 2022
  • January 2022
  • December 2021
  • November 2021
  • October 2021

Categories

  • ActiveDirectory
  • Automation
  • Azure
  • CheckMK
  • Checkpoint
  • DNS
  • Linux
  • Proxmox
  • Uncategorized
  • Veeam
  • VMware
  • vSphere
  • Windows

Archives

  • May 2026
  • January 2026
  • November 2025
  • October 2025
  • September 2025
  • August 2025
  • July 2025
  • May 2025
  • April 2025
  • March 2025
  • February 2025
  • January 2025
  • December 2024
  • November 2024
  • July 2024
  • June 2024
  • May 2024
  • March 2024
  • February 2024
  • January 2024
  • December 2023
  • June 2023
  • April 2023
  • November 2022
  • October 2022
  • August 2022
  • July 2022
  • March 2022
  • February 2022
  • January 2022
  • December 2021
  • November 2021
  • October 2021

Copyright © 2021 Martin Hasin.

Powered by PressBook WordPress theme

Spravujte súhlas so súbormi cookie
Na poskytovanie tých najlepších skúseností používame technológie, ako sú súbory cookie na ukladanie a/alebo prístup k informáciám o zariadení. Súhlas s týmito technológiami nám umožní spracovávať údaje, ako je správanie pri prehliadaní alebo jedinečné ID na tejto stránke. Nesúhlas alebo odvolanie súhlasu môže nepriaznivo ovplyvniť určité vlastnosti a funkcie.
Funkčné Always active
Technické uloženie alebo prístup sú nevyhnutne potrebné na legitímny účel umožnenia použitia konkrétnej služby, ktorú si účastník alebo používateľ výslovne vyžiadal, alebo na jediný účel vykonania prenosu komunikácie cez elektronickú komunikačnú sieť.
Predvoľby
Technické uloženie alebo prístup je potrebný na legitímny účel ukladania preferencií, ktoré si účastník alebo používateľ nepožaduje.
Štatistiky
Technické úložisko alebo prístup, ktorý sa používa výlučne na štatistické účely. Technické úložisko alebo prístup, ktorý sa používa výlučne na anonymné štatistické účely. Bez predvolania, dobrovoľného plnenia zo strany vášho poskytovateľa internetových služieb alebo dodatočných záznamov od tretej strany, informácie uložené alebo získané len na tento účel sa zvyčajne nedajú použiť na vašu identifikáciu.
Marketing
Technické úložisko alebo prístup sú potrebné na vytvorenie používateľských profilov na odosielanie reklamy alebo sledovanie používateľa na webovej stránke alebo na viacerých webových stránkach na podobné marketingové účely.
  • Manage options
  • Manage services
  • Manage {vendor_count} vendors
  • Read more about these purposes
Zobraziť predvoľby
  • {title}
  • {title}
  • {title}