Як налаштувати firewall Windows Server

Як налаштувати firewall Windows Server

Як налаштувати firewall Windows Server: проста, але безпечна схема для 2016 та 2019

Короткий опис: Покрокова інструкція, як налаштувати firewall Windows Server, від базового ввімкнення до створення правил для портів і сервісів. Реальні приклади для Windows Server 2016 і Windows Server 2019: які профілі вмикати, які порти відкривати, як не “вбити” RDP і як перевірити, що все працює.

Адмін вперше включає firewall на Windows Server 2016 / 2019 — і раптом пропадає RDP, користувачі не можуть зайти на сайт, а бухгалтерія кричить, що 1С “померла”. Класика. Firewall на Windows Server не такий страшний, як здається, але якщо бездумно клацнути “Turn off” або навпаки різко “закрутити гайки” — можна дуже швидко відрізати сервер від мережі або відкрити його для півінтернету.

Далі — практично, без зайвої теорії. Розберемо, як налаштувати firewall Windows Server так, щоб:

  • сервер залишився доступним по RDP;
  • працювали веб-сайти, файли, бази даних, VPN;
  • зайве було закрите, але потрібні сервіси — доступні;
  • окремо глянемо на Windows Server 2016 і 2019, але логіка в них однакова.

Коли виникає проблема або навіщо це потрібно

Firewall на Windows Server часто ігнорують: “та там і так є зовнішній фаєрвол на роутері, навіщо ще щось”. А потім з’являється новий сервіс, відкривають купу портів, забувають закрити старі, і сервер перетворюється на дірявий шматок заліза в DMZ.

Проблема, з якою найчастіше стикаються:

  • RDP (порт 3389) починає відвалюватися після зміни правил.
  • Веб-сервер (IIS, Apache, Nginx) не відкривається ззовні — хоча локально все працює.
  • SQL Server або інша БД не доступна з програм клієнтів.
  • Після “жорсткого” включення firewall з пропозицією “Block all inbound connections” падають служби домену, DNS, файлопомийка.

Виглядає це в житті просто: користувач каже “покаже сторінку не знайдено”, “до сервера неможливо підключитися”, “1С зависає”. На самому сервері – все ок, але з іншої машини – тиша. В 99% випадків винен неправильно налаштований firewall Windows Server.

Ще одна причина розібратися, як налаштувати firewall Windows Server — це нормативні вимоги (безпека, аудит, ISO, PCI-DSS), коли “firewall має бути увімкнений і сконфігурований”. Там вже “відключити і забути” не проходить.

Найшвидший спосіб

Якщо потрібно швидко, без глибоких політик, просто зробити адекватний базовий захист і не зламати роботу сервера, можна піти коротким шляхом:

  • увімкнути Windows Defender Firewall для всіх профілів (Domain, Private, Public);
  • перевірити, що не блокуються стандартні сервіси (RDP, файли, DNS, HTTP/HTTPS, якщо це веб-сервер);
  • додати правила дозволу лише для тих портів, які реально потрібні;
  • для специфічних сервісів — обмежити доступ за IP (лише з локальної підмережі, VPN, конкретних хостів).

Для Windows Server 2016 і 2019 найшвидший шлях виглядає приблизно так:

  • Відкрити Windows Defender Firewall with Advanced Security (через пошук або команду wf.msc).
  • У вікні властивостей firewall увімкнути його для Domain/Private/Public профілів.
  • Переконатися, що в Inbound Rules увімкнені правила для:
    • Remote Desktop (TCP 3389);
    • Core Networking (IPv4/IPv6);
    • File and Printer Sharing (якщо потрібен доступ до шар);
    • World Wide Web Services (HTTP/HTTPS) — якщо сервер вебовий.
  • Створити окремі правила для конкретних портів, які потрібно відкрити.

Це найпростіший, але вже достатньо безпечний варіант, який підходить для більшості невеликих інфраструктур і орендованих VDS/VPS серверів на Windows Server 2016/2019.

