Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
WindowsFirewallRuleset — Scripts PowerShell para criar automaticamente regras para o firewall do Windows | Kitploit
Ferramentas/GitHubGitHub/metablaster/windowsfirewallruleset
Scripting e AutomaçãoAuditoria de ConfiguraçãoSegurança de RedeArchived
GitHubmetablaster/windowsfirewallruleset

WindowsFirewallRuleset

Scripts PowerShell para criar automaticamente regras para o firewall do Windows

Ver Repositório
Site
179417há 1 anoRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Windows Firewall Ruleset

Alt Text

Índice

  • Windows Firewall Ruleset
    • Índice
    • Sobre o Windows Firewall Ruleset
      • Regras de firewall
      • Estrutura do firewall
    • A visão deste firewall
    • Licença
    • Requisitos
      • Detalhes dos requisitos
      • Não cumpro os requisitos
    • Utilizador pela primeira vez
      • Aviso
      • Nota
      • Início rápido
    • Gestão de firewall
      • Implantação automatizada e interativa do firewall
      • Gerir regras GPO
      • Implantação de conjuntos de regras individuais
      • Eliminação de regras
      • Exportar/Importar regras
    • Implantação remota do firewall
    • Suporte, atualizações e documentação
  • O futuro
  • Sobre o Windows Firewall Ruleset

    Lançamento alfa

    Uma solução totalmente automatizada para o firewall do Windows com PowerShell

    Windows Firewall Ruleset configura o firewall do Windows automaticamente e aplica regras de firewall restritivas específicas para o sistema alvo e software instalado no sistema.

    O estado deste projeto ainda é alfa, clique no distintivo "status" acima para saber mais.
    Este projeto consiste em duas partes principais: regras de firewall e estrutura do firewall, conforme a seguir:

    Regras de firewall

    Regras do firewall do Windows organizadas em scripts PowerShell individuais de acordo com:

    • Grupo de regras
    • Direção do tráfego (ex. entrada, saída ou IPSec)
    • Tipo de software e editor
    • Versão IP (IPv4 / IPv6)

    Como, por exemplo:

    • Tráfego ICMP
    • Regras do navegador
    • Software integrado do SO
    • Aplicações da loja
    • Serviços do Windows
    • Jogos multijogador
    • Programas Microsoft
    • Programas de terceiros
    • Tráfego de broadcast
    • Tráfego multicast

    Estrutura do firewall

    • A estrutura do firewall consiste em vários módulos PowerShell, scripts e documentação utilizados para recolher informações sobre o ambiente relevantes para construir e implantar um firewall especializado para o sistema alvo, como:

      • Computadores na rede
      • Programas instalados
      • Cálculo de sub-redes IP
      • Utilizadores remotos ou locais do sistema
      • Configuração de rede
      • Configuração GPO
      • Gestão de firewall
      • Análise rápida de rastreio de pacotes e registos de auditoria
      • Várias funções de resolução de problemas, firewall, sistema e rede
    • Assim, este repositório é um bom ponto de partida para estender facilmente o seu firewall com mais regras e funcionalidades conforme desejado.

    • Atualmente existem cerca de 800+ regras de firewall, 10+ módulos com 100+ funções, vários scripts e uma boa quantidade de documentação útil.

    • Pode escolher interativamente quais regras pretende e implementar apenas essas, ou pode automatizar o processo e implementar todas as regras e definições necessárias ao seu firewall.

    Índice

    A visão deste firewall

    Gerido no VSCode PowerShell

    1. A configuração detalhada do firewall é um processo moroso, requer muita resolução de problemas, as alterações necessitam de testes e auditoria de segurança e só piora se precisar de implementar o firewall em centenas ou milhares de computadores remotos, por exemplo, nem todos os computadores podem ter o mesmo software ou requisitos de restrição.

    2. Ao contrário das regras de firewall no painel de controlo, estas regras são carregadas no firewall GPO (Política de Grupo Local), o que significa que alterações nas definições do sistema ou programas aleatórios que instalam regras como parte do seu processo de instalação não terão efeito no firewall a menos que explicitamente abra uma exceção.

    3. As regras baseadas em programas e serviços terão o seu ficheiro executável especificado verificado quanto à assinatura digital e serão analisadas no VirusTotal se faltar a assinatura digital, por razões de segurança a regra não é criada nem carregada no firewall se esta verificação falhar. (pode ser forçada)

    4. O tráfego de saída predefinido é "bloquear" a menos que haja uma regra para permitir tráfego de rede, na maioria dos firewalls isto não é possível a menos que mantenha regras para todos os programas ou serviços possíveis, graças a esta coleção de regras, definir o tráfego de saída predefinido como bloquear requer muito pouco ou nenhum trabalho adicional.

    5. Ao contrário do cenário habitual, saberá quais regras já não têm efeito ou são redundantes devido, por exemplo, a um programa desinstalado, um serviço de sistema em falta que já não existe, executável renomeado após uma atualização do Windows e razões semelhantes.

    6. Ao contrário das regras predefinidas do firewall do Windows, estas regras são mais restritivas, como estarem vinculadas a contas de utilizador explícitas, aplicarem-se a portas específicas, interfaces de rede, executáveis específicos, serviços, etc., tudo isto é aprendido automaticamente a partir do sistema alvo.

    7. Atualizar, filtrar ou pesquisar regras e atributos como portas, endereços e similares é muito mais fácil, pois estas regras estão em scripts, pode usar ferramentas de editor como regex, multicursor ou CTRL + F para realizar operações em massa nas suas regras, fazer isto em qualquer interface de firewall não é possível devido às limitações da interface do utilizador.

    8. Uma boa parte do código é dedicada a fornecer uma solução automatizada para construir e definir um firewall especializado para o sistema alvo e utilizadores, minimizando a necessidade de fazer algo manualmente, poupando assim muito do seu valioso tempo de administração.

    Índice

    Licença

    Licença MIT

    Este projeto Windows Firewall Ruleset está licenciado sob a licença MIT.

    Alguns scripts, ficheiros ou módulos não estão licenciados sob MIT ou podem ter os seus próprios detentores de direitos de autor, por esta razão os avisos de licença e direitos de autor são mantidos "por ficheiro".

    Requisitos

    Windows

    A tabela seguinte lista os sistemas operativos nos quais o Windows Firewall Ruleset foi testado

    SOEdiçãoVersãoArquitetura
    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

    1. Windows PowerShell 5.1 ou PowerShell Core 7.3.x Descarregar PowerShell Core
    2. .NET Framework 4.5 (apenas Windows PowerShell) Descarregar .NET Framework
    3. sigcheck64.exe (Altamente recomendado) Descarregar sigcheck
    4. Git (Opcional) Descarregar Git
    5. Visual Studio Code (Recomendado) Descarregar VSCode
    6. Suporte PowerShell para VSCode (Recomendado) Descarregar extensão
    7. PSScriptAnalyzer (Recomendado) Descarregar PSScriptAnalyzer

    Índice

    Detalhes dos requisitos

    • Todos os sistemas Windows 10.0 (Major 10, Minor 0) e superiores, exceto edições Home, são suportados, mas apenas as edições listadas na tabela acima foram testadas.
      A coluna "Versão" lista as versões testadas, no entanto apenas as compilações mais recentes do SO continuam a ser testadas.
      Uma lista de outros sistemas e funcionalidades suportados mas não testados está em O futuro

    • O PowerShell Core não está incorporado no Windows, terá de o instalar separadamente ou usar o Windows PowerShell que faz parte do sistema operativo.

    • É necessário .NET Framework min. versão 4.5 se estiver a usar Windows PowerShell (edição Desktop) em vez de PowerShell Core.
      O Windows 10 vem com min. .NET 4.6 (que inclui .NET 4.5), e o Windows 11 vem com min. .NET 4.8

    • O sigcheck64.exe (ou a versão 32 bits sigcheck.exe) é uma ferramenta de verificação de assinatura digital que pode descarregar do site da Microsoft e deve ser colocado no diretório C:\tools ou na variável de ambiente %PATH%.
      O Windows Firewall Ruleset irá utilizá-lo para realizar análise online de malware baseada em hash no VirusTotal para todos os executáveis que não estejam assinados digitalmente antes de ser criada uma regra de firewall para esse executável.
      Isto é apenas uma recomendação, se não existir sigcheck64.exe no PATH ser-lhe-á oferecido descarregá-lo e se recusar não será feita nenhuma análise de malware.
      Ao utilizar esta funcionalidade, concorda com os Termos de Serviço do VirusTotal, a Política de Privacidade do VirusTotal e os Termos de Licença de Software Sysinternals

    • Poderá querer ter o git para verificar atualizações, mudar facilmente entre branches ou contribuir com código.

    • O VS Code é o editor preferido e recomendado para navegar no código e/ou editar scripts para as suas próprias necessidades ou contribuição.

    • Se obtiver o VSCode, também precisará da extensão PowerShell para navegação no código e funcionalidades da linguagem PowerShell.

    • Para navegar e editar código com VSCode, o PSScriptAnalyzer é altamente recomendado, caso contrário a experiência de edição pode comportar-se de forma estranha devido a várias definições do repositório.

    • Não existem requisitos de hardware, mas se planeia escrever e depurar código, a recomendação é pelo menos 8 GB de memória e um SSD para trabalhar confortavelmente no projeto, caso contrário, para apenas implementar regras no seu firewall pessoal, menos do que isso funcionará perfeitamente.

    Índice

    Não cumpro os requisitos

    Atualmente, este firewall é testado e concebido para os mais recentes Windows Desktop/Servers e sabe-se que funciona, utilizá-lo em sistemas mais antigos requer trabalho adicional.

    Os testes são feitos em Windows de 64 bits, uma pequena fração das regras não funcionará em sistemas de 32 bits e necessita de ajustes, a funcionalidade completa para sistemas de 32 bits está em progresso.
    Por enquanto, pode carregar as regras num sistema de 32 bits sem problemas, com exceção de algumas regras que provavelmente não são relevantes para a sua configuração.

    Para informações sobre como utilizar este firewall em sistemas Windows mais antigos, como Windows 7 ou Windows Server 2008, consulte Suporte para versões anteriores

    Índice

    Utilizador pela primeira vez

    Seguem-se breves avisos e notificações que o utilizador pela primeira vez deve conhecer antes de implementar o firewall

    Aviso

    • Pode perder a conectividade à Internet para alguns dos seus programas ou, em casos raros, perder completamente a conectividade à Internet; se isso acontecer, pode permitir temporariamente o tráfego de saída na GPO ou executar
      .\Scripts\Reset-Firewall.ps1 -Remoting -Service, para repor a firewall GPO para as predefinições do sistema, remover todas as regras e restaurar o WinRM e serviços modificados para as predefinições do sistema. (depois é necessário reiniciar o PowerShell)

    • Dentro do diretório docs existe um ficheiro ResetFirewall.md, um guia sobre como fazê-lo manualmente, à mão, se por algum motivo não conseguir executar o script, ou o script não resolver os seus problemas.

    • As suas regras existentes não serão eliminadas a menos que tenha regras na GPO com exatamente os mesmos nomes de grupo que as regras deste conjunto de regras, no entanto isto não se aplica a Scripts\Reset-Firewall.ps1 que limpará completamente as regras da GPO e deixará apenas as do painel de controlo.

    • Se quiser ter 100% de certeza, exporte as suas regras GPO conforme explicado em Exportar\Importar regras

    • Ser-lhe-á perguntado quais regras carregar (se selecionar implementação interativa, veja mais à frente), para minimizar problemas de conectividade à Internet, deve implementar pelo menos todas as regras genéricas de rede e relacionadas com o SO chamadas "CoreNetworking", "ICMP", "WindowsSystem", "WindowsServices", "Multicast", incluindo todas as regras para as quais tenha programas instalados no sistema, também não ignore o IPv6, o Windows precisa de IPv6 mesmo que esteja numa rede IPv4.
      Será fácil eliminar o que não precisa na GPO, em vez de depois ter de pesquisar no código o que perdeu.

    • A configuração predefinida definirá o comportamento global do firewall que não é configurável na GPO, como Stateful FTP e PPTP ou definições globais de IPSec; se precisar de uma configuração específica, visite Scripts\Complete-Firewall.ps1 e veja Set-NetFirewallSetting.
      Note que Scripts\Complete-Firewall.ps1 é chamado automaticamente por Scripts\Deploy-Firewall.ps1

    • Alguns scripts requerem que esteja ligado à rede (através do adaptador de rede), por exemplo para determinar o endereço de broadcast IPv4. (Caso contrário, podem ser gerados erros)

    • Tudo no sistema deve estar atualizado, caso contrário algumas regras podem ser ignoradas ou incorretas, isto inclui atualizações do Windows, aplicações da Microsoft Store e todo o outro software.

    Índice

    Nota

    • Carregar regras numa GPO vazia deve ser muito rápido, no entanto carregar numa GPO que já contém regras será significativamente mais lento (depende do número de regras existentes na GPO)

    • Todos os erros e avisos serão guardados no diretório Logs, pode rever estes registos mais tarde se desejar corrigir algum problema, a maioria dos avisos e até alguns erros podem ser ignorados com segurança; em certos casos, poderá querer resolver os erros se possível.

    • Qualquer regra que resulte em "Acesso negado" durante o carregamento deve ser recarregada executando o script específico novamente, consulte FAQ para mais informações sobre por que isto pode acontecer.

    • Se o repositório foi descarregado manualmente, transferido de outro computador ou suporte, então deve
      desbloquear todos os ficheiros do repositório primeiro para evitar perguntas repetitivas de SIM/NÃO para cada script executado, executando Scripts\Unblock-Project.ps1
      O script mestre Scripts\Deploy-Firewall.ps1 faz isto caso se esqueça, mas as perguntas iniciais de SIM/NÃO ainda estarão presentes nesse caso.

    • Se tiver a "Proteção contra ransomware" ativada (no Windows Defender), certifique-se de adicionar à lista de permissões o pwsh.exe (edição Core) ou powershell.exe (edição Desktop) ou ambos, caso contrário ocorrem erros no modo de desenvolvimento durante a instalação de módulos.
      Se o código do repositório for descarregado para uma pasta sob proteção contra ransomware, qualquer coisa pode ser bloqueada.
      A consola PowerShell pode precisar de ser reiniciada para que as alterações de "Acesso controlado a pastas" tenham efeito.

    • Por predefinição, as regras são criadas para o grupo Utilizadores e para o grupo Administradores apenas quando necessário; a recomendação é ter uma conta de utilizador padrão para computação diária por razões de segurança.
      Se for Administrador e não pretender criar uma conta padrão no seu computador, terá de modificar a variável DefaultGroup em Config\ProjectSettings.ps1 e especificar Administrators.

      Consulte SecurityAndPrivacy.md para mais informações sobre por que usar a conta de Administrador não é recomendado por razões de segurança.
      A sua conta administrativa usada para implementar o firewall deve ter uma palavra-passe definida.

    • As atualizações de software ou Windows podem renomear executáveis ou as suas localizações, também as contas de utilizador podem ser renomeadas pelo Administrador, por isso é importante recarregar regras específicas de vez em quando conforme necessário para atualizar o firewall para alterações do sistema que podem ocorrer a qualquer momento. Este comportamento é chamado Regressão de software

    • Antes de implementar o firewall, é recomendado atualizar o sistema e os programas do utilizador no computador alvo, incluindo aplicações da Windows Store, especialmente se o sistema foi acabado de instalar, porque atualizar mais tarde pode exigir recarregar algumas regras.

    Índice

    Início rápido

    1. Se não tiver chaves SSH e outra configuração necessária para clonar via SSH, clone com HTTPS ou descarregue o ficheiro zip da versão em Releases e, para a versão mais recente, na secção "assets" descarregue o ficheiro zip.
      Estes passos assumem que descarregou um ficheiro zip da secção "assets" em "Releases".

    2. Extraia o arquivo descarregado algures; estes passos assumem que extraiu o ficheiro zip (diretório raiz do repositório) diretamente para a unidade C:\.

    3. Se pretender usar Windows PowerShell, consulte Como abrir o Windows PowerShell Caso contrário, o procedimento para PowerShell Core e Windows PowerShell é semelhante:
      Abra a pasta extraída, clique com o botão direito num espaço vazio e existe uma opção para executar PowerShell Core como Administrador (assume que ativou o menu de contexto durante a instalação do PowerShell Core); se não, abra-o manualmente.

    4. Se não tiver o menu de contexto do PowerShell, navegue para a unidade C:\ executando as duas linhas seguintes (escreva ou copie/cole os comandos e prima Enter para cada um), é aqui que extraiu o ficheiro zip descarregado

      root@kitploit:~
      c:
      cd \
      
    5. Navegue para a pasta descarregada:

      root@kitploit:~
      cd WindowsFirewallRuleset*
      
    6. Para ver a política de execução atual, escreva o seguinte comando e prima Enter:
      (dica: pode usar a tecla TAB para autocompletar enquanto escreve)

      root@kitploit:~
      Get-ExecutionPolicy
      

      Lembre-se do resultado do comando acima; note que o PowerShell Core predefinido é RemoteSigned enquanto o Windows PowerShell predefinido é Restricted em edições não servidor.

    7. Defina a política de execução para unrestricted (irrestrita) para poder desbloquear os ficheiros do projeto, (Note que RemoteSigned funcionará apenas depois de os scripts serem desbloqueados)

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

      Poderá ser solicitado a aceitar a alteração da política de execução; nesse caso, escreva Y e prima Enter para aceitar.
      Para mais informações, consulte Sobre Políticas de Execução

    8. Neste ponto, deve "desbloquear" todos os ficheiros do repositório primeiro, executando um script chamado
      Scripts\Unblock-Project.ps1, já que os ficheiros do repositório foram bloqueados pelo Windows para impedir os utilizadores de executar código de script não confiável descarregado da Internet:

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

      Se for perguntado, certifique-se de que a sua resposta é R que é [R] Executar uma vez tantas vezes quanto necessário para desbloquear o projeto. (aprox. até 8 vezes)

    9. Depois de os ficheiros do repositório estarem desbloqueados, altere a política de execução para RemoteSigned:

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

      Poderá ser novamente solicitado a aceitar a alteração da política de execução; escreva Y e prima Enter para aceitar.

    10. As regras para programas como o seu navegador web, jogos, etc., dependem de variáveis de instalação.
      A maioria dos caminhos é procurada automaticamente e as variáveis são atualizadas de forma transparente; caso contrário, receberá um aviso e uma descrição de como corrigir o problema.
      Se necessário, pode encontrar estas variáveis de instalação nos scripts individuais dentro do diretório Rules.
      É recomendado fechar todas as consolas de gestão MMC, como gpedit.msc ou secpol.msc, antes de executar o script mestre no próximo passo.

    11. Volte à consola PowerShell e execute um dos dois comandos Deploy-Firewall abaixo:

      Para implementar o firewall automaticamente com o mínimo de solicitações possível, execute:

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

      Caso contrário, para ser solicitado interativamente quais regras carregar, execute:

      root@kitploit:~
      .\Scripts\Deploy-Firewall.ps1
      ```Prima Enter e ser-lhe-ão feitas perguntas sobre que tipo de regras pretende.\
      

    Se precisar de ajuda para decidir se deve executar algum conjunto de regras ou não, digite ? quando for solicitado a executar o conjunto de regras e prima Enter para obter mais informações.
    Se por qualquer motivo quiser interromper e abortar a implementação (ex. para iniciar uma nova) prima CTRL + C no seu teclado enquanto o PowerShell estiver em foco e reinicie a consola PowerShell.

    1. Siga o resultado do prompt (ex. prima Enter para aceitar a ação predefinida), isto levará cerca de 15 minutos da sua atenção.

      NOTA: Se a conta de Administrador estiver a usar uma conta Microsoft para iniciar sessão no computador, ser-lhe-á pedido credenciais, que precisam de ser o email e palavra-passe Microsoft, independentemente de estar a usar o Windows hello ou não, especificar PIN, por exemplo, não funcionará e outros métodos de autenticação do Windows hello não são suportados.

      Se forem fornecidas credenciais inválidas, receberá um erro a dizer Access is denied.
      Se isto acontecer, precisará de reiniciar a consola PowerShell e tentar novamente.

      Para mais informações sobre porque isto é necessário, consulte FAQ

    2. Se encontrar erros, pode ignorá-los ou atualizar o script que produziu o erro e depois executar novamente esse script específico mais tarde.

    3. Quando terminar, poderá querer ajustar algumas das regras na Política de Grupo Local, nem todas as regras estão ativadas por predefinição ou poderá querer alternar o comportamento predefinido Permitir/Bloquear.
      As regras podem não cobrir todos os programas instalados no seu sistema; nesse caso, é necessário criar regras em falta.

    4. Agora, teste a sua ligação à Internet (ex. com um navegador web ou outro programa), Se não conseguir ligar-se à Internet após implementar estas regras, tem várias opções:

      • Abrir temporariamente a firewall de saída no GPO ou Desativar Firewall
      • Resolver problemas: Guia detalhado de resolução de problemas de rede
      • Pode Repor Firewall para o estado anterior
      • Consulte o diretório docs para mais opções de resolução de problemas e documentação
    5. Como pré-requisito para implementar a firewall, alguns serviços do sistema foram iniciados e configurados para arranque automático; dentro do diretório Logs encontrará Services_<DATE>.log para ajudar a restaurar estes serviços para o predefinido, se desejado.
      Por exemplo, o serviço Windows Remote Management não deve estar em execução se não for necessário (a predefinição é arranque "Manual")

    Índice

    Gestão da firewall

    A secção seguinte fornece algumas dicas para gerir a firewall com facilidade

    Implementação automatizada e interativa da firewall

    O script Deploy-Firewall.ps1 suporta vários parâmetros para permitir personalizar a automação da implementação da seguinte forma:

    • Para executar automaticamente todas as regras sem prompt e com saída concisa, mas apenas para programas que existem no sistema, execute:```powershell .\Scripts\Deploy-Firewall.ps1 -Force -Quiet
    root@kitploit:~
    - Para ir passo a passo e ser solicitado a confirmar quais conjuntos de regras carregar e tentar resolver problemas em tempo real execute:```powershell
    .\Scripts\Deploy-Firewall.ps1 -Interactive
    
    • Para ser solicitado apenas para seleção de ruleset, execute Deploy-Firewall sem parâmetros:```powershell .\Scripts\Deploy-Firewall.ps1
    root@kitploit:~
    Para aprender o significado dos parâmetros e poder combiná-los por conta própria, veja o comentário do script `Deploy-Firewall.ps1` ou execute o seguinte comando:```powershell
    Get-Help .\Scripts\Deploy-Firewall.ps1 -Detailed
    

    Gerenciar regras GPO

    Existem dois métodos para gerenciar regras GPO:

    1. Usando a Política de Grupo Local, este método oferece liberdade limitada sobre o que você pode fazer com as regras deste repositório, como desativá-las, alterar alguns atributos ou adicionar novas regras.
      Para mais informações, veja: Manage GPO Firewall

    2. Editando scripts do PowerShell, este método oferece controle total, você pode alterar ou remover regras existentes sem restrições ou adicionar novas.

    Qualquer que seja seu plano ou configuração, você certamente desejará realizar trabalhos adicionais, como personalizar regras ou adicionar novas regras para programas ainda não cobertos por este firewall.

    As regras são carregadas na política de grupo local. Se durante a configuração do firewall você aceitou criar um atalho para o console de gerenciamento personalizado do firewall, você pode executar o atalho; caso contrário, siga as etapas mencionadas em Manage GPO Firewall

    Para mais informações sobre GPO, veja: Configure security policy settings

    Table of Contents

    Implantando conjuntos de regras individuais

    Se você deseja implantar apenas regras específicas, existem duas maneiras de fazer isso:

    1. Execute Scripts\Deploy-Firewall.ps1 e escolha Yes apenas para os conjuntos de regras que desejar, caso contrário escolha No e pressione Enter para pular o conjunto de regras atual.

    2. No console do PowerShell, navegue com cd até o diretório que contém o script do conjunto de regras desejado e execute o script individual.
      Por exemplo, cd .\Rules\IPv4\Outbound\Software seguido por .\Adobe.ps1 para carregar as regras para Adobe.

    Você pode querer executar Scripts\Complete-Firewall.ps1 posteriormente para aplicar o comportamento padrão do firewall, caso ainda não esteja definido, ou pode fazer isso manualmente no GPO, mas com poder limitado.
    "poder limitado" significa que Scripts\Complete-Firewall.ps1 configura alguns parâmetros do firewall que não podem ser ajustados na interface gráfica do firewall.

    Em ambos os casos, todas as regras que correspondem ao grupo do conjunto de regras, DisplayGroup, serão excluídas antes de carregar as regras no GPO.

    Table of Contents

    Excluindo regras

    No momento, existem três opções para excluir regras de firewall:

    1. A maneira mais fácil é selecionar todas as regras que deseja excluir no GPO, clicar com o botão direito e excluir.

    2. Para excluir regras de acordo com o arquivo, existe uma função para essa finalidade, localizada em:
      Modules\Ruleset.Firewall\Public\Remove-FirewallRule.ps1
      no entanto, você precisa primeiro exportar o firewall para um arquivo antes de usá-la.

    3. Para reverter para o estado antigo do firewall (o do painel de controle), você precisará excluir todas as regras do GPO e definir todas as propriedades como Not configured após clicar com o botão direito no nó:
      Windows Defender Firewall with Advanced Security - Local Group Policy Object

    Excluir todas as regras ou reverter ao estado anterior também pode ser feito com Scripts\Reset-Firewall.ps1
    Note que você também precisará reimportar suas regras GPO exportadas, se as tiver.

    Table of Contents

    Exportar/Importar regras

    Se você deseja exportar regras do GPO, existem dois métodos disponíveis:

    1. Exportar na política de grupo local clicando no menu Export Policy..., após clicar com o botão direito no nó:
      Windows Defender Firewall with Advanced Security - Local Group Policy Object

    2. Para exportar usando o PowerShell, execute Scripts\Backup-Firewall.ps1
      Se você deseja personalizar sua exportação, veja a função Export-RegistryRule localizada no módulo Ruleset.Firewall, que permite personalizar sua exportação de quase qualquer maneira que desejar.

    Se você deseja importar regras, importar usando o GPO é o mesmo que para exportar, e para importar com PowerShell basta executar Scripts\Restore-Firewall.ps1, que selecionará seus arquivos de exportação anteriores.

    Para personalizar sua exportação/importação, dê uma olhada em Modules\Ruleset.Firewall\Public, onde você encontrará a descrição de como usar as funções do módulo de exportação/importação.

    NOTA: A função Export-FirewallRule é realmente lenta; é aconselhável executar a função Export-RegistryRule em vez dela, que é tão rápida quanto possível.

    Table of Contents

    Implantação remota de firewall

    Esta seção e funcionalidade estão atualmente experimentais e não totalmente completas; no momento, a implantação em um único computador remoto é suportada.

    Em construção

    Na implantação remota de firewall, pelo menos dois computadores estão envolvidos:
    um é chamado de computador de gerenciamento (cliente) e todos os outros são chamados de computadores gerenciados (servidores).

    Os scripts são executados pelo administrador no computador de gerenciamento, e o firewall é então implantado ou configurado em vários computadores servidores simultaneamente.

    Para detalhes de implementação, veja o módulo Modules\Ruleset.Remote

    NOTA: A funcionalidade de remoting não é exclusiva da implantação remota de firewall; a implantação no localhost por design requer configuração de WinRM e PS remoting funcionais também.

    Antes que a implantação remota possa ser realizada, o computador remoto (servidor) precisa ser configurado para aceitar conexão. Um exemplo de como estabelecer conexão SSL é o seguinte:

    Para permitir a execução, configure o serviço WinRM e o registro remoto no computador servidor executando:

    NOTA: Se estiver usando PowerShell Core, omita -Protocol HTTPS de Enable-WinRMServer abaixo; isso habilitará HTTP e HTTPS, o que é uma solução alternativa temporária para o módulo de compatibilidade funcionar em sessão remota.```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:~
    Após realizar estas etapas, dentro do diretório `\Exports` você encontrará o arquivo de certificado SSL (*.cer)
    que precisa ser copiado para o computador de gerenciamento também no diretório `\Exports`.\
    Por padrão, um certificado SSL autoassinado é criado se o computador servidor ainda não tiver um.
    
    **NOTA:** A configuração manual do computador servidor é realizada apenas uma vez para a configuração inicial,
    você não precisa repeti-la para implantações subsequentes.
    
    O próximo passo é ir para o computador de gerenciamento e executar os scripts conforme desejado, por exemplo:```powershell
    # On management computer
    cd C:\Path\to\WindowsFirewallRuleset\Scripts
    Deploy-Firewall -Domain "RemoteComputerName"
    

    Ambos os conjuntos de comandos acima precisam ser executados na mesma edição do PowerShell, ex. se o servidor foi configurado no PowerShell Core, o computador cliente também precisa do PowerShell Core para implantação.
    Se o servidor ou o computador de gerenciamento for uma estação de trabalho (ex. não é um servidor Windows ou parte de um domínio), seu perfil de rede deve ser definido como perfil privado.

    A implantação remota pode ser personalizada em grande detalhe nos seguintes locais:

    • Para personalizar o serviço WinRM, consulte: Modules\Ruleset.Remote\Scripts\WinRMSettings.ps1
    • Para personalizar a configuração da sessão WSMan, consulte: Modules\Ruleset.Remote\Scripts\*Firewall.pssc
    • Para personalizar o certificado SSL autoassinado, consulte: Modules\Ruleset.Remote\Public\Register-SslCertificate.ps1
    • Para personalizar a configuração de sessão PS e CIM, consulte: Modules\Ruleset.Remote\Scripts\SessionSettings.ps1

    Para informações adicionais e dicas de solução de problemas, consulte também Ajuda de Remoting

    Índice

    Suporte, atualizações e documentação

    Para suporte, relatórios de problemas, sugestões ou personalização deste repositório e métodos para atualizar periodicamente este firewall, consulte SUPPORT.md

    Índice

    O futuro

    Os seguintes recursos são desejados e podem estar disponíveis em algum momento no futuro:

    1. Administração remota de firewall

      • Implantação da configuração de firewall em vários computadores remotos em redes de domínio ou domésticas
    2. Regras de firewall abrangentes para edições do Windows Server e sistemas de gateway dedicados.

    3. Varredura de registro sob demanda ou agendada para validar a integridade da política de filtragem de firewall ativa e configurações de firewall

      • Qualquer regra ou configuração de firewall no registro que não faça parte deste repositório é relatada para revisão.
      • Porque malware, hackers e até mesmo software confiável podem tentar contornar o firewall a qualquer momento
    4. Funcionalidade completa para as seguintes edições ainda não testadas do Windows 10.0

      • Windows 10 & 11 Pro for Workstations
      • Windows 10 & 11 IoT Core Blast
      • Windows 10 & 11 IoT Enterprise
      • Windows 10 & 11 S
    5. Funcionalidade para sistemas x86

    Índice

    Baixar ferramenta