Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
WindowsFirewallRuleset — Скрипты PowerShell для автоматического создания правил для брандмауэра Windows | Kitploit
Инструменты/GitHubGitHub/metablaster/windowsfirewallruleset
Скриптинг и автоматизацияАудит конфигурацииСетевая безопасностьArchived
GitHubmetablaster/windowsfirewallruleset

WindowsFirewallRuleset

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

Репозиторий

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Сайт
179411 год назадПроверено Kitploit

Windows Firewall Ruleset

Корпоративный брандмауэр

Table of Contents

  • Windows Firewall Ruleset
    • Table of Contents
    • About Windows Firewall Ruleset
      • Firewall rules
      • Firewall framework
    • The vision of this firewall
    • License
    • Requirements
      • Requirements details
      • I don't meet the requirements
    • First time user
      • Warning
      • Note
      • Quick start
    • Firewall management
      • Automated and interactive firewall deployment
      • Manage GPO rules
      • Deploying individual rulesets
      • Deleting rules
      • Export/Import rules
    • Remote firewall deployment
    • Support, updates and documentation
    • The future

About Windows Firewall Ruleset

Альфа-версия

Полностью автоматизированное решение для брандмауэра Windows с помощью PowerShell

Windows Firewall Ruleset настраивает брандмауэр Windows автоматически и применяет ограничительные правила брандмауэра, специфичные для целевой системы и установленного на ней программного обеспечения.

Статус этого проекта всё ещё альфа, нажмите на значок "статус" выше, чтобы узнать больше.
Этот проект состоит из двух основных частей: правил брандмауэра и инфраструктуры брандмауэра, как описано ниже:

Firewall rules

Правила брандмауэра Windows, разбитые на отдельные скрипты PowerShell в соответствии с:

  • Группой правил
  • Направлением трафика (напр., входящий, исходящий или IPsec)
  • Типом программного обеспечения и издателем
  • Версией IP (IPv4 / IPv6)

Например:

  • Трафик ICMP
  • Правила браузера
  • Встроенное ПО ОС
  • Приложения Магазина
  • Службы Windows
  • Многопользовательские игры
  • Программы Microsoft
  • Сторонние программы
  • Широковещательный трафик
  • Многоадресный трафик

Firewall framework

  • Инфраструктура брандмауэра состоит из ряда модулей PowerShell, скриптов и документации, используемых для сбора информации о среде, необходимой для построения и развертывания брандмауэра, специализированного для целевой системы, такой как:

    • Компьютеры в сети
    • Установленные программы
    • Математика IP-подсетей
    • Удаленные или локальные пользователи системы
    • Настройка сети
    • Конфигурация GPO
    • Управление брандмауэром
    • Быстрый анализ трассировки пакетов и журналов аудита
    • Различные вспомогательные функции для устранения неполадок, брандмауэра, системы и сети
  • Таким образом, этот репозиторий является хорошей отправной точкой для простого расширения вашего брандмауэра, чтобы включить больше правил и функций по желанию.

  • В настоящее время имеется около 800+ правил брандмауэра, 10+ модулей с 100+ функциями, несколько скриптов и хорошая порция полезной документации.

  • Вы можете интерактивно выбирать, какие правила вам нужны, и развертывать только их, или вы можете автоматизировать процесс и развернуть все необходимые правила и настройки в вашем брандмауэре.

Содержание

The vision of this firewall

