Короткий ответ
Три профиля Windows Firewall (Domain, Private, Public) должны быть Enabled True на WS-042 и на Windows Server. «Выключили, чтобы 1С/RDP/шара заработали» — не решение. Решение: узнать активный профиль, открыть нужный порт с нужного RemoteAddress, включить firewall, проверить сервис. Постоянно держать firewall off нельзя: ни вручную, ни GPO «Turn off Windows Firewall».
Если стоит другой сетевой фильтр (только если он реально работает и управляем), Windows Firewall всё равно не оставляйте off «насовсем» без проекта замены и документированных правил. Defender и firewall — разные подсистемы; отключённый Defender разбирайте отдельно.
Симптомы и как отличить
Get-NetFirewallProfileпоказывает Enabled False.- В GPO: Computer Configuration → Administrative Templates → Network → Network Connections → Windows Defender Firewall → «Windows Defender Firewall: Protect all network connections» = Disabled / Turn off.
- После обновления «пропала сеть» — кто-то снова выключил профили.
- Сканер compliance: host-based firewall disabled.
| Что видите | Не «firewall off» |
|---|---|
| Firewall on, порт всё равно закрыт | нет allow-правила, неверная сеть профиля |
| Сервис не слушает | приложение, не фильтр |
| RDP с интернета при firewall on | 3389 на WAN |
| Только Public off, Domain on | часто ноутбук в гостевой Wi-Fi без защиты |
Возможные причины
- Ручной
Set-NetFirewallProfile -Enabled False«на пять минут». - GPO с отключением firewall, унаследованная с 2012.
- Скрипт вендора/RMM при установке.
- Третьесторонний «интернет-безопасность» отключил штатный фильтр и сам умер.
- Профиль Public на сервере с двумя NIC, админы выключили Public целиком.
- Путаница: отключили правило, а не профиль — и наоборот в следующей заявке.
Диагностика
На WS-042:
Get-NetFirewallProfile | Format-Table Name, Enabled, DefaultInboundAction, DefaultOutboundAction, LogAllowed, LogBlocked
Get-NetConnectionProfile | Format-Table Name, InterfaceAlias, NetworkCategory
Get-NetFirewallRule -Enabled True -Direction Inbound | Measure-ObjectNetworkCategory DomainAuthenticated ожидаем в contoso.example. Public на доменном NIC — проблема NLA/DNS/доменного обнаружения.
Кто выключает политикой:
gpresult /h C:\Temp\gp-fw.html /f
Get-ItemProperty 'HKLM:\SOFTWARE\Policies\Microsoft\WindowsFirewall\DomainProfile' -ErrorAction SilentlyContinue
Get-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\DomainProfile'Снимите список слушающих портов до включения, чтобы знать, какие allow нужны:
Get-NetTCPConnection -State Listen | Select-Object LocalAddress, LocalPort, OwningProcess |
Sort-Object LocalPort -Unique
Get-NetFirewallPortFilter | Where-Object LocalPort -in 3389, 445, 5985, 5986, 443, 80Типовые: 3389 RDP, 445 SMB, 5985/5986 WinRM, роли приложения.
Решение
Сценарий A. Выключили руками, сервисы известны
- Консоль гипервизора/iLO открыта.
- Включите профили:
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled True- Если сервис отвалился — не выключайте снова. Добавьте правило:
New-NetFirewallRule -Name 'Allow-RDP-LAN' -DisplayName 'Allow RDP from LAN' -Direction Inbound `
-Protocol TCP -LocalPort 3389 -RemoteAddress 10.0.10.0/24 -Action Allow -Profile DomainПодставьте порт и CIDR приложения. Для WinRM см. безопасный WinRM.
Сценарий B. GPO держит firewall off
Найдите GPO, снимите «Turn off Windows Firewall», выставьте «Protect all network connections» / включение профилей согласно актуальным ADMX Windows Defender Firewall. gpupdate /force на пилоте. Запретите локальным админам выключать профили политикой.
Сценарий C. Сервер с несколькими NIC (LAN + iSCSI + backup)
Не выключайте Public «потому что iSCSI». Пометьте интерфейсы категориями, ограничьте правила профилем и интерфейсом (-InterfaceAlias). iSCSI/heartbeat — отдельные allow, не off.
Сценарий D. Третьесторонний продукт
Если корпоративный NGFW-агент официально заменяет host firewall — должна быть политика, мониторинг, что агент жив. Если агент стоит «галочкой» и Windows Firewall off, а агент не фильтрует — включите Windows Firewall. Два фильтра с дублями правил хуже, чем один рабочий; выбирайте осознанно, не off+off.
На DC01 и member-серверах после включения профилей проверьте, что GPO не содержит одновременно «Firewall on» и скрипт netsh advfirewall set allprofiles state off в startup — второе победит через 5 минут и вы будете искать «почему gpresult зелёный, а Enabled False». Для Hyper-V/кластера не копируйте runbook 2008 года с отключением фильтра на всех узлах: современные роли живут со штатными правилами. Сохраните Get-NetFirewallProfile до и после в каталог заявки contoso.example, чтобы откат был фактом, а не воспоминанием.
Как проверить, что проблема устранена
Get-NetFirewallProfile | Format-Table Name, Enabled
Get-NetConnectionProfile
Test-NetConnection DC01.contoso.example -Port 389С другой подсети: порт, который должен быть закрыт, не открывается; рабочий сервис с разрешённого CIDR открывается. GPO больше не содержит turn off. После reboot профили остаются True.
Проверьте RDP/SMB/приложение с типичного клиента и с чужого VLAN.
Если не помогло
- После включения «нет сети» из-за профиля Public и дефолтного блока: исправьте NetworkCategory (доменный DNS, клиент домена), добавьте allow, не off.
- Hyper-V/кластер: нужны встроенные правила; не копируйте «disable firewall on cluster» из старых форумов.
- GPO Preferences снова выключает: уберите элемент.
- Логи firewall: включите LogDroppedPackets на пилоте, смотрите
domainfw.logпо пути из профиля.
Не решайте SMBv1 выключением фильтра.
Профилактика
- Baseline: все профили on, мониторинг
Enabled. - Запрет в регламенте: firewall off не является шагом runbook.
- Эталон образа с включённым фильтром.
- Изменения правил — тикет, не чат.
- Часть hardening.
FAQ
Можно выключить только Public?
На доменном сервере Public не должен быть единственным активным с Any. Выключать профиль целиком — плохая привычка. Правильнее блок inbound по умолчанию и узкие allow.
DefaultOutboundAction Deny?
Для high-security — да, с allow DNS/DC/WSUS. На обычном файловом сервере часто Allow outbound. Не копируйте Deny outbound без DNS/NTP — сломаете домен и обновления.
Firewall ломает ping
ICMP можно разрешить точечно из подсети мониторинга. Не включайте Any ICMP с мира.
Нужен ли firewall на DC?
Да. На DC набор правил шире (LDAP, Kerberos, DNS, SMB, RPC). Не выключайте его «потому что AD сложно». Пилот правил на тестовом DC, не на единственном DC01 в пятницу.
netsh advfirewall set allprofiles state off
Запрещённый приём. Если нашли в скриптах — удалите, замените на правила.
После включения отвалился WinRM с jump
Добавьте 5986/5985 с IP jump-сети, не off. См. WinRM.