Если вам нужно разрешить запуск определенного приложения в Windows, но запретить ему доступ в Интернет, проще всего создать запрещающее правило во встроенном брандмауэре (Windows Defender Firewall).
К примеру, я хочу ограничить доступ в интернет для приложения Acrobat Reader. Для создания блокирующего правила в файерволе Windows, нужно получить полный путь к исполняемому файлу программы (например, «
C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe
«)
Откройте консоль управления Windows Firewall with Advanced Security, выполнив команду
wf.msc
.
Щелкните по секции Outbound Rule и выберите New Rule.
Создайте правило файервола со следующими настройками:
- Тип правила:
program
- Путь к программе (воспользуйтесь кнопкой Browse чтобы выбрать исполняемый файл программы):
C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe
- Действие:
Block the connection
- Для каких профилей применить правило: выберите все сетевые профили Windows (
Domain, Private, Public
) - Укажите имя правила:
Block network access Acrobat ReaderDC (AcroRd32.exe)
.
Новое правило появится в консоли Windows Defender. По умолчанию оно активно и будет блокировать сетевой доступ для выбранного приложения. При попытке открыть PDF файл из сетевой папки или Интернет-сайта, Acrobat Reader скажет, что указанный URL не доступен.
Get-NetFirewallProfile | Format-Table Name, Enabled
Если нужно заблокировать доступ для универсального UWP приложения Microsoft Store:
- Откройте свойства созданного ранее правила брандмауэра, перейдите на вкладку Programs and Services
- Выберите опцию All programs that meet the specified conditions
- Нажмите на кнопку Settings в разделе Application Packages и выберите в списке UWP приложение, которому нужно ограничить доступ в Интернет
Можно создать правило файервола, которое блокирует программе доступ в Интернет из консоли PowerShell. Это гораздо быстрее. Например, рассмотренное выше правило можно создать с помощью команды:
New-NetFirewallRule -Program "C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe" -Action Block -Profile Domain, Private,Public -DisplayName "Block network access Acrobat ReaderDC (AcroRd32.exe)" -Description "Block Acrobat ReaderDC" -Direction Outbound
Включить правило:
Get-NetFirewallrule -DisplayName "Block network access Acrobat ReaderDC (AcroRd32.exe)"| Enable-NetFirewallRule
Если нужно запретить приложению доступ в Интернет, но разрешить обращаться к ресурсам в локальной сети (на IP адреса в подсети 192.168.2.0/24), можно оставить общее запрещающее правило и создать более узкое разрешающее правило для разрешенных IP адресов и/или подсетей:
$allowedIP = @("192.168.2.0/24")
New-NetFirewallRule -Program "C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe" -Action Allow -Profile Domain, Private,Public -DisplayName "Allow LAN access Acrobat ReaderDC (AcroRd32.exe)” -Description “Allow LAN Acrobat ReaderDC" -Direction Outbound
Get-NetFirewallrule -DisplayName "Allow LAN access Acrobat ReaderDC (AcroRd32.exe)"| Get-NetFirewallAddressFilter | Set-NetFirewallAddressFilter -RemoteAddress $allowedIP
Теперь программа сможет получить доступ только к сетевым ресурсам в LAN, но не в Интернете.
Если нужно запретить доступ для всех программ, кроме разрешенных:
- Нужно перевести действие по-умолчанию для исходящего трафика в запрет (block):
netsh advfirewall set allprofiles firewallpolicy blockinbound,blockoutbound
- После этого нужно отключить все правила и создать разрешающее правила только для выбранных exe файлов.