Як налаштувати 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.
Покрокова інструкція
-
Підготовка та перевірка системи.
Перед тим як “крутити” 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 — глобальні налаштування профілів.
-
Основні дії та налаштування.
Тут дві задачі: ввімкнути 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”
-
Перевірка результату та безпеки.
Після того, як ви налаштували 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 Rules → New Rule → Port. Оберіть 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

