Gerenciando regras de firewall com o PowerShell no Windows
O Windows contém um firewall avançado robusto, porém fácil de usar, e, usando o PowerShell 7, podemos configurar facilmente o firewall na linha de comando. Este artigo aborda comandos comuns usados no Firewall do Windows e onde eles podem ser usados.
O módulo NetSecurity está bem documentado. Lembre-se de que este artigo se aplica apenas ao sistema operacional Windows. Para outros sistemas operacionais, existem outras ferramentas de linha de comando que podem ser usadas para executar o mesmo tipo de funções, como UFW ou IPTables no Linux.
Carregando o módulo NetSecurity
O módulo NetSecurity, embutido e oferecido pela Microsoft, contém todas as funcionalidades necessárias para adicionar, remover e modificar regras de firewall. Para carregar o módulo, basta importar o módulo como mostrado abaixo.
Módulo de importação -Nome 'NetSecurity'
Listar regras de firewall existentes
O cmdlet Get-NetFirewallRule mostrará todas as regras de firewall existentes. Existem muitos, por padrão, para demonstrar, produzimos o primeiro 10.
Get-NetFirewallRule | Nome de exibição do objeto de seleção, Habilitado, Direção, Ação - 10 primeiros
Existem muitas propriedades retornadas pelo Get-NetFirewallRule. Embora listemos apenas as propriedades acima, executando Get-NetFirewallRule | O Select-Object * - First 1, listará todos os disponíveis.
Crie uma nova regra de firewall
Existem várias maneiras diferentes de criar uma nova regra de firewall, mas o comando que faz isso é [Net-NewFirewallRule] (< https: //docs. microsoft. com/en-us/powershell/module/netsecurity/new -netfirewallrule? view = win10-ps >). As propriedades básicas que precisam ser preenchidas são:
- DisplayName – O nome amigável da regra do firewall
- Direção – Se você deve bloquear o tráfego que sai do computador ou entra no computador de entrada
- Ação – Que ação a ser tomada se a regra for atendida, Permitir ou Bloquear
$ Params = @ {"DisplayName" = 'Bloquear WINS' "Direction" = 'Entrada' "Action" = 'Bloquear' "RemoteAddress" = 'WINS'}
New-NetFirewallRule @Params Se o parâmetro Name não for usado, um GUID aleatório será usado. O DisplayName pode ser legível por humanos, mas o próprio nome atribuiu um GUID aleatório.
Modifique uma regra de firewall existente
E se quisermos modificar uma regra existente sem remover e recriar completamente a regra. Para fazer isso, devemos executar o Set-NetFirewallRule e nos permitirá modificar a regra do firewall conforme necessário.
$ Params = @ {"DisplayName" = 'Bloquear WINS' "Ação" = 'Permitir'} Set-NetFirewallRule @Params
Outras habilidades úteis que o Set-NetFirewallRule possui é a capacidade de operar em várias regras ao mesmo tempo. Isso pode ser feito localizando regras por um dos três parâmetros.
- NameEste é o padrão e, se os nomes forem definidos por meio do pipeline ou de uma matriz de strings, cada um deles atuará.
- DisplayNameSimilar a Name, vários objetos em pipeline ou uma matriz de strings os modificarão. regras de acordo.
- DisplayGroup ou GroupIf as regras são agrupadas, todas essas regras agrupadas podem ser usadas de uma só vez.
Remover uma regra de firewall existente
Finalmente, gostaríamos de remover a regra existente, pois ela pode não ser mais necessária. Para fazer isso, execute o comando Remove-NetFirewallRule. Quando você faz isso, geralmente é aconselhável usar o parâmetro WhatIf para verificar se a regra é a correta para remover.
Remove-NetFirewallRule -DisplayName "Bloquear WINS"
É importante observar que o Remove-NetFirewallRule pode remover várias regras ao mesmo tempo. Um exemplo desse tipo de funcionalidade está abaixo. A regra abaixo removerá todas as regras desabilitadas contidas na política firewall_gpo no domínio ad. local. test.
Remove-NetFirewallRule -abled 'False' -PolicyStore 'ad. local. test \\ firewall_gpo'
Um comando útil, mas potencialmente perigoso, está executando o Remove-NetFirewallFule por si só, que remove todas as regras de firewall local estáticas que foram criadas. Se você tiver um GPO de domínio que defina regras de firewall, isso removerá qualquer que possa entrar em conflito com essas regras definidas por GPO.
Funcionalidade adicional
Existem muitos outros comandos disponíveis no módulo NetSecurity. Embora não abordemos todos aqui, alguns comandos notáveis são mostrados abaixo para demonstrar a extensão do módulo.
- Copy-NetFirewallRuleEste comando copiará uma regra de firewall existente e todos os filtros associados para o mesmo ou para outro repositório de políticas.
- Disable-NetFirewallRuleIsto desativará uma regra de firewall ativada anteriormente. A regra ainda existirá, mas não modificará ativamente nenhum dado de rede. Se você executar este comando sem nenhum parâmetro, ele desativará todas as regras ativas no computador de destino. É recomendável sempre executar esse comando com o parâmetro WhatIf, se não estiver direcionado a uma regra ou conjunto de regras específico.
- Enable-NetFirewallRuleComo o Disable-NetFirewallRule, esse comando habilitará uma regra ou conjunto de regras anteriormente desabilitado. Se esse comando for executado sem nenhum parâmetro, habilitará todas as regras desabilitadas anteriormente. É recomendável sempre executar esse comando com o parâmetro WhatIf, se não estiver direcionado a uma regra ou conjunto de regras específico.
- Get-NetFirewallProfileEste comando mostra as opções atualmente configuradas para um perfil especificado, como os perfis Domínio, Privado ou Público.
- Get-NetFirewallSettingAs configurações globais do firewall podem ser recuperadas usando o comando Get-NetFirewallSetting. Essas configurações incluem opções como opções de certificado, fila de pacotes ou listas de autorização.
- Renomear-NetFirewallRulePara renomear uma regra de firewall existente, use o comando Rename-NetFirewallRule. Isso é útil se uma regra foi criada sem um nome especificado, recebendo, assim, um GUID aleatório como o nome e é preferível ter um nome legível por humanos atribuído.
- Set-NetFirewallProfilePara definir configurações específicas para perfis individuais, use o comando Set-NetFirewallProfile. Isso permite que cada perfil tenha configurações distintas.
- Set-NetFirewallSettingThis comando configura comportamentos globais de firewall que se aplicam independentemente do perfil de rede atualmente em uso.
- Show-NetFirewallRuleEste comando auxiliar mostrará as regras do firewall e seus objetos associados em uma lista formatada.
Há uma extensa funcionalidade IPSec contida no módulo. Os comandos listados acima são aqueles que operam nas configurações padrão do Firewall do Windows.
Conclusão
Existem muitos comandos disponíveis para gerenciar o Firewall do Windows. Este artigo aborda apenas alguns deles, principalmente os comandos mais importantes para listar, criar, modificar e remover rapidamente regras de firewall. Até configurações complexas de firewall podem ser realizadas estritamente através da linha de comando usando o módulo NetSecurity PowerShell!
Via: How to Geek
Nenhum comentário