
Скрипты PowerShell для автоматического создания правил для брандмауэра Windows
![Корпоративный брандмауэр][corporate firewall]
[![Альфа-версия][badge status]][alpha]
Полностью автоматизированное решение для брандмауэра Windows с помощью PowerShell
Windows Firewall Ruleset настраивает брандмауэр Windows автоматически и применяет ограничительные
правила брандмауэра, специфичные для целевой системы и установленного на ней программного обеспечения.
Статус этого проекта всё ещё альфа, нажмите на значок "статус" выше, чтобы узнать больше.
Этот проект состоит из двух основных частей: правил брандмауэра и инфраструктуры брандмауэра, как описано ниже:
Правила брандмауэра Windows, разбитые на отдельные скрипты PowerShell в соответствии с:
Например:
Инфраструктура брандмауэра состоит из ряда модулей PowerShell, скриптов и документации, используемых для сбора информации о среде, необходимой для построения и развертывания брандмауэра, специализированного для целевой системы, такой как:
Таким образом, этот репозиторий является хорошей отправной точкой для простого расширения вашего брандмауэра, чтобы включить больше правил и функций по желанию.
В настоящее время имеется около 800+ правил брандмауэра, 10+ модулей с 100+ функциями, несколько скриптов и хорошая порция полезной документации.
Вы можете интерактивно выбирать, какие правила вам нужны, и развертывать только их, или вы можете автоматизировать процесс и развернуть все необходимые правила и настройки в вашем брандмауэре.
[![Управляется в VSCode][badge vscode]][vscode] [![PowerShell][badge language]][powershell]
Детальная настройка брандмауэра — трудоемкий процесс, требует много усилий по устранению неполадок, изменения требуют тестирования и аудита безопасности, и это только усугубляется, если необходимо развернуть брандмауэр на сотнях или тысячах удаленных компьютеров, например, не все компьютеры могут иметь одинаковое программное обеспечение или требования к ограничениям.
В отличие от правил брандмауэра в панели управления, эти правила загружаются в брандмауэр GPO (локальная групповая политика). Это означает, что изменения системных настроек или случайные программы, которые устанавливают правила как часть своего процесса установки, не повлияют на брандмауэр, если вы явно не сделаете исключение.
Правила, основанные на программах и службах, будут проверять указанный исполняемый файл на наличие цифровой подписи и будут просканированы на VirusTotal, если цифровая подпись отсутствует. По соображениям безопасности правило не создается и не загружается в брандмауэр, если эта проверка не пройдена. (можно принудительно)
Исходящий трафик по умолчанию — "блокировать", если нет правила, разрешающего сетевой трафик. В большинстве брандмауэров это невозможно, если вы не поддерживаете правила для каждой возможной программы или службы. Благодаря этой коллекции правил установка блокировки исходящего трафика по умолчанию требует очень мало или вообще не требует дополнительной работы.
В отличие от обычного сценария, вы будете знать, какие правила больше не действуют или являются избыточными из-за, например, удаленной программы, отсутствующей системной службы, которая больше не существует, переименованного исполняемого файла после обновления Windows и аналогичных причин.
В отличие от предопределенных правил брандмауэра Windows, эти правила являются более ограничительными, например, привязаны к явным учетным записям пользователей, применяются к определенным портам, сетевым интерфейсам, конкретным исполняемым файлам, службам и т.д., и все это автоматически определяется из целевой системы.
Обновление, фильтрация или поиск правил и атрибутов, таких как порты, адреса и тому подобное, гораздо
проще, поскольку эти правила находятся в скриптах. Вы можете использовать инструменты редактора, такие как regex,
[multicursor][multicursor] или CTRL + F, для выполнения массовых операций с вашими правилами. Сделать это в
любом интерфейсе брандмауэра невозможно из-за ограничений пользовательского интерфейса.
Значительная часть кода посвящена предоставлению автоматизированного решения для построения и определения брандмауэра, специализированного для целевой системы и пользователей, что сводит к минимуму необходимость делать что-то вручную, тем самым экономя вам много драгоценного времени администрирования.
![Лицензия MIT][badge license]
Этот проект Windows Firewall Ruleset лицензирован под лицензией MIT.
Некоторые скрипты, файлы или модули не имеют лицензии MIT или могут иметь своих владельцев авторских прав,
по этой причине уведомления о лицензии и авторских правах поддерживаются "для каждого файла".
[![Windows][badge system]][windows]
В следующей таблице перечислены операционные системы, на которых было протестировано Windows Firewall Ruleset
| OS | Edition | Version | Architecture |
|---|---|---|---|
| Windows 10 | Pro | 1809 - 22H2 | x64 |
| Windows 10 | Pro Education | 20H2 | x64 |
| Windows 10 | Enterprise | 1809 - 20H2 | x64 |
| Windows 10 | Education | 20H2 - 22H2 | x64 |
| Windows 11 | Pro Education | 21H2 | x64 |
| Windows 11 | Pro | 22H2 - 23H2 | x64 |
| Windows 11 | Enterprise | 22H2 | x64 |
| Windows Server 2019 | Essentials | 1809 | x64 |
| Windows Server 2019 | Standard | 1809 | x64 |
| Windows Server 2019 | Datacenter | 1809 | x64 |
| Windows Server 2022 | Standard | 21H2 | x64 |
| Windows Server 2022 | Datacenter | 21H2 | x64 |