Управляется в VSCode PowerShell

  1. Детальная настройка брандмауэра — трудоемкий процесс, требует много усилий по устранению неполадок, изменения требуют тестирования и аудита безопасности, и это только усугубляется, если необходимо развернуть брандмауэр на сотнях или тысячах удаленных компьютеров, например, не все компьютеры могут иметь одинаковое программное обеспечение или требования к ограничениям.

  2. В отличие от правил брандмауэра в панели управления, эти правила загружаются в брандмауэр GPO (локальная групповая политика). Это означает, что изменения системных настроек или случайные программы, которые устанавливают правила как часть своего процесса установки, не повлияют на брандмауэр, если вы явно не сделаете исключение.

  3. Правила, основанные на программах и службах, будут проверять указанный исполняемый файл на наличие цифровой подписи и будут просканированы на VirusTotal, если цифровая подпись отсутствует. По соображениям безопасности правило не создается и не загружается в брандмауэр, если эта проверка не пройдена. (можно принудительно)

  4. Исходящий трафик по умолчанию — "блокировать", если нет правила, разрешающего сетевой трафик. В большинстве брандмауэров это невозможно, если вы не поддерживаете правила для каждой возможной программы или службы. Благодаря этой коллекции правил установка блокировки исходящего трафика по умолчанию требует очень мало или вообще не требует дополнительной работы.

  5. В отличие от обычного сценария, вы будете знать, какие правила больше не действуют или являются избыточными из-за, например, удаленной программы, отсутствующей системной службы, которая больше не существует, переименованного исполняемого файла после обновления Windows и аналогичных причин.

  6. В отличие от предопределенных правил брандмауэра Windows, эти правила являются более ограничительными, например, привязаны к явным учетным записям пользователей, применяются к определенным портам, сетевым интерфейсам, конкретным исполняемым файлам, службам и т.д., и все это автоматически определяется из целевой системы.

  7. Обновление, фильтрация или поиск правил и атрибутов, таких как порты, адреса и тому подобное, гораздо проще, поскольку эти правила находятся в скриптах. Вы можете использовать инструменты редактора, такие как regex, multicursor или CTRL + F, для выполнения массовых операций с вашими правилами. Сделать это в любом интерфейсе брандмауэра невозможно из-за ограничений пользовательского интерфейса.

Содержание

License

Лицензия MIT

Этот проект Windows Firewall Ruleset лицензирован под лицензией MIT.

Некоторые скрипты, файлы или модули не имеют лицензии MIT или могут иметь своих владельцев авторских прав, по этой причине уведомления о лицензии и авторских правах поддерживаются "для каждого файла".

Requirements

Windows

В следующей таблице перечислены операционные системы, на которых было протестировано Windows Firewall Ruleset


  1. Windows PowerShell 5.1 или PowerShell Core 7.3.x Скачать PowerShell Core
  2. .NET Framework 4.5 (только для Windows PowerShell) Скачать Net Framework
  3. sigcheck64.exe (настоятельно рекомендуется) Скачать sigcheck
  4. Git (необязательно) Скачать Git
  5. Visual Studio Code (рекомендуется) Скачать VSCode
  6. Поддержка PowerShell для VSCode (рекомендуется) Скачать расширение
  7. PSScriptAnalyzer (рекомендуется) Скачать PSScriptAnalyzer

Содержание

Requirements details

  • Поддерживаются все системы 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 для каждого исполняемого файла, который не имеет цифровой подписи, прежде чем для этого исполняемого файла будет создано правило брандмауэра. Это только рекомендация, если в нет , вам будет предложено загрузить его, и если вы откажетесь, анализ вредоносных программ производиться не будет. Используя эту функциональность, вы соглашаетесь с , и

Содержание

I don't meet the requirements

На данный момент этот брандмауэр протестирован и разработан для самых последних настольных/серверных версий Windows и, как известно, работает. Чтобы использовать его на более старых системах, требуется дополнительная работа.

Тестирование проводится на 64-битной Windows; небольшая часть правил не будет работать на 32-битной системе и требует корректировки. Полная функциональность для 32-битных систем находится в разработке.
На данный момент вы можете загружать правила на 32-битной системе без проблем, за исключением нескольких правил, которые, вероятно, вообще не актуальны для вашей конфигурации.

Для получения информации о том, как использовать этот брандмауэр на более старых системах Windows, таких как Windows 7 или Windows Server 2008, см. Поддержка устаревших систем

Содержание

First time user

Ниже приведены краткие предупреждения и уведомления, которые новый пользователь должен знать перед развертыванием брандмауэра

Warning

  • Вы можете потерять подключение к интернету для некоторых ваших программ или в редких случаях даже потерять подключение к интернету полностью. Если это произойдет, вы можете временно разрешить исходящий сетевой трафик в 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 или глобальные настройки . Если вам нужна конкретная настройка, пожалуйста, посетите и посмотрите на . Обратите внимание, что автоматически вызывается из

Содержание

