Como desativo o Firewall do Windows 7 via script ou por meio de automação?

1

Isso se refere ao trabalho em máquinas antes de ingressar a máquina em um domínio e, embora eu adoraria confiar no GPO, isso não é uma opção no momento.

No ambiente em que estou trabalhando, a política de firewall é usar um aplicativo de firewall de terceiros a partir de um Total Endpoint Solution, por isso, tenho que desabilitar o padrão do Firewall do Windows para evitar conflitos. Eu faço isso usando um script que eu executo no final de um processo de imaginar ou manualmente em sistemas que eu não tenho re-imagem. Por um tempo, consegui gerenciar isso usando:

netsh advfirewall set allprofiles state off

No entanto, isso parou de funcionar por algum motivo. Então, descobri que precisava limpar a política de segurança local (manualmente):

Local Security Policy MSC > Windows Firewall with Advanced Security
Right-Click Windows Firewall with Advanced Security - Local Group Policy Object
Clear Policy

Este foi o script que usei para evitar fazer isso manualmente:

secedit /configure /db reset /cfg securityprofile

Uma combinação de ambas as etapas estava funcionando por cerca de um mês e, sem motivo aparente, parou de funcionar.

Comecei a testar um hack do registro para conseguir o que eu precisava, e isso está me dando resultados mistos. Eu tenho dois conjuntos de chaves com perfis que preciso alterar; para perfis locais:

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\WindowsFirewall]
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\WindowsFirewall\DomainProfile]
"EnableFirewall"=dword:00000000
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\WindowsFirewall\PrivateProfile]
"EnableFirewall"=dword:00000000
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\WindowsFirewall\PublicProfile]
"EnableFirewall"=dword:00000000

Para perfis de domínio:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\SharedAccess\Parameters\FirewallPolicy]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\SharedAccess\Parameters\FirewallPolicy\DomainProfile]
"EnableFirewall"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\SharedAccess\Parameters\FirewallPolicy\PublicProfile]
"EnableFirewall"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\SharedAccess\Parameters\FirewallPolicy\StandardProfile]
"EnableFirewall"=dword:00000000

O problema que estou tendo é que o Perfil Local continua a regenerar as configurações originais com o firewall ligado. Eu tentei:

  • a) Aplique os dois registros Hacks
  • b) Reinicie
  • Resultado na máquina recém-criada) sem sorte
  • Resultado na máquina antiga usada para teste) é bom ir

  • a) Aplique o Registro do Registro de Política Local

  • b) Reinicie
  • Resultado na máquina recém-criada) sem sorte
  • Resultado na máquina antiga usada para teste) é bom ir

  • a) use secedit para limpar a Política de Segurança Local

  • b) Aplicar os dois registros Hacks
  • c) Reinicie
  • Resultado na máquina recém-criada) sem sorte
  • Resultado na máquina antiga usada para teste) é bom ir

  • a) use secedit para limpar a Política de Segurança Local

  • b) Aplicar Hacks do Registro de Política Local
  • c) Reinicie
  • Resultado na máquina recém-criada) sem sorte
  • Resultado na máquina antiga usada para teste) é bom ir

Meu objetivo é desativar o Firewall do Windows por meio de script / automação. Alguma idéia?

Observação: isso é antes de ingressar as máquinas no domínio. Se eu limpar manualmente a Política de Segurança Local do MSC, os hacks de registro funcionarão. netsh ainda não funcionará e não quero ter que limpar manualmente a política para todas as máquinas com imagens.

    
por CIA 11.10.2013 / 21:45

3 respostas

2

Encontrou o problema. O MDT estava aplicando uma Política de Grupo Local no final de sua sequência de tarefas depois de instalar minha imagem, que desativava o acesso a qualquer alteração na política de segurança local, mesmo por administradores (por meio de comandos de prompt de comando, registro etc.). Isso é estranho, já que é uma política padrão que vem com o MDT. Independentemente disso, a remoção dessa sequência de tarefas permite que eu desative o firewall usando o netseh:

netsh advfirewall set allprofiles state off

Como nota; Eu concordo com todos que você não deve desativar seu serviço de firewall e você não deve desligar seu firewall.

    
por 15.10.2013 / 18:31
7

Gostaria de começar dizendo que recomendo strongmente que qualquer pessoa que desabilite o firewall do Windows aproveite o tempo para entender como ele funciona e como manipulá-lo por meio do GPO, em vez de simplesmente desativá-lo. Não há motivos para desativar um firewall baseado em host. A Microsoft faz excelentes ferramentas para gerenciar regras de firewall, você deve usá-las.

Este artigo do TechNet descreve a maneira correta de desativar o Firewall do Windows. Não desligue o serviço como os outros disseram, isso colocará seu servidor em uma configuração não suportada e causará falhas em vários cenários que são difíceis de solucionar.

No artigo do TechNet, a sintaxe netsh é

netsh advfirewall set profiles state off

onde os valores válidos para perfis são: AllProfiles, CurrentProfile, DomainProfile, PrivateProfile ou PublicProfile.

Parece que você já tentou esse comando exato e não está funcionando. Você também pressionou as chaves de registro que esse comando manipula. Com base no fato de que costumava funcionar e agora não funciona, e que essas máquinas não são associadas a um domínio no momento em que você está fazendo isso, há apenas uma conclusão:

Há algo em sua imagem que está sobrepujando isso. Fim da história. Uma vez que não temos a sua imagem para olhar, não há realmente nenhuma maneira de lhe dar uma correção específica, além de "você está fazendo certo e se não funcionar, algo na sua imagem está mal configurado"

Honestamente, se você tiver que executar secedit /configure /db reset /cfg securityprofile em suas imagens junto com todas essas outras coisas, talvez seja melhor criar uma nova imagem com tudo do jeito que você deseja.

    
por 11.10.2013 / 23:52
6

Errr, arrume seus GPOs e desative-o. Ou, no mínimo, crie um novo GPO no topo da pilha (precedência mais alta) e desative o firewall. Em seguida, volte e arrume seus outros GPOs mais tarde. A política de segurança local é substituída pelos GPOs, e a primeira área do registro em que você está gravando é especificamente para processamento de GPO.

Resposta curta ... Diretiva de Grupo. Resposta longa ... Diretiva de grupo. (desculpe!)

    
por 11.10.2013 / 21:57