
Скрипты PowerShell для автоматического создания правил для брандмауэра Windows

Полностью автоматизированное решение для брандмауэра Windows с помощью PowerShell
Windows Firewall Ruleset настраивает брандмауэр Windows автоматически и применяет ограничительные
правила брандмауэра, специфичные для целевой системы и установленного на ней программного обеспечения.
Статус этого проекта всё ещё альфа, нажмите на значок "статус" выше, чтобы узнать больше.
Этот проект состоит из двух основных частей: правил брандмауэра и инфраструктуры брандмауэра, как описано ниже:
Правила брандмауэра Windows, разбитые на отдельные скрипты PowerShell в соответствии с:
Например:
Инфраструктура брандмауэра состоит из ряда модулей PowerShell, скриптов и документации, используемых для сбора информации о среде, необходимой для построения и развертывания брандмауэра, специализированного для целевой системы, такой как:
Таким образом, этот репозиторий является хорошей отправной точкой для простого расширения вашего брандмауэра, чтобы включить больше правил и функций по желанию.
В настоящее время имеется около 800+ правил брандмауэра, 10+ модулей с 100+ функциями, несколько скриптов и хорошая порция полезной документации.
Вы можете интерактивно выбирать, какие правила вам нужны, и развертывать только их, или вы можете автоматизировать процесс и развернуть все необходимые правила и настройки в вашем брандмауэре.
Детальная настройка брандмауэра — трудоемкий процесс, требует много усилий по устранению неполадок, изменения требуют тестирования и аудита безопасности, и это только усугубляется, если необходимо развернуть брандмауэр на сотнях или тысячах удаленных компьютеров, например, не все компьютеры могут иметь одинаковое программное обеспечение или требования к ограничениям.
В отличие от правил брандмауэра в панели управления, эти правила загружаются в брандмауэр GPO (локальная групповая политика). Это означает, что изменения системных настроек или случайные программы, которые устанавливают правила как часть своего процесса установки, не повлияют на брандмауэр, если вы явно не сделаете исключение.
Правила, основанные на программах и службах, будут проверять указанный исполняемый файл на наличие цифровой подписи и будут просканированы на VirusTotal, если цифровая подпись отсутствует. По соображениям безопасности правило не создается и не загружается в брандмауэр, если эта проверка не пройдена. (можно принудительно)
Исходящий трафик по умолчанию — "блокировать", если нет правила, разрешающего сетевой трафик. В большинстве брандмауэров это невозможно, если вы не поддерживаете правила для каждой возможной программы или службы. Благодаря этой коллекции правил установка блокировки исходящего трафика по умолчанию требует очень мало или вообще не требует дополнительной работы.
В отличие от обычного сценария, вы будете знать, какие правила больше не действуют или являются избыточными из-за, например, удаленной программы, отсутствующей системной службы, которая больше не существует, переименованного исполняемого файла после обновления Windows и аналогичных причин.
В отличие от предопределенных правил брандмауэра Windows, эти правила являются более ограничительными, например, привязаны к явным учетным записям пользователей, применяются к определенным портам, сетевым интерфейсам, конкретным исполняемым файлам, службам и т.д., и все это автоматически определяется из целевой системы.
Обновление, фильтрация или поиск правил и атрибутов, таких как порты, адреса и тому подобное, гораздо
проще, поскольку эти правила находятся в скриптах. Вы можете использовать инструменты редактора, такие как regex,
multicursor или CTRL + F, для выполнения массовых операций с вашими правилами. Сделать это в
любом интерфейсе брандмауэра невозможно из-за ограничений пользовательского интерфейса.
Этот проект Windows Firewall Ruleset лицензирован под лицензией MIT.
Некоторые скрипты, файлы или модули не имеют лицензии MIT или могут иметь своих владельцев авторских прав,
по этой причине уведомления о лицензии и авторских правах поддерживаются "для каждого файла".
В следующей таблице перечислены операционные системы, на которых было протестировано Windows Firewall Ruleset
sigcheck64.exe (настоятельно рекомендуется) Скачать sigcheckПоддерживаются все системы Windows 10.0 (Major 10, Minor 0) и выше, за исключением изданий Home, но
протестированы только издания, перечисленные в таблице выше.
В столбце "Версия" перечислены протестированные выпуски, однако в дальнейшем тестируются только последние сборки ОС.
Список других непроверенных, но поддерживаемых систем и функций находится в разделе The future
PowerShell Core не встроен в Windows, вам потребуется установить его отдельно или использовать
Windows PowerShell, который является частью операционной системы.
.NET Framework мин. версия 4.5 требуется при использовании Windows PowerShell (редакция Desktop)
вместо PowerShell Core.
Windows 10 поставляется с мин. .NET 4.6 (который включает .NET 4.5), а Windows 11 — с мин. .NET 4.8
sigcheck64.exe (или 32-битный sigcheck.exe) — это инструмент проверки цифровой подписи, который вы можете
загрузить с сайта Microsoft и поместить либо в каталог C:\tools, либо в переменную окружения %PATH%.
Windows Firewall Ruleset будет использовать его для выполнения онлайн-анализа вредоносных программ на основе хэша на VirusTotal
для каждого исполняемого файла, который не имеет цифровой подписи, прежде чем для этого исполняемого файла будет создано правило брандмауэра.
Это только рекомендация, если в нет , вам будет предложено загрузить его,
и если вы откажетесь, анализ вредоносных программ производиться не будет.
Используя эту функциональность, вы соглашаетесь с ,
и
На данный момент этот брандмауэр протестирован и разработан для самых последних настольных/серверных версий Windows и, как известно, работает. Чтобы использовать его на более старых системах, требуется дополнительная работа.
Тестирование проводится на 64-битной Windows; небольшая часть правил не будет работать на 32-битной системе и
требует корректировки. Полная функциональность для 32-битных систем находится в разработке.
На данный момент вы можете загружать правила на 32-битной системе без проблем, за исключением нескольких правил, которые, вероятно,
вообще не актуальны для вашей конфигурации.
Для получения информации о том, как использовать этот брандмауэр на более старых системах Windows, таких как Windows 7 или Windows Server 2008, см. Поддержка устаревших систем
Ниже приведены краткие предупреждения и уведомления, которые новый пользователь должен знать перед развертыванием брандмауэра
Вы можете потерять подключение к интернету для некоторых ваших программ или в редких случаях даже потерять
подключение к интернету полностью. Если это произойдет, вы можете временно разрешить исходящий сетевой трафик
в GPO или запустить
.\Scripts\Reset-Firewall.ps1 -Remoting -Service, чтобы сбросить брандмауэр GPO до системных настроек по умолчанию,
удалить все правила и восстановить WinRM и измененные службы до настроек по умолчанию.
(после этого требуется перезапуск PowerShell)
Внутри каталога docs находится ResetFirewall.md — руководство о том, как сделать это вручную,
если по какой-то причине вы не можете запустить скрипт или скрипт не решает ваши проблемы.
Ваши существующие правила не будут удалены, если только у вас нет правил в GPO с точно такими же именами групп,
как правила из этого набора. Однако это не относится к Scripts\Reset-Firewall.ps1, который
полностью очистит правила GPO и оставит только те, что в панели управления.
Если вы хотите быть на 100% уверены, пожалуйста, экспортируйте ваши правила GPO, как описано в разделе Экспорт/Импорт правил
Вас спросят, какие правила загрузить (если вы выберете интерактивное развертывание, см. далее).
Чтобы минимизировать проблемы с подключением к интернету, вам следует развернуть как минимум все общие сетевые и связанные с ОС
правила под названиями "CoreNetworking", "ICMP", "WindowsSystem", "WindowsServices", "Multicast",
включая все правила для программ, установленных в вашей системе. Также не игнорируйте IPv6,
Windows нужен IPv6, даже если вы работаете в сети IPv4.
Легко удалить то, что вам не нужно, в GPO, чем потом копаться в коде в поисках того, что вы пропустили.
Конфигурация по умолчанию установит глобальное поведение брандмауэра, которое не настраивается в GPO,
такое как Stateful FTP и PPTP или глобальные настройки . Если вам нужна конкретная настройка, пожалуйста,
посетите и посмотрите на .
Обратите внимание, что автоматически вызывается из
Загрузка правил в пустой GPO должна быть очень быстрой, однако загрузка в GPO, который уже содержит правила, будет значительно медленнее (зависит от количества существующих правил в GPO)
Все ошибки и предупреждения будут сохранены в каталог Logs. Вы можете просмотреть эти журналы позже, если
захотите исправить какую-либо проблему. Большинство предупреждений и даже некоторые ошибки можно безопасно игнорировать; в определенных
случаях, возможно, вы захотите устранить ошибки, если это возможно.
Любое правило, которое приводит к ошибке "Доступ запрещен" при загрузке, должно быть перезагружено путем повторного выполнения соответствующего скрипта. См. FAQ для получения дополнительной информации о том, почему это может произойти.
Если репозиторий был загружен вручную, перенесен с другого компьютера или носителя, вам следует
сначала разблокировать все файлы в репозитории, чтобы избежать надоедливых вопросов ДА/НЕТ для каждого выполняемого скрипта,
запустив Scripts\Unblock-Project.ps1.
Главный скрипт Scripts\Deploy-Firewall.ps1 делает это, если вы забыли, но в этом случае первоначальные вопросы ДА/НЕТ
всё равно будут присутствовать.
Если у вас включена "Защита от программ-вымогателей" (в Защитнике Windows),
обязательно добавьте в белый список либо pwsh.exe (редакция Core), либо powershell.exe (редакция Desktop)
или оба, иначе в режиме разработки во время установки модулей возникнут ошибки.
Если код репозитория загружен в папку, находящуюся под защитой от программ-вымогателей, все может быть заблокировано.
Возможно, потребуется перезапустить консоль PowerShell, чтобы изменения "Контролируемого доступа к папкам" вступили в силу.
По умолчанию правила создаются для группы Users, а для группы — только при необходимости.
Рекомендуется использовать стандартную учетную запись пользователя для повседневной работы по соображениям безопасности.
Если вы администратор и не хотите создавать стандартную учетную запись на своем компьютере, вам придется
изменить переменную в файле и указать .
Если у вас нет ключей SSH и других настроек, необходимых для клонирования через SSH, то либо клонируйте через HTTPS,
либо просто загрузите zip-файл из Релизов, и для последнего
релиза в разделе "assets" загрузите zip-файл.
Эти шаги предполагают, что вы загрузили zip-файл из раздела "assets" в разделе "Releases".
Извлеките загруженный архив куда-нибудь. Эти шаги предполагают, что вы извлекли zip-файл
(корневая директория репозитория) непосредственно в корневой диск C:\.
Если вы хотите использовать Windows PowerShell, см. Как открыть Windows PowerShell.
В остальном процедура для PowerShell Core и Windows PowerShell аналогична:
Откройте извлеченную папку, щелкните правой кнопкой мыши по пустому месту, и там будет опция запуска
PowerShell Core от имени администратора (предполагается, что вы включили контекстное меню при установке
PowerShell Core); если нет, откройте вручную.
Если у вас нет контекстного меню PowerShell, перейдите в корневой диск C:\, выполнив
следующие две строки (введите или скопируйте/вставьте команды и нажимайте Enter после каждой):
c:
cd \
Здесь находится извлеченный zip-файл.
Перейдите в загруженную папку:
cd WindowsFirewallRuleset*
Чтобы увидеть текущую политику выполнения, введите следующую команду и нажмите Enter:
(подсказка: вы можете использовать клавишу TAB для автозаполнения при вводе)
Get-ExecutionPolicy
Если вам нужна помощь в принятии решения о запуске какого-либо набора правил, введите ? при появлении запроса на запуск
набора правил и нажмите Enter, чтобы получить дополнительную информацию.
Если по какой-либо причине вы хотите прервать и отменить развертывание (например, чтобы начать новое), нажмите
CTRL + C на клавиатуре, когда PowerShell находится в фокусе, и перезапустите консоль PowerShell.
Следуйте указаниям в приглашении (например, нажмите Enter, чтобы принять действие по умолчанию), это займет около 15 минут вашего внимания.
ПРИМЕЧАНИЕ: Если учетная запись администратора использует учетную запись Microsoft для входа на компьютер, вам будет предложено ввести учетные данные, которые должны быть электронной почтой и паролем Microsoft, независимо от того, используете ли вы Windows hello или нет. Указание PIN-кода не сработает, и другие методы аутентификации Windows hello не поддерживаются.
Если указаны неверные учетные данные, вы получите ошибку Access is denied.
Если это произойдет, вам нужно будет перезапустить консоль PowerShell и попробовать снова.
Для получения дополнительной информации о том, почему это необходимо, см. FAQ
Если вы столкнулись с ошибками, вы можете либо проигнорировать их, либо обновить скрипт, вызвавший ошибку, а затем позже повторно запустить этот конкретный скрипт.
После завершения вы можете настроить некоторые правила в локальной групповой политике,
не все правила включены по умолчанию, или вы можете переключить поведение разрешения/блокировки по умолчанию.
Правила могут не охватывать все программы, установленные в вашей системе, в этом случае недостающие правила необходимо создать.
Теперь протестируйте ваше интернет-соединение (например, с помощью веб-браузера или другой программы), Если после применения этих правил вы не можете подключиться к интернету, у вас есть несколько вариантов:
docs для получения дополнительных параметров устранения неполадок и документацииВ качестве предварительного условия для развертывания брандмауэра некоторые системные службы были запущены и установлены на автоматический запуск. В каталоге вы найдете файл , чтобы помочь восстановить эти службы до значений по умолчанию, если это необходимо. Например, служба не должна работать, если она не нужна (по умолчанию запуск вручную)
В следующем разделе даны некоторые подсказки по управлению брандмауэром с легкостью
Скрипт Deploy-Firewall.ps1 поддерживает несколько параметров, позволяющих настроить автоматизацию развертывания
следующим образом:
- Чтобы работать пошагово и получать запросы на подтверждение загрузки наборов правил, а также пытаться решать проблемы на лету, выполните:```powershell
.\Scripts\Deploy-Firewall.ps1 -Interactive
Deploy-Firewall без параметров:```powershell
.\Scripts\Deploy-Firewall.ps1Чтобы узнать значение параметров и уметь комбинировать их самостоятельно, ознакомьтесь с комментарием к скрипту `Deploy-Firewall.ps1` или выполните следующую команду:```powershell
Get-Help .\Scripts\Deploy-Firewall.ps1 -Detailed
Существует два метода управления правилами GPO:
Использование локальной групповой политики. Этот метод предоставляет ограниченную свободу действий с правилами из этого репозитория, например, их отключение, изменение некоторых атрибутов или добавление новых правил.
Дополнительные сведения см. в разделе: Manage GPO Firewall
Редактирование сценариев PowerShell. Этот метод даёт полный контроль — вы можете изменять или удалять существующие правила без ограничений, а также добавлять новые.
Независимо от вашего плана или настройки, вам, скорее всего, потребуется выполнить дополнительную работу, например, настроить правила или добавить новые для программ, ещё не охваченных этим брандмауэром.
Правила загружаются в локальную групповую политику. Если во время настройки брандмауэра вы согласились создать ярлык для персонализированной консоли управления брандмауэром, вы можете запустить его. В противном случае следуйте инструкциям, описанным в разделе Manage GPO Firewall.
Дополнительные сведения о GPO см.: Configure security policy settings
Если вы хотите развернуть только определённые правила, есть два способа:
Запустите Scripts\Deploy-Firewall.ps1 и выберите Yes только для нужных наборов правил, в противном случае выберите No и нажмите Enter, чтобы пропустить текущий набор правил.
В консоли PowerShell перейдите cd в каталог, содержащий нужный сценарий набора правил, и выполните его отдельно.
Например, cd .\Rules\IPv4\Outbound\Software с последующим .\Adobe.ps1 для загрузки правил для Adobe.
Возможно, после этого потребуется запустить Scripts\Complete-Firewall.ps1, чтобы применить поведение брандмауэра по умолчанию, если оно ещё не задано. Либо вы можете сделать это вручную в GPO, но с ограниченными возможностями.
«Ограниченные возможности» означают, что Scripts\Complete-Firewall.ps1 настраивает некоторые параметры брандмауэра, которые нельзя изменить в графическом интерфейсе брандмауэра.
В обоих случаях перед загрузкой правил в GPO будут удалены все правила, соответствующие группе набора правил (DisplayGroup).
На данный момент существуют три способа удаления правил брандмауэра:
Самый простой способ — выделить в GPO все правила, которые нужно удалить, щёлкнуть правой кнопкой мыши и выбрать «Удалить».
Для удаления правил на основе файла существует специальная функция, расположенная в:
Modules\Ruleset.Firewall\Public\Remove-FirewallRule.ps1
Однако перед её использованием необходимо сначала экспортировать брандмауэр в файл.
Чтобы восстановить предыдущее состояние брандмауэра (то, что было в панели управления), необходимо удалить все правила из GPO и установить все свойства в значение «Не настроено», щёлкнув правой кнопкой мыши по узлу:
Windows Defender Firewall with Advanced Security - Local Group Policy Object
Удаление всех правил или возврат к предыдущему состоянию также можно выполнить с помощью Scripts\Reset-Firewall.ps1.
Обратите внимание: вам также потребуется повторно импортировать экспортированные правила GPO, если они у вас были.
Если вы хотите экспортировать правила из GPO, доступны два метода:
Экспорт в локальной групповой политике: щёлкните правой кнопкой мыши по узлу Windows Defender Firewall with Advanced Security - Local Group Policy Object и выберите меню Export Policy....
Для экспорта с помощью PowerShell запустите Scripts\Backup-Firewall.ps1.
Если вы хотите настроить экспорт, воспользуйтесь функцией Export-RegistryRule, расположенной в модуле Ruleset.Firewall, которая позволяет настроить экспорт практически любым способом.
Чтобы импортировать правила, импорт через GPO выполняется так же, как и экспорт. Для импорта с помощью PowerShell просто запустите Scripts\Restore-Firewall.ps1, который подхватит ваши предыдущие файлы экспорта.
Чтобы настроить экспорт/импорт, обратитесь к разделу Modules\Ruleset.Firewall\Public, где вы найдёте описание того, как использовать функции модуля экспорта/импорта.
ПРИМЕЧАНИЕ: Функция Export-FirewallRule работает очень медленно; рекомендуется использовать функцию Export-RegistryRule, которая максимально быстра.
Этот раздел и функциональность в настоящее время являются экспериментальными и не полностью завершены. На данный момент поддерживается развёртывание на один удалённый компьютер.

При удалённом развёртывании брандмауэра участвуют как минимум два компьютера:
один называется управляющим компьютером (клиент), а все остальные — управляемыми компьютерами (серверы).
Сценарии выполняются администратором на управляющем компьютере, после чего брандмауэр развёртывается или настраивается на нескольких серверных компьютерах одновременно.
Для получения сведений о реализации см. модуль Modules\Ruleset.Remote
ПРИМЕЧАНИЕ: Функциональность удалённого управления не является исключительной для удалённого развёртывания брандмауэра; развёртывание на локальном хосте по замыслу также требует работающей конфигурации WinRM и PSRemoting.
Перед выполнением удалённого развёртывания необходимо настроить удалённый компьютер (сервер) для приёма соединений. Пример настройки SSL-соединения приведён ниже:
Чтобы разрешить выполнение, настройте службу WinRM и удалённый реестр на серверном компьютере, выполнив:
ПРИМЕЧАНИЕ: Если используется PowerShell Core, опустите -Protocol HTTPS в команде Enable-WinRMServer ниже; это включит как HTTP, так и HTTPS, что является временным обходным решением для работы модуля совместимости в удалённом сеансе.```powershell
Set-ExecutionPolicy -Scope LocalMachine RemoteSigned Set-Location C:\Path\to\WindowsFirewallRuleset Import-Module .\Modules\Ruleset.Remote Enable-WinRMServer -Protocol HTTPS -KeepDefault -Confirm:$false Enable-RemoteRegistry -Confirm:$false
После выполнения этих шагов в каталоге `\Exports` вы найдёте файл SSL-сертификата (*.cer),
который необходимо скопировать на управляющий компьютер также в каталог `\Exports`.\
По умолчанию создаётся самозаверенный SSL-сертификат, если на серверном компьютере его ещё нет.
**ПРИМЕЧАНИЕ:** Настройка серверного компьютера вручную выполняется только один раз при первоначальной установке,
вам не нужно повторять её для последующих развёртываний.
Следующий шаг — перейти к управляющему компьютеру и запустить скрипты по мере необходимости, например:```powershell
# On management computer
cd C:\Path\to\WindowsFirewallRuleset\Scripts
Deploy-Firewall -Domain "RemoteComputerName"
Оба набора команд выше должны быть выполнены в одной редакции PowerShell, например, если сервер
был настроен в PowerShell Core, то и клиентский компьютер также должен использовать PowerShell Core для развертывания.
Если сервер или управляющий компьютер является рабочей станцией (например, не Windows Server или частью домена),
то его сетевой профиль должен быть установлен как частный.
Удаленное развертывание можно детально настроить в следующих местах:
Modules\Ruleset.Remote\Scripts\WinRMSettings.ps1Modules\Ruleset.Remote\Scripts\*Firewall.psscModules\Ruleset.Remote\Public\Register-SslCertificate.ps1Modules\Ruleset.Remote\Scripts\SessionSettings.ps1Дополнительную информацию и советы по устранению неполадок см. также в справке по удаленному управлению
Для получения поддержки, сообщений об ошибках, предложений или настройки этого репозитория, а также методов периодического обновления этого брандмауэра, пожалуйста, обратитесь к SUPPORT.md
Следующие функции желательны и могут быть доступны в какой-то момент в будущем:
Удаленное администрирование брандмауэра
Комплексные наборы правил брандмауэра для редакций Windows Server и специализированных шлюзовых систем.
По запросу или по расписанию проверка реестра для проверки целостности активной политики фильтрации брандмауэра и настроек брандмауэра
Полная функциональность для следующих еще не протестированных редакций Windows 10.0
Функциональность для систем x86
Значительная часть кода посвящена предоставлению автоматизированного решения для построения и определения брандмауэра, специализированного для целевой системы и пользователей, что сводит к минимуму необходимость делать что-то вручную, тем самым экономя вам много драгоценного времени администрирования.
| 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 |
PATHsigcheck64.exeВозможно, вы захотите иметь git для проверки обновлений, для легкого переключения между ветками или для внесения кода.
VS Code является предпочтительным и рекомендуемым редактором для навигации по коду и/или редактирования скриптов для ваших собственных нужд или для внесения вклада.
Если вы установите VSCode, вам также потребуется расширение PowerShell для навигации по коду и функций языка PowerShell.
Для навигации и редактирования кода с помощью VSCode настоятельно рекомендуется PSScriptAnalyzer, в противном случае процесс редактирования
может вести себя странно из-за различных настроек репозитория.
Аппаратных требований нет, но если вы планируете писать и отлаживать код, рекомендуется не менее 8 ГБ памяти и SSD-диск для комфортной работы над проектом. В противном случае для простого развертывания правил на вашем личном брандмауэре будет достаточно и меньшего объема.
IPSecScripts\Complete-Firewall.ps1Set-NetFirewallSettingScripts\Complete-Firewall.ps1Scripts\Deploy-Firewall.ps1Некоторые скрипты требуют, чтобы вы (сетевой адаптер) были подключены к сети, например, для определения широковещательного адреса IPv4. (В противном случае могут возникать ошибки)
Все в системе должно быть обновлено, иначе некоторые правила могут быть пропущены или быть неверными. Это включает обновления Windows, приложения Microsoft Store и все остальное программное обеспечение.
AdministratorsDefaultGroupConfig\ProjectSettings.ps1AdministratorsСм. SecurityAndPrivacy.md для получения дополнительной
информации о том, почему использование учетной записи администратора не рекомендуется по соображениям безопасности.
Ваша административная учетная запись, используемая для развертывания брандмауэра, должна иметь установленный пароль.
Обновления программного обеспечения или Windows могут переименовывать исполняемые файлы или изменять их расположение, а также учетные записи пользователей могут быть переименованы администратором. Поэтому важно время от времени перезагружать определенные правила по мере необходимости, чтобы обновить брандмауэр в соответствии с изменениями системы, которые могут произойти в любое время. Это поведение называется Регрессия программного обеспечения
Перед развертыванием брандмауэра рекомендуется обновить систему и пользовательские программы на целевом компьютере, включая приложения Магазина Windows, особенно если система только что установлена, потому что обновление позже может потребовать перезагрузки некоторых правил.
Запомните вывод приведенной выше команды. Обратите внимание, что PowerShell Core по умолчанию использует
RemoteSigned, в то время как Windows PowerShell по умолчанию использует Restricted на редакциях, не являющихся серверными.
Установите политику выполнения на Unrestricted, чтобы иметь возможность разблокировать файлы проекта.
(Обратите внимание, что RemoteSigned будет работать только после разблокировки скриптов)
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestricted
Возможно, вам будет предложено принять изменение политики выполнения. Если да, введите Y и нажмите Enter, чтобы принять.
Для получения дополнительной информации см. О политиках выполнения
На этом этапе вы должны сначала "разблокировать" все файлы репозитория, выполнив скрипт под названием
Scripts\Unblock-Project.ps1. Кстати, файлы репозитория были заблокированы Windows, чтобы предотвратить запуск
недоверенного скриптового кода, загруженного из интернета:
.\Scripts\Unblock-Project.ps1
Если будет запрос, убедитесь, что ваш ответ — R, то есть [R] Run once (Выполнить один раз) столько раз, сколько необходимо для разблокировки
проекта. (примерно до 8 раз)
После разблокировки файлов репозитория измените политику выполнения на RemoteSigned:
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned
Возможно, вам снова будет предложено принять изменение политики выполнения. Введите Y и нажмите Enter, чтобы принять.
Правила для таких программ, как ваш веб-браузер, игры и т.д., зависят от переменных установки.
Большинство путей автоматически ищутся, и переменные обновляются прозрачно; в противном случае вы получите предупреждение и
описание того, как исправить проблему.
При необходимости вы можете найти эти переменные установки в отдельных скриптах внутри каталога Rules.
Рекомендуется закрыть все консоли управления MMC, такие как gpedit.msc или secpol.msc,
перед запуском главного скрипта на следующем шаге.
Вернитесь в консоль PowerShell и выполните одну из двух команд Deploy-Firewall, приведенных ниже:
Чтобы развернуть брандмауэр автоматически с минимальным количеством запросов, выполните:
.\Scripts\Deploy-Firewall.ps1 -Force
В противном случае, чтобы интерактивно выбирать, какие правила загружать, выполните:
.\Scripts\Deploy-Firewall.ps1
```Нажмите Enter, и вам будут заданы вопросы, например, какие наборы правил вы хотите.\
LogsServices_<DATE>.logWindows Remote Management