Note

  • Загрузка правил в пустой GPO должна быть очень быстрой, однако загрузка в GPO, который уже содержит правила, будет значительно медленнее (зависит от количества существующих правил в GPO)

  • Все ошибки и предупреждения будут сохранены в каталог Logs. Вы можете просмотреть эти журналы позже, если захотите исправить какую-либо проблему. Большинство предупреждений и даже некоторые ошибки можно безопасно игнорировать; в определенных случаях, возможно, вы захотите устранить ошибки, если это возможно.

  • Любое правило, которое приводит к ошибке "Доступ запрещен" при загрузке, должно быть перезагружено путем повторного выполнения соответствующего скрипта. См. FAQ для получения дополнительной информации о том, почему это может произойти.

  • Если репозиторий был загружен вручную, перенесен с другого компьютера или носителя, вам следует сначала разблокировать все файлы в репозитории, чтобы избежать надоедливых вопросов ДА/НЕТ для каждого выполняемого скрипта, запустив Scripts\Unblock-Project.ps1.
    Главный скрипт Scripts\Deploy-Firewall.ps1 делает это, если вы забыли, но в этом случае первоначальные вопросы ДА/НЕТ всё равно будут присутствовать.

  • Если у вас включена "Защита от программ-вымогателей" (в Защитнике Windows), обязательно добавьте в белый список либо pwsh.exe (редакция Core), либо powershell.exe (редакция Desktop) или оба, иначе в режиме разработки во время установки модулей возникнут ошибки.
    Если код репозитория загружен в папку, находящуюся под защитой от программ-вымогателей, все может быть заблокировано.
    Возможно, потребуется перезапустить консоль PowerShell, чтобы изменения "Контролируемого доступа к папкам" вступили в силу.

  • По умолчанию правила создаются для группы Users, а для группы — только при необходимости. Рекомендуется использовать стандартную учетную запись пользователя для повседневной работы по соображениям безопасности. Если вы администратор и не хотите создавать стандартную учетную запись на своем компьютере, вам придется изменить переменную в файле и указать .

Содержание

Quick start

  1. Если у вас нет ключей SSH и других настроек, необходимых для клонирования через SSH, то либо клонируйте через HTTPS, либо просто загрузите zip-файл из Релизов, и для последнего релиза в разделе "assets" загрузите zip-файл.
    Эти шаги предполагают, что вы загрузили zip-файл из раздела "assets" в разделе "Releases".

  2. Извлеките загруженный архив куда-нибудь. Эти шаги предполагают, что вы извлекли zip-файл (корневая директория репозитория) непосредственно в корневой диск C:\.

  3. Если вы хотите использовать Windows PowerShell, см. Как открыть Windows PowerShell. В остальном процедура для PowerShell Core и Windows PowerShell аналогична:
    Откройте извлеченную папку, щелкните правой кнопкой мыши по пустому месту, и там будет опция запуска PowerShell Core от имени администратора (предполагается, что вы включили контекстное меню при установке PowerShell Core); если нет, откройте вручную.

  4. Если у вас нет контекстного меню PowerShell, перейдите в корневой диск C:\, выполнив следующие две строки (введите или скопируйте/вставьте команды и нажимайте Enter после каждой):

    root@kitploit:~
    c:
    cd \
    

    Здесь находится извлеченный zip-файл.

  5. Перейдите в загруженную папку:

    root@kitploit:~
    cd WindowsFirewallRuleset*
    
  6. Чтобы увидеть текущую политику выполнения, введите следующую команду и нажмите Enter:
    (подсказка: вы можете использовать клавишу TAB для автозаполнения при вводе)

    root@kitploit:~
    Get-ExecutionPolicy
    

