Брандмауэр Windows 11 закрывает программе сетевой доступ или закрывает порт за шесть шагов: выбрать направление правила, указать программу или порт, задать действие "Блокировать подключение", отметить сетевые профили, дать правилу понятное имя и проверить результат. Всё делается во встроенной оснастке "Брандмауэр Защитника Windows в режиме повышенной безопасности" (wf.msc), без сторонних утилит и перезагрузки.
Порядок обработки правил предсказуем: сетевой трафик для протоколов разрешён до тех пор, пока его не блокируют другие соответствующие правила. На этом свойстве строятся точечные запреты, когда нужно перекрыть доступ конкретной программе, оставив остальную сеть нетронутой.
Ниже разобраны два рабочих сценария: блокировка программы (входящие и исходящие подключения) и блокировка порта или диапазона портов. Каждый шаг описан так, чтобы результат проверялся сразу, а ошибку можно было откатить одним действием.
Зачем блокировать приложения и порты в Windows 11
Оснастка брандмауэра даёт контроль над входящим и исходящим трафиком на уровне отдельного процесса или номера порта. Это точечный инструмент, который решает задачи, недоступные обычным отключением защиты.
- Изоляция тестового или недоверенного ПО: приложение запускается локально, но не может ни инициировать соединения, ни принимать их извне.
- Отключение сетевых функций устаревшей программы, для которой вендор давно не выпускает обновления: обновляться и слать телеметрию она больше не будет.
- Закрытие портов, которые не используются в работе: входящий TCP 445 (SMB) на рабочей станции и TCP 3389 (RDP) на машине без задач удалённого администрирования.
- Запрет исходящих соединений на порт 25 (SMTP) для учётных записей и приложений, которые не должны отправлять почту напрямую.
- Снижение поверхности атаки на изолированном стенде: лишний слушающий порт остаётся в системе, но недоступен из сети.
Правила брандмауэра работают в связке с другими фильтрами. Защитник Windows и сторонние антивирусы (Касперский, ESET) умеют блокировать сетевые операции приложений независимо от брандмауэра, поэтому одну и ту же программу иногда приходится разрешать в двух местах. Разницу между двумя классами защиты разбирает материал файрвол и антивирус: в чём разница и нужно ли ставить оба.
Прежде чем закрывать доступ, стоит точно понимать, что фильтруется по адресам, портам и протоколам: базовые принципы собраны в статье что такое файрвол: простое объяснение для начинающих.
Обратная сторона точечных запретов проявляется на сетевых компонентах. Встроенный брандмауэр Windows, Защитник Windows или сторонние антивирусы (Касперский, ESET) могут блокировать сетевые операции приложений, а конфликт с другими VPN-клиентами или сетевыми драйверами мешает работе сетевых программ подробнее о причинах. Типичный пример такого драйвера, NpCap Packet Driver, ставится вместе с Nmap.
Подготовка к созданию блокирующих правил
Изменения в брандмауэре затрагивают сеть целиком, поэтому подготовка занимает пару минут и экономит часы разбирательств.
- Убедитесь, что у вас есть права локального администратора. Без них оснастка не сохранит правило.
- Определите активный сетевой профиль: доменный (Domain), частный (Private) или общедоступный (Public). Правило применяется к тем профилям, которые вы отметили, и не сработает на остальных.
- Откройте оснастку: Win+R, затем wf.msc. Быстрый путь к базовым настройкам даёт firewall.cpl, оттуда по ссылке "Дополнительные параметры" открывается та же консоль.
- Создайте точку восстановления системы или экспортируйте текущую политику брандмауэра: раздел "Экспорт политики" в меню "Действие" сохраняет конфигурацию в файл .wfw.
- Уточните, с каким направлением трафика работаете. "Правила для входящего подключения" управляют трафиком к вашему компьютеру, "Правила для исходящего подключения" - трафиком от вашего компьютера.
Для повторяемых задач есть автоматизация: командлет New-NetFirewallRule в PowerShell и netsh advfirewall. Основная часть статьи построена на графической оснастке, поскольку она нагляднее и не требует проверки синтаксиса. Общие принципы включения, отключения и настройки защиты, включая работу через wf.msc и PowerShell, разобраны в руководстве брандмауэр Windows 10 и 11: включить, отключить и настроить.
Как заблокировать программу в брандмауэре Windows 11
Правило для программы привязывается к исполняемому файлу по полному пути. Windows хранит путь целиком, поэтому перенос файла в другую папку разрывает связь и правило перестаёт работать.
Блокировка входящих подключений для приложения
- В wf.msc выделите узел "Правила для входящего подключения" и выберите "Создать правило".
- Тип правила: "Для программы".
- Путь к программе: укажите полный путь к исполняемому файлу, например C:\Tools\testapp.exe.
- Действие: "Блокировать подключение".
- Профили: отметьте доменный, частный и общедоступный, если запрет нужен в любой сети.
- Имя и описание: имя вида "Block testapp inbound" через месяц сэкономит время при разборе списка из сотен строк.
Пример задачи: сервер разработки на рабочей станции должен отвечать только локальным обращениям. Блокировка входящих подключений оставляет исходящий трафик приложения нетронутым, поэтому обновления и обращения к внешним API продолжают работать.
Побочный эффект проявляется там, где программа ждёт входящие соединения: торрент-клиент перестаёт принимать пиров, локальный веб-сервер становится недоступен коллегам по офисной сети, а приложение, которое поднимает слушающий сокет для обмена с собственным агентом, теряет часть функций.
Блокировка исходящих подключений для приложения
- Выделите узел "Правила для исходящего подключения" и выберите "Создать правило".
- Тип правила: "Для программы", затем укажите полный путь к исполняемому файлу.
- Действие: "Блокировать подключение".
- Профили: для полного запрета отметьте все три.
- Задайте имя и описание, например "Block old FTP client outbound".
Исходящий запрет жёстче входящего. Программа не сможет обновляться, отправлять телеметрию, обращаться к серверам лицензий и синхронизировать данные. Типичный сценарий, где это оправдано: старый FTP-клиент, который больше не используется, но продолжает висеть в автозагрузке и стучаться на внешние адреса.
Осторожности требует блокировка сетевых служб. Служба vpnagent.exe отвечает за создание виртуального сетевого адаптера, установку зашифрованного туннеля и взаимодействие с VPN-шлюзом, поэтому запрет исходящих подключений для неё или для Cisco Secure Client приводит к ошибке "VPN service not available" разбор ошибки и её причин. Перед такими экспериментами проверьте правило на некритичном приложении.
Если программа запускает несколько процессов или работает через отдельную службу, одного правила не хватит. Правила создаются для каждого исполняемого файла, иначе запрет обойдётся через дочерний процесс.
Блокировка портов через брандмауэр Windows 11
Правила для портов не привязаны к конкретной программе: они закрывают номер или диапазон для всего трафика на выбранных профилях. Такой подход удобен, когда приложение-источник меняется, а закрыть нужно сам сервис.
Создание правила блокировки входящих подключений для порта
- В wf.msc выделите "Правила для входящего подключения" и выберите "Создать правило".
- Тип правила: "Для порта".
- Протокол: TCP или UDP. Для SMB и RDP это TCP.
- Укажите номер порта (445 или 3389) либо диапазон, например 8000-8010.
- Действие: "Блокировать подключение".
- Профили: отметьте нужные и задайте имя правила.
Пример: блокировка входящего TCP 445 на рабочей станции. Служба SMB остаётся запущенной, но из сети порт недоступен, что закрывает распространённый вектор атак через общие папки. Второй частый случай: закрытие TCP 3389 на машине, где удалённый рабочий стол не используется.
Проверьте список уже существующих правил до создания запрета. Если порт открыт разрешающим правилом с более узкой областью действия (например, только для конкретной подсети), блокировка всего диапазона всё равно сработает, а ожидаемый доступ из этой подсети пропадёт.
Блокировка исходящих подключений на порт
- Выделите "Правила для исходящего подключения" и выберите "Создать правило".
- Тип правила: "Для порта", протокол TCP или UDP, номер порта.
- Действие: "Блокировать подключение", затем профили и имя.
Пример: блокировка исходящего TCP 25, чтобы приложения не отправляли почту напрямую, минуя корпоративный релей. Такое правило часто ставят на рабочих станциях вместе с ограничением исходящего трафика на DNS-порты.
Ограничение по номеру порта задевает всех, кто этим портом пользуется. Cisco AnyConnect использует TLS/DTLS: TCP/443 и UDP/443 (либо порт, настроенный на VPN-шлюзе, но 443 по умолчанию), поэтому блокировка UDP 443 может нарушить работу этого VPN-клиента. Перед применением стоит включить журналирование и посмотреть, какие процессы реально ходят на закрываемый порт.
Расширенные настройки безопасности: профили, область действия и приоритеты
Три сетевых профиля определяют, где правило активно. Доменный профиль включается, когда компьютер видит контроллер домена, частный - для доверенных локальных сетей, общедоступный - для кафе, гостиниц и гостевого Wi-Fi. При создании правила галочки профилей задают эту привязку, и ошибка здесь приводит к тому, что правило молча не работает в нужной сети.
Вкладка "Область действия" в свойствах правила ограничивает его конкретными адресами. Поля "Локальный IP-адрес" и "Удалённый IP-адрес" принимают отдельные адреса, подсети и диапазоны. Практический пример: запретить приложению выход в сеть только при подключении к общедоступной сети, оставив его полностью рабочим в корпоративной. Для этого правило создаётся с профилем "Общедоступный", а в удалённых адресах указывается диапазон домашней или офисной подсети со знаком исключения.
Важно учитывать, что брандмауэр Windows не поддерживает упорядочивание правил, назначаемых администратором. Эффективный набор политик с ожидаемым поведением строится из нескольких согласованных и логичных правил, а не из расчёта на порядок их обработки. Если поведение расходится с ожиданием, проверьте, не описывает ли существующее разрешающее правило более узкую область действия: например, блокировка всего порта 443 и разрешение на конкретный IP дадут доступ именно к этому адресу.
Неверная настройка области действия делает правило нерабочим без единого сообщения об ошибке. Диагностика в такой ситуации сводится к сравнению полей "Протокол", "Локальный порт", "Удалённый порт" и адресов у всех правил, пересекающихся по трафику.
Проверка и тестирование созданных правил
Журналирование включается в свойствах брандмауэра: "Свойства брандмауэра Защитника Windows" → вкладка профиля → раздел "Журнал" → кнопка "Настроить" → путь к файлу и лимит размера. Расположение по умолчанию для файлов журналов брандмауэра - %systemroot%\system32\LogFiles\Firewall. Запись разрешённых и заблокированных подключений включается и командами netsh advfirewall set allprofiles logging allowedconnections enable и netsh advfirewall set allprofiles logging droppedconnections enable.
В файле каждая строка соответствует пакету или соединению. Ключевые поля: дата и время, действие (DROP для отброшенных, ALLOW для пропущенных), протокол, локальный и удалённый адреса, номера портов, а также путь к процессу в поле info. Строки DROP по нужному порту подтверждают, что правило работает.
Проверку удобно делать со второй машины:
- Test-NetConnection -ComputerName 192.168.1.50 -Port 445 из PowerShell: строка TcpTestSucceeded со значением False означает, что порт закрыт.
- telnet 192.168.1.50 445 как быстрый способ убедиться, что соединение не устанавливается.
- Монитор брандмауэра в оснастке (узел "Мониторинг" → "Правила брандмауэра") показывает активные правила и помогает найти пересечения.
Для VPN-проблем отдельно проверяется служба: в services.msc или через Get-Service ищется "Cisco AnyConnect VPN Agent" (vpnagent.exe) и её состояние. Если служба остановлена, ошибка подключения воспроизводится независимо от правил брандмауэра.
Возможные побочные эффекты и способы их устранения
Большинство инцидентов после настройки брандмауэра связано с блокировкой сетевых компонентов, о которых при создании правила не думали: VPN-клиенты, виртуальные адаптеры, драйверы захвата трафика.
Конфликты с VPN-клиентами и сетевыми драйверами
Сценарий: после блокировки исходящих подключений для Cisco AnyConnect Secure Mobility Client или Cisco Secure Client подключение падает с ошибкой "VPN service not available". Сбой локализован на стороне компьютера пользователя, а не на сервере или в учётных данных, и встречается на Windows 10, Windows 11 и более старых версиях системы. Первое действие: открыть services.msc, найти "Cisco AnyConnect VPN Agent" и перезапустить службу. Перезапуск решает большинство случаев, когда служба остановлена или зависла.
Если перезапуск не помог, проверьте виртуальный адаптер. Компонент Cisco AnyConnect Secure Mobility Client Virtual Miniport Adapter for Windows нужен для создания VPN-туннеля, и он повреждается после обновления Windows или установки стороннего ПО. Лечение: диспетчер устройств → "Сетевые адаптеры" → удалить виртуальный адаптер → меню "Действие" → "Обновить конфигурацию оборудования", после чего клиент пересоздаст адаптер.
Второй источник проблем, не связанный с брандмауэром напрямую: NpCap Packet Driver, который ставится вместе с Nmap, конфликтует с VPN-клиентами и мешает работе сетевых приложений. В issue Npcap #152 описан случай, когда при захвате на VPN-интерфейсе исходящие пакеты захватывались, а входящие блокировались и не принимались операционной системой; остановка захвата позволяла соединению возобновиться нормально. Решение: временно удалить NpCap или обновить драйвер до актуальной версии.
Сторонние антивирусы добавляют собственный сетевой фильтр. Если правило брандмауэра удалено, а доступ к сети у приложения всё равно отсутствует, проверьте настройки Касперского или ESET: их сетевой экран ведёт отдельный список разрешённых и заблокированных программ. Общий алгоритм поиска виновника, с проверкой DNS, маршрутизации, прокси и доменных политик, разобран в статье как устранить блокировку сетевого доступа политикой организации в Windows.
Как откатить или удалить правило
Откат занимает несколько секунд. В wf.msc найдите правило по имени в соответствующем узле, щёлкните правой кнопкой и выберите "Отключить правило". Отключение обратимо: правило остаётся в списке и включается одной командой, тогда как удаление требует создавать его заново.
Массовая работа со списком удобнее через PowerShell:
Get-NetFirewallRule -DisplayName "Block testapp inbound" | Disable-NetFirewallRule
То же правило снимается командой Enable-NetFirewallRule, а для удаления используется Remove-NetFirewallRule с тем же фильтром по имени. Перед чисткой списка экспортируйте политику через раздел "Экспорт политики" в меню "Действие": файл .wfw позволит вернуть конфигурацию целиком, если что-то пойдёт не так.
Перед блокировкой критичных для сети компонентов создайте точку восстановления системы. Это дешевле и быстрее, чем разбираться с потерянным доступом к удалённой машине.
Автоматизация через PowerShell и netsh: когда графики недостаточно
Однотипные правила быстрее создавать скриптом, особенно когда настройка повторяется на десятках машин. Для Windows 11 предпочтителен PowerShell: командлеты NetSecurity дают типизированные параметры и понятные ошибки.
Блокировка программы на исходящие подключения:
New-NetFirewallRule -DisplayName "Block App" -Direction Outbound -Program "C:\Tools\app.exe" -Action Block -Profile Any
Блокировка входящего порта через netsh, если нужен вариант, совместимый со старыми скриптами:
netsh advfirewall firewall add rule name="Block Port 3389" dir=in action=block protocol=TCP localport=3389
Параметры, которые стоит держать под рукой: -Protocol TCP или UDP, -LocalPort с номером или диапазоном, -RemoteAddress для ограничения области действия, -Profile Domain, Private, Public или Any, -Description для пояснения цели правила.
Перенос конфигурации на другие машины делается через экспорт и импорт политики: netsh advfirewall export "C:\fw\baseline.wfw" и netsh advfirewall import "C:\fw\baseline.wfw". Такой подход переносит весь набор правил, поэтому применять его на рабочей системе стоит после проверки на изолированном стенде.
Автоматизация охотно создаёт дубли и конфликтующие правила: скрипт запускается дважды, и в списке появляются две одинаковые строки, одна из которых остаётся после отката. Перед массовым применением проверьте результат командой Get-NetFirewallRule с фильтром по DisplayName и убедитесь, что в выводе ровно одна запись.