NOTÍCIAS

[ANONYMOUS][grids]

Windows Firewall Ruleset - Scripts do PowerShell conjunto de regras do Firewall do Windows

WindowsFirewallRuleset


Sobre o WindowsFirewallRuleset
  • Regras de firewall do Windows organizadas em scripts individuais do PowerShell de acordo com:

  1. Grupo de regras
  2. Direção de tráfego
  3. Versão IP (IPv4 / IPv6)
  4. Classificação adicional de acordo com programas e serviços
Como por exemplo:
  1. Tráfego ICMP
  2. Regras do navegador
  3. regras para o sistema Windows
  4. Armazenar aplicativos
  5. Serviços do Windows
  6. Programas da Microsoft
  7. Programas de terceiros
  8. tráfego de transmissão
  9. tráfego multicast
  10. E a lista continua..

Você pode escolher quais regras deseja e aplicar apenas essas ou todas com um único comando ao seu firewall.

Todas as regras são carregadas na diretiva de grupo local, fornecendo a você poder total sobre o firewall padrão do Windows.



Este projeto "WindowsFirewallRuleset" está licenciado sob a licença MIT .
O subprojeto Indented.Net.IP (código de terceiros) localizado na subpasta "Indented.Net.IP" é licenciado sob a licença ISC .
O subprojeto VSSetup (código de terceiros) localizado na subpasta "VSSetup" é licenciado sob licença MIT .
Licença, avisos de direitos autorais e todo o material de subprojetos está em sua própria pasta.
Os avisos de licença e direitos autorais deste projeto estão na pasta raiz do projeto.
Para obter mais informações, consulte as respectivas licenças:

WindowsFirewallRuleset \ LICENSE
Indented.Net.IP \ LICENSE
VSSetup \ LICENSE.txt


Requisitos mínimos do sistema


Requisitos mínimos do sistema
  1. Windows 10 Pro / Enterprise
  2. Windows Powershell 5.1 Baixar Powershell
  3. Git (Opcional) Baixar Git

Observe que o Powershell está embutido no Windows por padrão; você provavelmente precisará instalá-lo ou atualizar em alguns sistemas antigos.

Para poder aplicar regras a sistemas mais antigos, como o Windows 7, edite FirewallModule.psm1e adicione uma nova variável que define a versão do sistema:
New-Variable -Name Platform -Option Constant -Scope Global -Value "10.0+""é definida para atingir o Windows 10 e superior por padrão para todas as regras, por exemplo, para o Windows 7, defina um novo variável que parece com isso:
New-Variable -Name PlatformWin7 -Option Constant -Scope Global -Value "6.1"
em seguida, você abrir scripts do conjunto de regras individuais, e vejam que as regras que você quer ser carregado em seu firewall,

então simplesmente substituir -Platform $Platformcom -Platform $PatformWin7para cada regra que você deseja.

No VS Code, por exemplo, você simplesmente (CTRL + F) para cada script e substitui todas as instâncias. muito simples.

Se você perder algo que possa excluir, adicione ou modifique regras no GPO posteriormente.

Observe que, se você definir sua plataforma globalmente (por exemplo, $Platform = "6.1") em vez de criar sua própria variável, apenas substituindo a cadeia, mas não excluindo regras não relacionadas, a maioria das regras funcionará, mas por exemplo. as regras para aplicativos da loja falharão ao carregar.

Também ie. as regras para programas e serviços introduzidos no Windows 10 provavelmente serão aplicadas, mas redundantes.

O que isso significa é que basta editar o GPO posteriormente para refinar suas importações se você seguir esse caminho.

Em qualquer caso, novo sistema ou antigo, saiba que as versões Home do Windows não possuem GPO (Diretiva de Grupo Local), portanto, não é possível fazer uso deste projeto.

Início rápido passo a passo
AVISO:

  • esses passos aqui são projetados para para aqueles que não se sentem comfotable com gitPowershellouLocal group policy
  • Você pode perder a conectividade com a Internet para alguns de seus programas ou, em casos raros, até perder completamente a conectividade com a Internet; se isso acontecer, você pode executar ResetFirewall.ps1para redefinir o firewall para o estado anterior.
  • Dentro da pasta Leiame, há ResetFirewall.mdum guia sobre como fazê-lo manualmente, manualmente, se por algum motivo você não conseguir executar o script, ou se o script não resolver seus problemas.
  • Observe também que suas regras atuais / existentes não serão excluídas, a menos que você tenha regras no GPO cujo nome de grupo interfira nos nomes de grupos desse conjunto de regras.
  • para ter 100% de certeza, exporte primeiro suas regras atuais de GPO (se você não souber fazer isso, ignore isso e não terá regras de GPO)