Если вам нужна помощь в принятии решения о запуске какого-либо набора правил, введите ? при появлении запроса на запуск набора правил и нажмите Enter, чтобы получить дополнительную информацию.
Если по какой-либо причине вы хотите прервать и отменить развертывание (например, чтобы начать новое), нажмите CTRL + C на клавиатуре, когда PowerShell находится в фокусе, и перезапустите консоль PowerShell.

  1. Следуйте указаниям в приглашении (например, нажмите Enter, чтобы принять действие по умолчанию), это займет около 15 минут вашего внимания.

    ПРИМЕЧАНИЕ: Если учетная запись администратора использует учетную запись Microsoft для входа на компьютер, вам будет предложено ввести учетные данные, которые должны быть электронной почтой и паролем Microsoft, независимо от того, используете ли вы Windows hello или нет. Указание PIN-кода не сработает, и другие методы аутентификации Windows hello не поддерживаются.

    Если указаны неверные учетные данные, вы получите ошибку Access is denied.
    Если это произойдет, вам нужно будет перезапустить консоль PowerShell и попробовать снова.

    Для получения дополнительной информации о том, почему это необходимо, см. FAQ

  2. Если вы столкнулись с ошибками, вы можете либо проигнорировать их, либо обновить скрипт, вызвавший ошибку, а затем позже повторно запустить этот конкретный скрипт.

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

  4. Теперь протестируйте ваше интернет-соединение (например, с помощью веб-браузера или другой программы), Если после применения этих правил вы не можете подключиться к интернету, у вас есть несколько вариантов:

    • Временно откройте исходящий брандмауэр в GPO или Отключите брандмауэр
    • Устранение неполадок: Подробное руководство по устранению неполадок сети
    • Вы можете Сбросить брандмауэр до предыдущего состояния
    • Загляните в каталог docs для получения дополнительных параметров устранения неполадок и документации
  5. В качестве предварительного условия для развертывания брандмауэра некоторые системные службы были запущены и установлены на автоматический запуск. В каталоге вы найдете файл , чтобы помочь восстановить эти службы до значений по умолчанию, если это необходимо. Например, служба не должна работать, если она не нужна (по умолчанию запуск вручную)

Оглавление

Управление брандмауэром

В следующем разделе даны некоторые подсказки по управлению брандмауэром с легкостью

Автоматизированное и интерактивное развертывание брандмауэра

Скрипт Deploy-Firewall.ps1 поддерживает несколько параметров, позволяющих настроить автоматизацию развертывания следующим образом:

  • Чтобы автоматически запустить все правила без запроса и с кратким выводом, но только для программ, существующих в системе, выполните:```powershell .\Scripts\Deploy-Firewall.ps1 -Force -Quiet
root@kitploit:~
- Чтобы работать пошагово и получать запросы на подтверждение загрузки наборов правил, а также пытаться решать проблемы на лету, выполните:```powershell
.\Scripts\Deploy-Firewall.ps1 -Interactive
  • Чтобы получить запрос только на выбор набора правил, запустите Deploy-Firewall без параметров:```powershell .\Scripts\Deploy-Firewall.ps1
root@kitploit:~
Чтобы узнать значение параметров и уметь комбинировать их самостоятельно, ознакомьтесь с комментарием к скрипту `Deploy-Firewall.ps1` или выполните следующую команду:```powershell
Get-Help .\Scripts\Deploy-Firewall.ps1 -Detailed

Управление правилами GPO

Существует два метода управления правилами GPO:

  1. Использование локальной групповой политики. Этот метод предоставляет ограниченную свободу действий с правилами из этого репозитория, например, их отключение, изменение некоторых атрибутов или добавление новых правил.
    Дополнительные сведения см. в разделе: Manage GPO Firewall

  2. Редактирование сценариев PowerShell. Этот метод даёт полный контроль — вы можете изменять или удалять существующие правила без ограничений, а также добавлять новые.

Независимо от вашего плана или настройки, вам, скорее всего, потребуется выполнить дополнительную работу, например, настроить правила или добавить новые для программ, ещё не охваченных этим брандмауэром.

Правила загружаются в локальную групповую политику. Если во время настройки брандмауэра вы согласились создать ярлык для персонализированной консоли управления брандмауэром, вы можете запустить его. В противном случае следуйте инструкциям, описанным в разделе Manage GPO Firewall.

Дополнительные сведения о GPO см.: Configure security policy settings

Таблица содержания

Развёртывание отдельных наборов правил

Если вы хотите развернуть только определённые правила, есть два способа:

  1. Запустите Scripts\Deploy-Firewall.ps1 и выберите Yes только для нужных наборов правил, в противном случае выберите No и нажмите Enter, чтобы пропустить текущий набор правил.

  2. В консоли PowerShell перейдите cd в каталог, содержащий нужный сценарий набора правил, и выполните его отдельно.
    Например, cd .\Rules\IPv4\Outbound\Software с последующим .\Adobe.ps1 для загрузки правил для Adobe.

