Как настроить исходящие правила брандмауэра Windows 7 для приложений с символическими ссылками?
Я использую Windows 7 Ultimate.
Я установил встроенный межсетевой экран в режиме белого списка исходящих сообщений (блокировать, если это не разрешено правилом).
Сейчас я пытаюсь настроить некоторые исходящие правила для встроенного брандмауэра. Если у меня есть
C:\Dir\app.exe
который пытается установить исходящие соединения, он блокируется по умолчанию, и если я добавляю правило, специально разрешающее это, он проходит. Пока все отлично. Все работает в соответствии с прекрасным руководством.:)
Проблема в том, что структура файловой системы, которую я использую, немного более сложна (гибка): у меня есть несколько дисководов, кроме одного, на котором установлено Windows. Каждый том (раздел)(который может прочитать Windows) монтируется под
C:\mnt
как это:
C:\mnt\1
C:\mnt\2
C:\mnt\3
Затем я использую соединения (символические ссылки) из (например):
C:\Apps
в C:\mnt\1\^W7_Apps
C:\mnt\1\^W7_Apps
имеет внутри Network\Iron\Iron.exe
так что делает
C:\Apps\Network\Iron\Iron.exe
действительный путь (который используется для запуска этого конкретного браузера).
Этот путь для всех намерений и целей (хе) такой же реальный путь, как и любой другой. Проводник Windows видит его и может использовать. Другие файловые менеджеры тоже.
Вернуться к брандмауэру.
Если я добавлю правило, которое позволяет C:\Apps\Network\Iron\Iron.exe
сделать исходящие соединения, это не работает. Совсем.
Если вместо этого я добавлю правило, которое позволяет C:\mnt\1\^W7_Apps\Network\Iron\Iron.exe
(не должно иметь значение, но эй), чтобы сделать исходящие соединения, это также не работает. Совсем.
Я установил Windows Firewall Notifier. Это подключается к платформе брандмауэра Windows и добавляет некоторые недостающие функции. Одна отсутствующая функция, которую он добавляет, - это уведомления о попытках исходящего соединения от приложений, которые еще не включены в правило. Когда я тогда проверил C:\Apps\Network\Iron\Iron.exe
опять всплывающее окно спросило меня, хочу ли я разрешить \device\harddiskvolume8\^w7_apps\network\iron\iron.exe
чтобы сделать эту связь.
БИНГО! Я думал. Внутри брандмауэр видит путь к двоичному файлу в нотации этого пространства имен диспетчера объектов. Спасибо, прекрасное руководство, что никогда не упоминал об этом.
Но, к сожалению, разрешение этой связи создает правило, которое также не работает.
Помогите.:)
Не уверен, что этот вопрос лучше всего опубликовать здесь, в SuperUser, или он должен перейти к ServerFault или StackOverflow или по адресу bugs@microsoft.com
1 ответ
Хотя я не уверен насчет Windows 7, в Windows 10 используется "реальный" путь - в нашем случае используется %ProgramFiles%\CompanyName\ProgramType\%Version%\program.exe
- работал с брандмауэром Windows. Обратите внимание, что в нашем случае системная переменная окружения Version
содержит специфическую для версии часть пути, например V12.0.1.23
,