Покрокова інструкція

  1. Підготовка та перевірка системи.

    Перед тим як “крутити” firewall, варто підстелити соломку:

    • Забезпечте альтернативний доступ до сервера (наприклад, через консоль у панелі провайдера VPS/дата-центру). Якщо RDP впаде — це вас врятує.
    • Перевірте, які порти вже слухає система. Запустіть PowerShell або CMD з правами адміністратора:

      netstat -ano | findstr LISTENING

      Так ви побачите, які порти вже відкриті службами.
    • Зробіть короткий список сервісів:
      • RDP — 3389 TCP;
      • веб-сервер — 80/443 TCP;
      • SQL Server за замовчуванням — 1433 TCP (або ваш нестандартний порт);
      • VPN (L2TP, SSTP, OpenVPN) — свої порти;
      • файловий доступ — SMB (порт 445 TCP).

    Тепер відкриваємо консоль firewall:

    • Windows Server 2016:
      • Пуск → пошук → вводимо Windows Defender Firewall with Advanced Security, відкриваємо.
      • Або натиснути Win + R, ввести wf.msc і підтвердити.
    • Windows Server 2019:
      • Так само: Пуск → пошук → “Firewall” → Windows Defender Firewall with Advanced Security.
      • Або wf.msc через Win + R.

    У вікні зліва ви побачите:

    • Inbound Rules — вхідні правила;
    • Outbound Rules — вихідні правила;
    • Windows Defender Firewall Properties — глобальні налаштування профілів.
  2. Основні дії та налаштування.

    Тут дві задачі: ввімкнути firewall правильно і відкрити потрібні порти без зайвого сміття.

    1. Увімкнення firewall для профілів

    У правій частині або по центру в консолі натисніть Windows Defender Firewall Properties.
    Там будуть три вкладки:

    • Domain Profile — коли сервер у домені;
    • Private Profile — для приватних мереж;
    • Public Profile — для публічних мереж (часто використовується для VPS в інтернеті).

    Рекомендована базова схема:

    • Firewall state: On — увімкнено для всіх трьох профілів.
    • Inbound connections: Block (default) — вхідні блокуються, крім дозволених правилами.
    • Outbound connections: Allow (default) — вихідні дозволені (для більшості сценаріїв цього достатньо).

    Так ви отримуєте логіку: все вхідне заборонено, крім того, що ви явно дозволили. Це правильно і безпечно.

    2. Перевірка готових правил RDP та базових служб

    Перед тим, як щось чіпати, перевірте, що:

    • У Inbound Rules є правила типу:
      • Remote Desktop – User Mode (TCP-In) — має бути Enabled;
      • група Remote Desktop — всі правила в ній ввімкнені, якщо ви використовуєте RDP.
    • Правила Core Networking увімкнені — без них мережа буде дивно працювати.
    • Якщо це файловий сервер — правило File and Printer Sharing для потрібних профілів.

    Якщо боїтесь “покласти” RDP — спочатку включіть і перевірте правил Remote Desktop, лише потім вмикайте сам firewall профілю Domain/Public/Private.

    3. Як дозволити порт у firewall Windows Server 2016/2019 (через GUI)

    Класичний запит: “windows server 2019 як налаштувати firewall windows server, щоб відкрити порт 443/1433/5555?”.
    Робиться це однаково для 2016 і 2019:

    • У лівій частині консолі виберіть Inbound Rules.
    • У правій частині натисніть New Rule….
    • У майстрі виберіть Port і натисніть Next.
    • Вкажіть протокол:
      • TCP — для більшості сервісів (HTTP, HTTPS, RDP, SQL, тощо);
      • UDP — для DNS, деяких VPN, VoIP.
    • Виберіть Specific local ports і введіть:
      • один порт, наприклад: 443;
      • або кілька: 80,443,8080;
      • або діапазон: 1000-1010, якщо сервіс слухає кілька послідовних портів.
    • Натисніть Next, виберіть Allow the connection (якщо ви реально хочете дозволити трафік).
    • На наступному кроці оберіть профілі:
      • Domain, Private, Public — якщо сервер у різних середовищах;
      • якщо це публічний сервер у дата-центрі — зазвичай обирають Public (або всі три для простоти, але це вже питання політики).
    • Дайте правилу зрозумілу назву:
      • HTTPS inbound 443;
      • SQL Server TCP 1433 from LAN;
      • VPN UDP 1194.
    • Натисніть Finish.

    Аналогічно, якщо сервісу потрібен дозвіл на вихідні з’єднання через цей порт (рідше, але буває), створюєте правило в Outbound Rules.

    4. Як налаштувати firewall через PowerShell (швидко і чітко)

    Для тих, хто любить консоль — приклад правила:

    Приклад: дозволити RDP (TCP 3389) вхідний тільки з локальної мережі

    Відкрийте PowerShell як адміністратор і виконайте:

    New-NetFirewallRule -DisplayName “RDP Inbound from LAN” -Direction Inbound -Protocol TCP -LocalPort 3389 -Action Allow -Profile Any -RemoteAddress 192.168.0.0/24

    Це правило:

    • дозволяє вхідні TCP-з’єднання на порт 3389;
    • для будь-якого профілю (Domain/Private/Public);
    • лише з підмережі 192.168.0.0/24.

    Якщо потрібен просто відкритий порт “з усіх IP”:

    New-NetFirewallRule -DisplayName “HTTPS 443 Inbound” -Direction Inbound -Protocol TCP -LocalPort 443 -Action Allow -Profile Any

    Корисна команда для перевірки правил:

    netsh advfirewall firewall show rule name=all

    або по конкретному імені:

    netsh advfirewall firewall show rule name=”HTTPS 443 Inbound”

  3. Перевірка результату та безпеки.

    Після того, як ви налаштували firewall Windows Server, обов’язково перевіряємо:

    • доступність сервера по RDP (з іншої машини);
    • доступність веб-сервісів (через браузер або curl);
    • доступ до баз даних / файлів з клієнтських машин.

    Кілька практичних прийомів:

    • З іншої машини виконайте:
      • telnet IP_СЕРВЕРА 443 або Test-NetConnection -ComputerName IP_СЕРВЕРА -Port 443 в PowerShell — так перевіряється, чи відкритий порт.
    • Якщо порт не відкривається:
      • перевірте, чи є правило Inbound для цього порту;
      • переконайтеся, що правило Enabled;
      • подивіться вкладку Scope у властивостях правила — можливо, воно обмежене по IP;
      • перевірте, що сервіс реально слухає на цьому порту (netstat -ano).

    Додатково, для продуманіших політик можна включити логування (у властивостях профілю — Logging: логувати заблоковані пакети і вдалi з’єднання), а потім аналізувати, що саме блокується.