Возможно, после этого потребуется запустить Scripts\Complete-Firewall.ps1, чтобы применить поведение брандмауэра по умолчанию, если оно ещё не задано. Либо вы можете сделать это вручную в GPO, но с ограниченными возможностями. «Ограниченные возможности» означают, что Scripts\Complete-Firewall.ps1 настраивает некоторые параметры брандмауэра, которые нельзя изменить в графическом интерфейсе брандмауэра.

В обоих случаях перед загрузкой правил в GPO будут удалены все правила, соответствующие группе набора правил (DisplayGroup).

Таблица содержания

Удаление правил

На данный момент существуют три способа удаления правил брандмауэра:

  1. Самый простой способ — выделить в GPO все правила, которые нужно удалить, щёлкнуть правой кнопкой мыши и выбрать «Удалить».

  2. Для удаления правил на основе файла существует специальная функция, расположенная в:
    Modules\Ruleset.Firewall\Public\Remove-FirewallRule.ps1
    Однако перед её использованием необходимо сначала экспортировать брандмауэр в файл.

  3. Чтобы восстановить предыдущее состояние брандмауэра (то, что было в панели управления), необходимо удалить все правила из GPO и установить все свойства в значение «Не настроено», щёлкнув правой кнопкой мыши по узлу:
    Windows Defender Firewall with Advanced Security - Local Group Policy Object

Удаление всех правил или возврат к предыдущему состоянию также можно выполнить с помощью Scripts\Reset-Firewall.ps1.
Обратите внимание: вам также потребуется повторно импортировать экспортированные правила GPO, если они у вас были.

Таблица содержания

Экспорт/импорт правил

Если вы хотите экспортировать правила из GPO, доступны два метода:

  1. Экспорт в локальной групповой политике: щёлкните правой кнопкой мыши по узлу Windows Defender Firewall with Advanced Security - Local Group Policy Object и выберите меню Export Policy....

  2. Для экспорта с помощью PowerShell запустите Scripts\Backup-Firewall.ps1.
    Если вы хотите настроить экспорт, воспользуйтесь функцией Export-RegistryRule, расположенной в модуле Ruleset.Firewall, которая позволяет настроить экспорт практически любым способом.

Чтобы импортировать правила, импорт через GPO выполняется так же, как и экспорт. Для импорта с помощью PowerShell просто запустите Scripts\Restore-Firewall.ps1, который подхватит ваши предыдущие файлы экспорта.

Чтобы настроить экспорт/импорт, обратитесь к разделу Modules\Ruleset.Firewall\Public, где вы найдёте описание того, как использовать функции модуля экспорта/импорта.

ПРИМЕЧАНИЕ: Функция Export-FirewallRule работает очень медленно; рекомендуется использовать функцию Export-RegistryRule, которая максимально быстра.

Таблица содержания

Удалённое развёртывание брандмауэра

Этот раздел и функциональность в настоящее время являются экспериментальными и не полностью завершены. На данный момент поддерживается развёртывание на один удалённый компьютер.

Under construction

При удалённом развёртывании брандмауэра участвуют как минимум два компьютера:
один называется управляющим компьютером (клиент), а все остальные — управляемыми компьютерами (серверы).

Сценарии выполняются администратором на управляющем компьютере, после чего брандмауэр развёртывается или настраивается на нескольких серверных компьютерах одновременно.

Для получения сведений о реализации см. модуль Modules\Ruleset.Remote

ПРИМЕЧАНИЕ: Функциональность удалённого управления не является исключительной для удалённого развёртывания брандмауэра; развёртывание на локальном хосте по замыслу также требует работающей конфигурации WinRM и PSRemoting.

Перед выполнением удалённого развёртывания необходимо настроить удалённый компьютер (сервер) для приёма соединений. Пример настройки SSL-соединения приведён ниже:

Чтобы разрешить выполнение, настройте службу WinRM и удалённый реестр на серверном компьютере, выполнив:

ПРИМЕЧАНИЕ: Если используется PowerShell Core, опустите -Protocol HTTPS в команде Enable-WinRMServer ниже; это включит как HTTP, так и HTTPS, что является временным обходным решением для работы модуля совместимости в удалённом сеансе.```powershell

On server computer

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

root@kitploit:~
После выполнения этих шагов в каталоге `\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 или частью домена), то его сетевой профиль должен быть установлен как частный.

Удаленное развертывание можно детально настроить в следующих местах:

  • Для настройки службы WinRM см.: Modules\Ruleset.Remote\Scripts\WinRMSettings.ps1
  • Для настройки конфигурации сеанса WSMan см.: Modules\Ruleset.Remote\Scripts\*Firewall.pssc
  • Для настройки самоподписанного SSL-сертификата см.: Modules\Ruleset.Remote\Public\Register-SslCertificate.ps1
  • Для настройки конфигурации сеансов PS и CIM см.: Modules\Ruleset.Remote\Scripts\SessionSettings.ps1

Дополнительную информацию и советы по устранению неполадок см. также в справке по удаленному управлению

Содержание

Поддержка, обновления и документация

Для получения поддержки, сообщений об ошибках, предложений или настройки этого репозитория, а также методов периодического обновления этого брандмауэра, пожалуйста, обратитесь к SUPPORT.md

Содержание

Будущее

Следующие функции желательны и могут быть доступны в какой-то момент в будущем:

  1. Удаленное администрирование брандмауэра

    • Развертывание конфигурации брандмауэра на нескольких удаленных компьютерах в домене или домашних сетях
  2. Комплексные наборы правил брандмауэра для редакций Windows Server и специализированных шлюзовых систем.

  3. По запросу или по расписанию проверка реестра для проверки целостности активной политики фильтрации брандмауэра и настроек брандмауэра

    • Любое правило или настройка брандмауэра в реестре, не входящая в этот репозиторий, сообщается для проверки.
    • Потому что вредоносное ПО, хакеры и даже доверенное программное обеспечение могут попытаться обойти брандмауэр в любое время
  4. Полная функциональность для следующих еще не протестированных редакций Windows 10.0

    • Windows 10 и 11 Pro для рабочих станций
    • Windows 10 и 11 IoT Core Blast
    • Windows 10 и 11 IoT Enterprise
    • Windows 10 и 11 S
  5. Функциональность для систем x86

Содержание

