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

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
Site
17941há 1 anoRevisado pelo Kitploit

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


  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 no ser-lhe-á oferecido descarregá-lo e se recusar não será feita nenhuma análise de malware. Ao utilizar esta funcionalidade, concorda com os , a e os

Í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 ou definições globais de ; se precisar de uma configuração específica, visite e veja . Note que é chamado automaticamente por

Í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 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 em e especificar .

Í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
    

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 encontrará para ajudar a restaurar estes serviços para o predefinido, se desejado. Por exemplo, o serviço 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
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

sigcheck64.exe
PATH

Termos de Serviço do VirusTotal
Política de Privacidade do VirusTotal
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.

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

    Scripts\Complete-Firewall.ps1
    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.

  • Administradores

    DefaultGroup
    Config\ProjectSettings.ps1
    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.

  • 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.

  • 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

  • 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)

  • 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.

  • 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.

  • 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.\
    
  • Logs
    Services_<DATE>.log

    Windows Remote Management