*Cube-Host — повний спектр хмарних послуг!!

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

Windows VPS: How to configure the Windows Server firewall

VPS на базі Windows: як налаштувати брандмауер Windows Server (рекомендації)

Брандмауер Windows Defender з розширеною безпекою — це ваш перший реальний рівень захисту на сервері Windows. Правильна політика брандмауера зменшує кількість атак, запобігає випадковому розкриттю даних та спрощує усунення несправностей, коли ви точно знаєте, що дозволено.

Цей посібник написано для сервера, що працює у відкритому доступі: Windows VPS на VPS-хостингу, де «відкрити все» ніколи не є безпечним варіантом за замовчуванням.

Розуміння профілів брандмауера (Доменний / Приватний / Публічний)

Брандмауер Windows має три профілі. У більшості розгортань VPS активним профілем є «Публічний». Безпечна базова конфігурація така:

  • Вхідний трафік: Блокувати (за замовчуванням)
  • Вихідний трафік: Дозволити (за замовчуванням)
# View current profile settings
Get-NetFirewallProfile | Select Name, Enabled, DefaultInboundAction, DefaultOutboundAction

# Enable firewall for all profiles (recommended)
Set-NetFirewallProfile -Profile Domain,Private,Public -Enabled True
Windows Firewall with Advanced Security: profile overview

Правило № 1: захистіть RDP (3389/TCP) — не відкривайте його для всіх

RDP необхідний для адміністрування, але це також один із портів, які найчастіше сканують в Інтернеті. Безпечний підхід:

  • За замовчуванням блокуйте вхідний трафік.
  • Створіть явне правило для RDP тільки з вашої IP-адреси (або з довірених діапазонів IP-адрес офісу/VPN).
  • Якщо можливо, використовуйте RD Gateway через 443 для зовнішнього доступу (налаштування RDS).

Важливо: завжди майте під рукою консоль провайдера / опцію екстреного доступу перед тим, як посилювати правила RDP, щоб уникнути блокування себе.

Windows Firewall: New Inbound Rule Wizard (Port rule)

Приклад PowerShell: дозволити RDP лише з вашої IP-адреси

# Replace x.x.x.x with your public IP address
New-NetFirewallRule -DisplayName "RDP (3389) - My IP only" `
  -Direction Inbound -Protocol TCP -LocalPort 3389 `
  -Action Allow -RemoteAddress x.x.x.x

Дозвольте лише те, що вам потрібно (приклади)

Створіть явні правила для служб, якими ви дійсно користуєтеся. Типові приклади на Windows VPS:

  • HTTP/HTTPS: 80/443 для веб-хостингу (IIS).
  • SQL Server: власний порт TCP (часто 1433) — в ідеалі обмежений за IP.
  • WinRM: 5985/5986 лише якщо ви використовуєте віддалену автоматизацію (суворо обмежуйте).
# Web traffic
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

# Example: SQL Server on 1433 restricted to a management subnet
New-NetFirewallRule -DisplayName "SQL Server (TCP 1433) - Office" `
  -Direction Inbound -Protocol TCP -LocalPort 1433 `
  -Action Allow -RemoteAddress 203.0.113.0/24

Правило порту проти правила програми: що безпечніше?

Якщо можливо, віддавайте перевагу правилам для програм для серверних додатків, оскільки вони прив’язують дозвіл до конкретного виконуваного файлу. Правила для портів простіші та поширені для серверів, але вони можуть ненавмисно дозволити несподіваним програмам прослуховувати той самий порт.

Для власних програм та автоматизації використовуйте Scope (RemoteAddress), щоб обмежити доступ до служби.

Увімкніть журнал брандмауера (це значно полегшує усунення несправностей)

Журнал показує, що блокується, а що дозволяється. Це надзвичайно корисно, коли користувачі кажуть: «не підключається».

Set-NetFirewallProfile -Profile Domain,Private,Public `
  -LogFileName "C:WindowsSystem32LogFilesFirewallpfirewall.log" `
  -LogMaxSizeKilobytes 32768 `
  -LogAllowed True `
  -LogBlocked True

Короткий контрольний список для діагностики (коли щось не підключається)

  • Перевірте брандмауер/групу безпеки провайдера: чи відкритий там порт?
  • Перевірте профіль правил брандмауера Windows: чи застосовується він до активного профілю (Public/Private/Domain)?
  • Перевірте область дії: чи не занадто суворий параметр RemoteAddress?
  • Проведіть тест з клієнта: підключення TCP та маршрутизація.
  • Перегляньте pfirewall.log на наявність заблокованих з’єднань.
# From a client/jump host
Test-NetConnection  -Port 443
Test-NetConnection  -Port 3389

netsh advfirewall (альтернатива, сумісна зі старими версіями)

На сучасних версіях Windows Server рекомендується використовувати PowerShell (модуль NetSecurity). Але в деяких старих скриптах ви все ще можете побачити netsh advfirewall.

# Example: enable built-in Remote Desktop rule group
netsh advfirewall firewall set rule group="remote desktop" new enable=Yes

Висновок

Стратегія безпечного брандмауера Windows Server проста й ефективна: за замовчуванням блокувати вхідний трафік, дозволяти лише необхідні служби, обмежувати порти управління за IP-адресами та вмикати ведення журналів для прозорості.

Для виробничих робочих навантажень розгортайте систему на надійному VPS під Windows із передбачуваною мережевою інфраструктурою на VPS-хостингу — і робіть правила брандмауера мінімальними, задокументованими та простими для аудиту.

Prev
Menu