CheckNetIsolation - управление доступом приложений к интерфейсу замыкания на себя.


В Windows 8-10, в целях повышения безопасности системы, для всех приложений магазина Windows (Store apps) запрещен доступ к сетевому интерфейсу замыкания на себя ( localhost ). Эти приложения устанавливаются для каждого пользователя системы и отображаются на начальном экране Windows. К ним относятся браузер Microsoft Edge, Калькулятор, Календарь, Почта, Карты, Новости, OneNote, Камера и т.д. Именно по этой причине, в браузере не открываются ссылки подобные http://localhost или http://127.0.0.1 . Так называемый, ”локальный хост”, по смыслу - этот компьютер - это стандартное, официально зарезервированное доменное имя для частных IP-адресов в диапазоне 127.0.0.1 — 127.255.255.255 (RFC 2606). В случае одиночного компьютера, как правило, используется всего один адрес — 127.0.0.1, который назначается специальному виртуальному сетевому интерфейсу ”внутренней петли” (англ. loopback), а в терминологии Microsoft – ”замыкание на себя”. В пределах одной системы, все сетевые соединения между клиентом и сервером на localhost выполняются без реальной передачи данных, что обеспечивает функционирование сетевых приложений даже при отсутствии сетевого оборудования.

Для управления доступом к интерфейсу замыкания на себя, используется утилита командной строки CheckNetIsolation.exe

Краткую подсказку по использованию можно получить по команде:

CheckNetIsolation.exe /?

Использование:

CheckNetIsolation [модуль] 

Список модулей: 

LoopbackExempt - управляет исключениями из замыкания на себя дляAppContainer и семейств пакетов, чтобы упростить развертывание приложений. Debug - запускает сеанс устранения неполадок в сетевом трафике AppContainer или семейства пакетов. Создает отчет о возможностях сети, которые используются, не используются или отсутствуют, а также о сетевом трафике, созданном приложением. 

-? - выводит это справочное сообщение. 

Для получения справочной информации по использованию команды в контексте отдельного модуля используется команда:

CheckNetIsolation [модуль] -? 

Для модуля управления доступом к замыканию на себя:

CheckNetIsolation.exe LoopbackExempt /?

Использование:

CheckNetIsolation LoopbackExempt [операция] [-n=] [-p=]

Список операций: 

-a - добавляет AppContainer или семейство пакетов в список исключений замыкания на себя. 

-d - удаляет AppContainer или семейство пакетов из списка исключений замыкания на себя. 

-c - очищает значения семейств пакетов и AppContainer из списка исключений замыкания на себя. 

-s - выводит список исключений замыкания на себя с AppContainer и семействами пакетов. 

Список аргументов: 

-n= - имя AppContainer или семейства пакетов. 

-p= - идентификатор безопасности (SID) AppContainer или семейства пакетов. 

-? - вывод справочного сообщения для модуля LoopbackExempt. 

Вывод справки для модуля Debug: 

CheckNetIsolation.exe debug /?

Использование: 

CheckNetIsolation Debug [-n=] [-p=]

Список аргументов: 

-n= - имя AppContainer или семейства пакетов. 

-p= - идентификатор безопасности AppContainer или семейства пакетов. 

-cac - указывает, что сеанс отладки должен включать события из дочерних контейнеров AppContainer. 

-? - выводит справочное сообщение для модуля отладки. 

Вместо префикса - в параметрах командной строки можно использовать / , например:

CheckNetIsolation.exe /?
 

Примеры использования CheckNetIsolation



CheckNetIsolation.exe LoopbackExempt /s - отобразить список приложений, которые изолированы от сетевого интерфейса замыкания на себя (localhost).

CheckNetIsolation LoopbackExempt -a -n="Microsoft.MicrosoftEdge_8wekyb3d8bbwe" - добавить браузер Edge в список исключений замыкания на себя. Браузер не будет открывать URL на сетевом интерфейсе localhost

CheckNetIsolation LoopbackExempt -d -n="Microsoft.MicrosoftEdge_8wekyb3d8bbwe" - удалить браузер Edge из списка исключений замыкания на себя. Браузер будет открывать URL на сетевом интерфейсе localhost

CheckNetIsolation LoopbackExempt -d -p="S-1-15-2-3624051433-2125758914-1423191267-1740899205-1073925389-3782572162-737981194" - то же, что и в предыдущем примере, но вместо имени приложения или семейства пакетов, указан его идентификатор.

Имена приложений можно определить по содержимому каталога

C:\Windows\SystemApps\

Идентификаторы SID приложений можно определить по содержимому раздела реестра:

HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Mappings

CheckNetIsolation.exe LoopbackExempt /c - очистить список исключений замыкания на себя. Все установленные приложения будут иметь доступ к замыканию на себя (localhost).

Параметр Debug используется для получения отчета о сетевых функциях приложений, декларированных в манифесте, и реально используемых.

CheckNetIsolation.exe Debug -n=Microsoft.MicrosoftEdge_8wekyb3d8bbwe - включить сеанс отладки для браузера Microsoft Edge.

Пользователю выдается сообщение:

Запущен сеанс отладки сетевой изоляции.
Воспроизведите свой сценарий и нажмите клавиши CTRL+C по завершении.


Для завершения сеанса необходимо нажать комбинацию клавиш Ctrl+C. После чего пользователю будет выдан отчет о сетевых возможностях исследуемого приложения:

Сбор данных журналов.....
Сводный отчет

Состояние сетевых возможностей
----------------------------------------------------------------------
InternetClient - Used and Declared
PrivateNetworkClientServer - Not Used and Insecure

Подробный отчет о трафике

----------------------------------------------------------------------
InternetClient - Used and Declared
------------------------------------------------------------------
13.94.136.165 13.94.136.165
PrivateNetworkClientServer - Not Used and Insecure
------------------------------------------------------------------
ОК.