Корисні поради

  • Не вимикайте firewall “щоб не заважав”. Краще коротко розібратися, як налаштувати firewall Windows Server, ніж потім ловити сканування, брутфорс і трояни на RDP.
  • Створюйте окремі правила під кожен сервіс з нормальними назвами – через місяць ви самі себе подякуєте, коли будете шукати, що відкриває 1433 або 5555 порт.
  • Для сервісів, які не мають бути доступні з інтернету (SQL, RDP, файли) — обмежуйте доступ по IP (Scope → Remote IP address) або підмережі, а не відкривайте “з усього світу”.
  • Тримайте окремий нотатник/документ, де фіксуєте, які порти і правила створили. Це сильно спрощує міграції й аудит.
  • Маловідомий лайфхак: якщо боїтеся зламати все одним махом — спершу в профілі firewall поставте Outbound: Allow, Inbound: Allow (фактично увімкнений firewall, але все дозволено), включіть логування, подивіться пару днів, який трафік ходить, а потім поступово переходьте до Block (default) для вхідних, додаючи потрібні правила.

Поширені помилки

Опишу типові косяки, які зустрічаються, коли люди налаштовують firewall Windows Server вперше:

  • Вимикають firewall повністю через Control Panel → “Turn Windows Firewall on or off”. На кілька днів стає “легше”, а потім з’являються дивні підозрілі підключення й логіни на RDP. Наслідок — високі ризики компрометації сервера.
  • Блокують RDP разом з усім іншим. Симптом: після apply профілю firewall сервер перестає відповідати по RDP. Виправлення — через консоль провайдера/Hyper-V/VMware включити правило Remote Desktop або тимчасово змінити політику firewall. Щоб не повторювати: першими перевіряйте і вмикайте RDP-правила.
  • Відкривають “All ports” або “Any” замість конкретного TCP/UDP порту. Начебто “все працює”, але ви фактично відключили firewall для сервера, залишивши псевдовідчуття безпеки. Рішення — створювати точкові правила.
  • Змішують профілі. Наприклад, правило створене лише для Domain, а сервер насправді в Public профілі — в результаті правило не спрацьовує. Якщо не впевнені — для серверів у дата-центрах часто логічно вмикати правило для Public, або для всіх профілів.
  • Забувають про Outbound Rules у середовищах з більш жорсткою безпекою. В результаті сервіс наче слухає порт, inbound дозволено, але відповіді не виходять назовні. Якщо ви вирішили обмежувати і вихідні з’єднання — документуйте всі дозволи, інакше будете довго шукати, чому не працює інтеграція з зовнішнім API.

Щоб уникнути повторення цих помилок:

  • спочатку плануєте, потім вмикаєте firewall;
  • кожну зміну тестуєте: RDP, веб, SQL;
  • для важливих серверів – налаштовуєте firewall поступово, а не “за один раз, все і одразу”.

Часті запитання

