...

*КУБ– полный комплекс облачных услуг!

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: проверьте параллельно.
Серафинит - АкселераторОптимизировано Серафинит - Акселератор
Включает высокую скорость сайта, чтобы быть привлекательным для людей и поисковых систем.