Задать вопрос
@nerudo

Можно ли в windows firewall приложению разрешить только определенный набор адресов для исходящего трафика?

Windows 10, родной firewall. Есть Приложение, которому хочется дать доступ только к нескольким адресам (подсетям) в интернете. Все остальные должны быть недоступны. При этом множество других приложений затрагиваться не должно.
Я вчитался в rule precedence behaviors:
1) Explicitly defined allow rules take precedence over the default block setting.
2) Explicit block rules take precedence over any conflicting allow rules.
3) More specific rules take precedence over less specific rules, except if there are explicit block rules as mentioned in 2. For example, if the parameters of rule 1 include an IP address range, while the parameters of rule 2 include a single IP host address, rule 2 takes precedence.
И нахожусь в некотором недоумении - это правда сделано столь криво? Пока выходит, что моя задача решается либо
1) прописыванием для Приложения блокирующих правил на все диапазоны, которые нужно запретить (т.е. ручная инверсия списка разрешенных адресов), либо
2) Глобальным запретом для outbound после чего вручную каждому приложению пропиcывать разрешения.
Что-то мне ни то ни другое не нравится. Может быть я не вижу какого-то пути?
  • Вопрос задан
  • 303 просмотра
Подписаться 1 Средний 2 комментария
Помогут разобраться в теме Все курсы
  • Нетология
    Инженер по автоматизации
    13 месяцев
    Далее
  • Яндекс Практикум
    Системный администратор расширенный
    9 месяцев
    Далее
  • Merion Academy
    Администрирование MS Windows Server
    1 месяц
    Далее
Пригласить эксперта
Ответы на вопрос 2
borisdenis
@borisdenis
Ленив и вреден...
Не пробовал, но может сделать два правила:
Первым - разрешаем этому приложению нужное.
Вторым - запрещаем этому приложению любую сетевую активность.

Адекватные firewall выполняют правила по порядку и если в первом правиле разрешения нет, то применится второе правило, где всё нельзя. Ну и наоборот.
Но не тестировал, винда может оказаться коварной.
Ответ написан
@Zerg89
Глобальным запретом для outbound после чего вручную каждому приложению пропиcывать разрешения.
Что-то мне ни то ни другое не нравится. Может быть я не вижу какого-то пути?

Правила блокировки всегда выше по приоритету чем разрешающие, поэтому если вы блокируете все то до разрешающих дело не доходит

А в случее когда вы пишете разрешающее правило то оно работает по принципу все что вне диапазона разрешения запрещено(ведь когда вы открываете порты вы открываете их не все сразу, а только те которые есть в списке)

Можно через powershell написать правило
New-NetFirewallRule -DisplayName "Allow Range Only" -Direction Inbound -Action Allow -RemoteAddress "10.0.0.0/24", "192.168.1.50-192.168.1.100"


New-NetFirewallRule -DisplayName "Block Multiple Ranges" `
    -Direction Inbound `
    -Action Block `
    -RemoteAddress "192.168.1.0/24", "10.0.0.0/8", "172.16.0.0/12" `
    -Profile Any

Для определенного приложения
New-NetFirewallRule -DisplayName "Block App Access for Ranges" `
    -Direction Outbound `
    -Action Block `
    -Program "C:\Path\To\YourApp.exe" `
    -RemoteAddress "192.168.1.0/24", "10.0.0.1-10.0.0.50", "172.16.0.0/16"
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы