...

*КУБ - повний комплекс хмарних послуг!

Windows VPS: як налаштувати брандмауер Windows Server

Windows VPS: How to configure the Windows Server firewall

Перевіряємо профілі та вмикаємо брандмауер

У Windows Firewall є три профілі: Domain / Private / Public. На VPS частіше активний Public. Безпечна база — вхідні: Block, вихідні: Allow.

GUI: «Windows Defender Firewall with Advanced Security» → кореневий екран профілів.

windows VPS

PowerShell:

  Get-NetFirewallProfile | Select Name,Enabled,DefaultInboundAction,DefaultOutboundAction
Set-NetFirewallProfile -Profile Domain,Private,Public -Enabled True  

Робимо RDP безпечним (3389/TCP)

RDP потрібен для адміністрування Windows VPS, але відкривати його «всім» не можна. Схема проста: тимчасово вмикаємо штатні правила, створюємо своє вузьке правило за IP-джерелом, потім вимикаємо «широкі».

GUI (майстер нового правила):

1. Inbound Rules → New Rule…Port

2. TCP, Specific local ports: 3389

Allow the connection

Після створення зайдіть в Properties → Scope і вкажіть Remote IP addresses (ваша статична IP/підмережа VPN). Це ключ до безпеки.

PowerShell:

  # На перше підключення: увімкнемо штатну групу
Enable-NetFirewallRule -DisplayGroup "Remote Desktop"

# Вузьке правило тільки з вашої IP
New-NetFirewallRule -DisplayName "RDP inbound (admin IP only)" `
  -Direction Inbound -Protocol TCP -LocalPort 3389 -Action Allow `
  -RemoteAddress 203.0.113.50 -Profile Any

# Після перевірки — вимикаємо «широкі» правила RDP
Disable-NetFirewallRule -DisplayGroup "Remote Desktop"
  

Відкриваємо тільки те, що реально потрібно

IIS/HTTPS

  New-NetFirewallRule -DisplayName "HTTP (80)"  -Direction Inbound -Protocol TCP -LocalPort 80  -Action Allow
New-NetFirewallRule -DisplayName "HTTPS (443)" -Direction Inbound -Protocol TCP -LocalPort 443 -Action Allow
  

MS SQL (якщо використовується)

  New-NetFirewallRule -DisplayName "MSSQL (1433)" -Direction Inbound -Protocol TCP -LocalPort 1433 -Action Allow  

(При доступі з обмежених мереж — задавайте RemoteAddress і для цих правил.)

Включаємо логи (це дуже допомагає при налагодженні)

Пишемо дозволені і заблоковані з’єднання в pfirewall.log.

GUI:

PowerShell:

  Set-NetFirewallProfile -Profile Domain,Private,Public `
  -LogFileName "C:\Windows\System32\LogFiles\Firewall\pfirewall.log" `
  -LogMaxSizeKilobytes 32768 -LogAllowed True -LogBlocked True  

Швидка перевірка зовні

З клієнтського ПК перевірте, що потрібні порти доступні:

  # RDP
Test-NetConnection vps.example.ru -Port 3389
# Веб
Test-NetConnection vps.example.ru -Port 80
Test-NetConnection vps.example.ru -Port 443
# SQL (якщо потрібно)
Test-NetConnection vps.example.ru -Port 1433
  

TcpTestSucceeded : True — правило працює, порт доступний. Якщо False — дивимося профіль правила, Scope (IP-джерело) і зовнішні ACL у провайдера.

Невеликий чек-лист помилок

  • Залишили RDP «всім»: додайте RemoteAddress і вимкніть штатні широкі правила.
  • Неправильний профіль: правило висить на Private, а сервер — в Public.
  • Немає логів: увімкніть журнал — інакше «невидимі» блокування складно відловити.
  • Забули зовнішній фаєрвол/SG провайдера Windows VPS: перевірте паралельно.
Seraphinite AcceleratorOptimized by Seraphinite Accelerator
Turns on site high speed to be attractive for people and search engines.