Скачать инструмент
  • Значительная часть кода посвящена предоставлению автоматизированного решения для построения и определения брандмауэра, специализированного для целевой системы и пользователей, что сводит к минимуму необходимость делать что-то вручную, тем самым экономя вам много драгоценного времени администрирования.

  • OSEditionVersionArchitecture
    Windows 10Pro1809 - 22H2x64
    Windows 10Pro Education20H2x64
    Windows 10Enterprise1809 - 20H2x64
    Windows 10Education20H2 - 22H2x64
    Windows 11Pro Education21H2x64
    Windows 11Pro22H2 - 23H2x64
    Windows 11Enterprise22H2x64
    Windows Server 2019Essentials1809x64
    Windows Server 2019Standard1809x64
    Windows Server 2019Datacenter1809x64
    Windows Server 2022Standard21H2x64
    Windows Server 2022Datacenter21H2x64

    PATH
    sigcheck64.exe

    Условиями использования VirusTotal
    Политикой конфиденциальности VirusTotal
    Условиями лицензии на программное обеспечение Sysinternals
  • Возможно, вы захотите иметь git для проверки обновлений, для легкого переключения между ветками или для внесения кода.

  • VS Code является предпочтительным и рекомендуемым редактором для навигации по коду и/или редактирования скриптов для ваших собственных нужд или для внесения вклада.

  • Если вы установите VSCode, вам также потребуется расширение PowerShell для навигации по коду и функций языка PowerShell.

  • Для навигации и редактирования кода с помощью VSCode настоятельно рекомендуется PSScriptAnalyzer, в противном случае процесс редактирования может вести себя странно из-за различных настроек репозитория.

  • Аппаратных требований нет, но если вы планируете писать и отлаживать код, рекомендуется не менее 8 ГБ памяти и SSD-диск для комфортной работы над проектом. В противном случае для простого развертывания правил на вашем личном брандмауэре будет достаточно и меньшего объема.

  • IPSec
    Scripts\Complete-Firewall.ps1
    Set-NetFirewallSetting

    Scripts\Complete-Firewall.ps1
    Scripts\Deploy-Firewall.ps1
  • Некоторые скрипты требуют, чтобы вы (сетевой адаптер) были подключены к сети, например, для определения широковещательного адреса IPv4. (В противном случае могут возникать ошибки)

  • Все в системе должно быть обновлено, иначе некоторые правила могут быть пропущены или быть неверными. Это включает обновления Windows, приложения Microsoft Store и все остальное программное обеспечение.

  • Administrators

    DefaultGroup
    Config\ProjectSettings.ps1
    Administrators

    См. SecurityAndPrivacy.md для получения дополнительной информации о том, почему использование учетной записи администратора не рекомендуется по соображениям безопасности.
    Ваша административная учетная запись, используемая для развертывания брандмауэра, должна иметь установленный пароль.

  • Обновления программного обеспечения или Windows могут переименовывать исполняемые файлы или изменять их расположение, а также учетные записи пользователей могут быть переименованы администратором. Поэтому важно время от времени перезагружать определенные правила по мере необходимости, чтобы обновить брандмауэр в соответствии с изменениями системы, которые могут произойти в любое время. Это поведение называется Регрессия программного обеспечения

  • Перед развертыванием брандмауэра рекомендуется обновить систему и пользовательские программы на целевом компьютере, включая приложения Магазина Windows, особенно если система только что установлена, потому что обновление позже может потребовать перезагрузки некоторых правил.

  • Запомните вывод приведенной выше команды. Обратите внимание, что PowerShell Core по умолчанию использует RemoteSigned, в то время как Windows PowerShell по умолчанию использует Restricted на редакциях, не являющихся серверными.

  • Установите политику выполнения на Unrestricted, чтобы иметь возможность разблокировать файлы проекта. (Обратите внимание, что RemoteSigned будет работать только после разблокировки скриптов)

    root@kitploit:~
    Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestricted
    

    Возможно, вам будет предложено принять изменение политики выполнения. Если да, введите Y и нажмите Enter, чтобы принять.
    Для получения дополнительной информации см. О политиках выполнения

  • На этом этапе вы должны сначала "разблокировать" все файлы репозитория, выполнив скрипт под названием Scripts\Unblock-Project.ps1. Кстати, файлы репозитория были заблокированы Windows, чтобы предотвратить запуск недоверенного скриптового кода, загруженного из интернета:

    root@kitploit:~
    .\Scripts\Unblock-Project.ps1
    

    Если будет запрос, убедитесь, что ваш ответ — R, то есть [R] Run once (Выполнить один раз) столько раз, сколько необходимо для разблокировки проекта. (примерно до 8 раз)

  • После разблокировки файлов репозитория измените политику выполнения на RemoteSigned:

    root@kitploit:~
    Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned
    

    Возможно, вам снова будет предложено принять изменение политики выполнения. Введите Y и нажмите Enter, чтобы принять.

  • Правила для таких программ, как ваш веб-браузер, игры и т.д., зависят от переменных установки.
    Большинство путей автоматически ищутся, и переменные обновляются прозрачно; в противном случае вы получите предупреждение и описание того, как исправить проблему.
    При необходимости вы можете найти эти переменные установки в отдельных скриптах внутри каталога Rules.
    Рекомендуется закрыть все консоли управления MMC, такие как gpedit.msc или secpol.msc, перед запуском главного скрипта на следующем шаге.

  • Вернитесь в консоль PowerShell и выполните одну из двух команд Deploy-Firewall, приведенных ниже:

    Чтобы развернуть брандмауэр автоматически с минимальным количеством запросов, выполните:

    root@kitploit:~
    .\Scripts\Deploy-Firewall.ps1 -Force
    

    В противном случае, чтобы интерактивно выбирать, какие правила загружать, выполните:

    root@kitploit:~
    .\Scripts\Deploy-Firewall.ps1
    ```Нажмите Enter, и вам будут заданы вопросы, например, какие наборы правил вы хотите.\
    
  • Logs
    Services_<DATE>.log

    Windows Remote Management