PASSOS:
  1. Clique com o botão direito do mouse na barra de tarefas e selecione Taskbar settings
  2. Ativar Replace Command Prompt with Windows Powershell in the menu when I right click the start button
  3. Clique com o botão direito do mouse no botão Iniciar no sistema Windows
  4. Clique Windows Powershell (Administrator)para abrir o Powershell como administrador (digite a senha do administrador, se necessário)
  5. Digite: (ou copie e cole comandos e pressione enter) Get-ExecutionPolicylembre-se de qual é a saída.
  6. Tipo: Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestricted -Force
  7. Tipo: cd C:\
  8. Tipo: git clone [email protected]:metablaster/WindowsFirewallRuleset.git
  9. Tipo: cd WindowsFirewallRuleset
  10. Regras para programas como navegador da Internet, Visual Studio etc. dependem de variáveis ​​de instalação.
    A maioria dos caminhos é pesquisada automaticamente e as variáveis ​​são atualizadas; caso contrário, você recebe um aviso e uma descrição sobre como corrigir o problema.
  11. De volta ao console do Powershell e digite: .\SetupFirewall.ps1e pressione enter (Você será perguntado que tipo de conjunto de regras você deseja)
  12. Siga a saída rápida (ou seja, pressione enter a cada vez para prosseguir até terminar); levará pelo menos 10 minutos de sua atenção.
  13. Se você encontrar erros, terá várias opções, como ignorar os erros ou corrigir o script que produziu o erro e execute-o novamente mais tarde.
  14. Depois de concluída a execução, chame a política de execução da etapa 5 e digite: (por exemplo, se a política anterior fosse "RemoteSigned")
    Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned -Force\
  15. Agora que as regras foram aplicadas, talvez seja necessário ajustar algumas delas na Diretiva de Grupo Local, nem todas as regras estão ativadas por padrão e você pode alternar o comportamento padrão Permitir / Bloquear para algumas regras, regras para programas que não existem precisam ser feito adicionalmente.
    Veja as próximas seções para mais informações.

Onde estão minhas regras?
As regras são carregadas na política de grupo local, siga as etapas abaixo para abrir a política de grupo local.

  1. Pressione a tecla Windows e digite: secpol.msc
  2. Clique com o botão direito secpol.msce cliqueRun as administrator
  3. Nó de expansão: Windows Defender Firewall with Advanced Security
  4. Nó de expansão: Windows Defender Firewall with Advanced Security - Local Group Policy Object
  5. Clique no nó Inboundou Outboundpara visualizar e gerenciar as regras que você aplicou com o script do Powershell.

Aplicando conjuntos de regras individuais
Se você deseja aplicar apenas regras específicas, existem 2 maneiras de fazer isso:

  1. Execute SetupFirewall.ps1e pressione Enter apenas para os conjuntos de regras que você deseja; caso contrário, digite ne pressione Enter para pular o conjunto de regras atual.
  2. No PowerShell interno, navegue até a pasta que contém o script do conjunto de regras desejado e execute o script individual do Powershell.
  3. Você pode executar FirewallProfile.ps1para aplicar o comportamento padrão do firewall ou manualmente no GPO.
Nos dois casos, o script excluirá todas as regras existentes que correspondem ao grupo de regras (se houver) e carregará as regras do script na Diretiva de Grupo Local.

Exclusão de regras
No momento, a maneira mais fácil é selecionar todas as regras que você deseja excluir na Diretiva de Grupo Local, clique com o botão direito do mouse e exclua.
Para reverter para o seu antigo estado de firewall, você precisará excluir todas as regras do GPO e definir todas as propriedades como "Não configuradas" ao clicar com o botão direito do mouse no nó Windows Defender Firewall with Advanced Security - Local Group Policy Object

Gerenciar regras carregadas
Existem duas maneiras de gerenciar suas regras:

  1. Usando a Diretiva de Grupo Local, esse método oferece liberdade limitada sobre o que você pode fazer com as regras, como desativá-las ou alterar alguns atributos.
  2. Editando scripts do PowerShell, esse método oferece controle total, você pode melhorar as regras, adicionar novas ou estragar tudo.
Seja qual for a sua configuração, você certamente precisará executar um trabalho adicional, como adicionar mais regras no GPO para permitir programas para os quais não existem regras ou reconfigurar as regras existentes.

Contribuição ou sugestões
Sinta-se livre para sugerir ou contribuir com novas regras ou melhorias para regras ou scripts existentes.
Apenas certifique-se de seguir o estilo de código existente, da seguinte maneira:

  1. Observe que cada regra usa exatamente a mesma ordem ou os parâmetros divididos no mesmo número de linhas.
    Isso é necessário para que, quando você precise pesquisar algo, seja fácil ver o que está acontecendo imediatamente.
  2. Forneça documentação e referência oficial para suas regras, para que seja fácil verificar se essas regras não contêm erros, por exemplo, para regras de ICMP, você forneceria um link para a IANA com o documento de referência relevante.
  3. Se você gostaria de sugerir novas regras ou melhorar as existentes, mas não possui as habilidades necessárias para fazer o upload de uma atualização aqui, abra uma nova edição aqui no github e forneça detalhes de preferência com a documentação.
  4. Para contribuir com regras, também é importante que cada regra contenha uma boa descrição de seu objetivo. Quando um usuário clica em uma regra na GUI do firewall, ele deseja ver do que se trata essa regra e concluir facilmente se deve ativar / desativar a regra ou permitir / bloquear o tráfego.
  5. Também é importante que uma regra seja muito específica e não genérica, o que significa especificar protocolo, endereços IP, portas, usuário do sistema, tipo de interface e outras informações relevantes.
    por exemplo, apenas dizendo: permitir a porta de saída TCP 80 para qualquer endereço ou usuário ou nenhuma explicação, o que é permitido ou bloquear com isso não é aceitável.

Mais informações e ajuda
Dentro da pasta Leia-me, você encontrará informações muito úteis, não apenas sobre este projeto, mas também informações gerais sobre como solucionar problemas de firewall e rede, ou coletar informações mais relevantes.
Pode responder a algumas de suas perguntas, você deve ler!
btw. É recomendável que você leia esses documentos aqui no github por causa da formatação e capturas de tela.