Allow 9009 что это
Перейти к содержимому

Allow 9009 что это

Белый список с брандмауэром Windows

image

Если паранойя подсказывает, что вы недостаточно защищены, а под рукой имеются только бесплатные инструменты для безопасности, то нужно это чувство удовлетворить! Под катом будем создавать белый список программ для выхода в сеть с помощью стандартного брандмауэра Windows, в том числе и на PowerShell.

Введение

Большинство энкодеров, троянов и других плохих вещей из мира киберугроз для своих темных делишек используют возможность выхода в сеть с устройства жертвы: получение ключа для шифрования файлов, отправка конфиденциальной информации и так далее. Антивирусные компании в борьбе с такими противниками натаскивают свои проактивные технологии, выпускают даже отдельные продукты для шифровальщиков, ну а для простых пользователей бесплатной защиты остается только более тонко настраивать свои рубежи самостоятельно. Со времен Vista встроенный в Windows брандмауэр стал неплох, но большую часть времени простаивает без дела, отбивая лишь неписаные входящие соединения в лучшем случае. Не все знают, но он умеет чуточку больше — фильтровать и исходящие соединения, стоит лишь только включить этот режим и правильно настроить.

Итак, приступим

Первым делом необходимо запретить все исходящие соединения (входящие, считаем, уже запрещены — нужное ПО само, как правило, прописывает для себя исключения). Для этого идем в Панель управления -> Система и безопасность -> Брандмауэр Windows -> Дополнительные параметры. Далее выбираем «Брандмауэр Windows в режиме повышенной безопасности» и через правую кнопку мыши открываем Свойства. В зависимости от вашего сетевого профиля (частный — локальная сеть с маршрутизатором, общий — напрямую в интернет, домен — доменная сеть) выбирается вкладка профиля и для исходящих соединений выбирается режим «Блокировать» (я настраивал для всех профилей одинаково).

image

image

На данный момент никакая программа выйти в сеть не может (кроме уже имеющих правила). Легко это проверить, открыв браузер с любым сайтом — наверняка получим ошибку сети. Чтобы загрузить страницу необходимо создать соответствующее правило. Рассмотрим Internet Explorer — имеется у всех на Windows. Нажимаем правой кнопкой на «Правила для исходящего подключения» -> Создать правило. Открывается окно с 4-мя типами правил, для IE подойдет первый — «Для программы». Далее нужно указать путь к программе — в нашем случае — C:\Program Files\Internet Explorer\iexplore.exe . Не забываем, что обладатели 64-битных систем должны создать еще одно такое же правило, только для Program Files (x86) (там IE тоже установлен). После выбора файла необходимо выбрать пункт «Разрешить подключение», далее отметить галками нужные сетевые профили. Осталось только придумать название для нашего правила. Рекомендую все правила писать с одного и того же слова/символа, потом искать будет удобнее. Созданное правило будет отображаться в общем списке.

image

image

image

image

Для программ правила делать научились, а что со службами? Пусть необходимо добавить в исключения службу Mozilla Maintenance Service. Создаем новое правило, выбираем тип «Настраиваемое». Далее нажимаем «Настроить», выбираем «Применять к службе» и ищем в списке нужную службу или чуть ниже вводим название службы вручную. Затем предлагается настроить протокол и порты, но в данном случае их можно оставить по умолчанию — программа доверенная и шут ее знает, чем она там пользуется при доставке и установке обновлений. IP-адреса аналогично не трогаем. Далее разрешаем подключение, выбираем профили и задаем название для правила.

image

image

Казалось бы, основные моменты пройдены, что теперь? А теперь подводные камни. Если кто-нибудь использует в своей деятельности программу удаленного управления TeamViewer, которая ставит с собой службу, то вроде бы достаточно найти в списке службу и добавить правило для нее. Но это не сработает. Необходимо вместо службы добавлять правило «Для программы» и выбирать исполняемый файл службы C:\Program Files (x86)\TeamViewer\TeamViewer_Service.exe (путь для 64-битной системы). Это частая ситуация, поэтому не спешите добавлять службы, начинайте с exe. Кроме этого в нашей системе перестанет работать ping. Для него необходимо добавить правило по типу «Настраиваемое», все оставлять по умолчанию, только протокол выбрать ICMPv4 и внизу нажать «Настроить», где поставить галочку только рядом с «Эхо-запрос». Теперь ping и tracert будут работать. Для IPv6 повторить, но уже с протоколом ICMPv6. Если правило уже создано, но необходимо что-то в нем изменить, это легко можно сделать, выбрав нужное правило в списке и зайдя в его свойства. На вкладках можно все настроить на любой вкус — привязать службу к определенному exe, ограничить программу в портах и т.д.

image
Свойства уже созданного правила для ping

Обновив систему с Windows 8.1 до Windows 10, я не мог создать работоспособное правило для OneDrive. Вроде бы простое правило для %USERPROFILE%\AppData\Local\Microsoft\OneDrive\OneDrive.exe и все должно работать. Но, потратив несколько месяцев, я пришел к тому, что, оказывается, надо было прописывать прямой путь C:\Users\ProfileName\AppData\Local\Microsoft\OneDrive\OneDrive.exe , хотя в предыдущих ОС того же семейства все благополучно работало и с первым вариантом (загадка?).

Накопленный опыт и PowerShell

Список правил, накопленный за N-ое время, я представлю в виде команд для PowerShell — легче автоматизировать. Чтобы можно было запустить в PowerShell скрипт на исполнение, необходимо дать на это разрешение для неподписанных скриптов в системе (для параноиков можно потом вернуть на место):

Блокировка всех исходящих соединений брандмауэром выглядит так:

Команда для добавления правила для всех профилей и исходящего направления для explorer.exe — обновление плиток на Windows 8.1. Полагаю, что и на 10-ке используется:

Пусть у нас первая ячейка содержит название правила, а вторая ячейка хранит путь до программы. И у нас будет N таких двухячеечных строк — сколько штук правил. Все это будем хранить в $programs . Начнем с простого: Internet Explorer, Google Chrome, Tor Browser, Yandex.Browser, Notepad++, Visual Studio 2015, qBittorrent, HWMonitor, OneDrive, PowerShell, PowerShell ISE, Steam, CS GO, TeamViewer и так далее — все более-менее простые приложения, которым для выхода в сеть нужен доступ из 1-2 файлов exe.

Также в табличку можно при желании добавить хитрый Avast (ему еще нужна служба) и Firefox (+служба).

Все строки таблицы будем обрабатывать поштучно следующим образом:

Кроме этого необходимо разобраться с нестандартными правилами и службами. Например, центр обновления работает через svchost.exe по протоколу TCP через порты 80 и 443. А магазин приложений использует для обновления отдельную службу WSService. Помимо этого не забываем про пинг и службы для нужных приложений:

Вот и, пожалуй, все. На этом повествование можно заканчивать. Передаю инициативу теперь в ваши руки, дерзайте! Надеюсь, Вы узнали что-то новое или хотя бы вспомнили хорошо забытое старое. Итоговый скрипт (.ps1) можно обнаружить под спойлером ниже.

Добавить комментарий

Ваш адрес email не будет опубликован.