1. Як налаштувати firewall Windows Server 2019, щоб не відвалився RDP?

Перед тим як вмикати firewall для профілю, відкрийте Inbound Rules і переконайтеся, що правила з групи Remote Desktop увімкнені. Якщо потрібно, створіть своє правило для TCP 3389. Лише після цього вмикайте firewall state = On для відповідного профілю (Domain / Public / Private).

2. Windows Server 2016: як налаштувати firewall, щоб відкрити порт для веб-сайту?

Відкрийте wf.msc, перейдіть у Inbound RulesNew RulePort. Оберіть TCP, введіть порти 80,443, далі — Allow the connection, виберіть профіль (частіше Public або всі), назвіть правило, наприклад “Web HTTP/HTTPS inbound”. Після цього сайт має бути доступний ззовні (за умови, що IIS/веб-сервер запущений).

3. Як перевірити, які порти вже відкриті у firewall Windows Server?

Є два варіанти. Перший — візуально у Inbound Rules / Outbound Rules, відфільтрувавши Enabled = Yes. Другий — через консоль:

netsh advfirewall firewall show rule name=all

А ще варто подивитися, які порти взагалі слухає система: netstat -ano | findstr LISTENING.

4. Чи обов’язково налаштовувати firewall окремо в Windows Server, якщо є залізний фаєрвол на периметрі?

Небажано покладатися лише на периметровий фаєрвол. Вбудований firewall Windows Server — це додатковий рівень захисту: якщо хтось прорветься всередину мережі або отримає доступ до сегменту, сервер все одно буде частково захищений. Тому базова конфігурація firewall на самому сервері — гарна практика.

5. Як швидко відкрити порт у firewall Windows Server через PowerShell?

Скористайтеся командою:

New-NetFirewallRule -DisplayName “MyService 5555” -Direction Inbound -Protocol TCP -LocalPort 5555 -Action Allow -Profile Any

Так ви швидко створите правило “дозволити вхідний трафік TCP на порт 5555” для всіх профілів.

6. Чому порт видно у netstat, але підключитися до нього з мережі не виходить?

Є кілька варіантів:

  • немає відповідного Inbound Rule для цього порту у firewall;
  • правило створене, але Disabled;
  • правило обмежене по IP (Scope), а ви підключаєтесь з іншої підмережі;
  • зовнішній фаєрвол/роутер блокує цей порт.

Почніть із перевірки правил firewall Windows Server, потім подивіться налаштування зовнішнього обладнання.

7. Windows Server 2019: як налаштувати firewall для SQL Server, щоб до нього підключалась лише локальна мережа?

Створіть нове Inbound правило для TCP порту 1433 (або вашого порту SQL) і на вкладці Scope вкажіть Remote IP address лише вашої локальної підмережі (наприклад 192.168.0.0/24). Так ви заблокуєте доступ до SQL з інтернету, залишивши його доступним тільки всередині мережі.

8. Чи варто блокувати вихідні з’єднання (Outbound) на Windows Server?

Це більш “просунутий” рівень безпеки. Для базових сценаріїв достатньо Inbound: Block (default), Outbound: Allow. Якщо ж ви хочете максимальний контроль (наприклад, для критичних серверів), можна обмежити і вихідні з’єднання, але треба бути готовим створювати масу правил для оновлень, моніторингу, резервного копіювання тощо.

9. Як тимчасово вимкнути firewall Windows Server 2016/2019 для тесту, щоб нічого не поламати назавжди?

Краще не вимикати повністю. Якщо все ж потрібно — через Windows Defender Firewall with Advanced Security у Windows Defender Firewall Properties поставте Firewall state = Off для потрібного профілю, проведіть тест і поверніть назад. Не забувайте повернути On, щоб не залишити сервер голим.

10. Чи відрізняється налаштування firewall між Windows Server 2016 і 2019?

Інтерфейс майже однаковий, логіка теж. Команди wf.msc, New-NetFirewallRule, робота з Inbound/Outbound Rules — все так само. Різниця — більше косметична (назви, місця в меню), тому одна схема налаштування легко переноситься з 2016 на 2019.

Читайте також

Якщо тема безпеки та мережевих налаштувань для вас актуальна, раджу поглянути ще на ці розділи нашого IT-блогу:

Закладки

Якщо вам була корисна ця стаття, додайте наш
блог про інтернет безпеку
у закладки — згодиться, коли наступного разу доведеться налаштовувати Windows Server або рятувати сервер після невдалих експериментів.

Натисніть Ctrl + D

Рекомендовані статті