Como todo administrador de sistema Windows deve saber em 2019, o serviço "Firewall do Windows" é um componente crítico da pilha de rede do Windows e nunca deve ser interrompido e desabilitado ; a maneira correta de permitir o fluxo de tráfego de/para um servidor Windows é configurar o firewall para permitir a passagem de qualquer coisa, mas sem interromper o serviço de Firewall do Windows; na verdade, não só isso não é suportado pela Microsoft, mas pode levar a qualquer tipo de problema de rede estranho.
Isso é até (um pouco) explicitamente mencionado na documentação :
Não desative o Firewall do Windows interrompendo o serviço. Em vez disso, use um dos procedimentos anteriores (ou uma configuração de Diretiva de Grupo equivalente) para desativar o firewall. [...] Interromper o serviço associado ao Firewall do Windows com Segurança Avançada não é suportado pela Microsoft.
Agora, eu tenho um monte de servidores onde os administradores de sistema anteriores achavam que desabilitar o serviço de Firewall do Windows era uma boa ideia, e assim eles fizeram. Preciso reativá-lo, mas assim que faço isso, perco imediatamente a conectividade de rede com os sistemas (porque é claro que ninguém se preocupou em configurar o Firewall do Windows para permitir a entrada de coisas como RDP); Também não consigo alterar manualmente a configuração do Firewall do Windows antes de reiniciar o serviço, seja via GUI ou via netsh
, porque ambas as ferramentas reclamam que o serviço do Firewall do Windows está parado e, portanto, não me permitem configurar nada.
Até agora, a única abordagem viável foi usar o console físico (ok, virtual) desses servidores para reativar o serviço de Firewall do Windows e, em seguida, definir as exceções de firewall apropriadas (ou permitir todo o tráfego); no entanto, isso é inviável para um grande número de sistemas ou se você não tiver acesso ao console.
Como posso configurar o Firewall do Windows para aceitar todas (ou algumas) conexões de entrada quando o serviço está inativo e antes de reiniciá-lo ?
Pode ser uma ideia muito idiota, mas, se você sabe qual regra precisa criar via netsh depois de reiniciar o serviço, por que não fazer um script? Escreva um script que iniciará o serviço de Firewall do Windows, então o próximo comando seria o netsh que permite tudo (ou pelo menos RDP para que você possa acessar remotamente e fazer os ajustes posteriormente)
Outra alternativa seria definir as configurações de firewall necessárias com antecedência usando a política de grupo. Mesmo que o servidor não seja um membro do domínio, você ainda poderá usar a política de grupo local.
No entanto, não tenho certeza se as configurações entrariam em ação imediatamente nesse cenário. Eles só podem entrar em vigor na próxima atualização da política de grupo. Claro, você pode escrever um script que inicia o firewall e, em seguida, atualiza a política de grupo.
Sempre que mexo com firewalls remotamente, certifico-me de configurar um backdoor. Eu fui mordido por isso algumas vezes, então eu sempre faço isso primeiro.
Você pode fazer isso instalando o hamachi (ou seu software vpn favorito) no servidor e o tightvnc (ou seu software de administração remota favorito) no servidor e na estação de trabalho da qual você está fazendo todo o trabalho. O Hamachi é extremamente fácil de configurar e a conta gratuita permite até 5 nós.
Antes de fazer QUALQUER alteração em seu firewall, certifique-se de que você pode acessar o servidor através do backdoor recém-criado.
Quando terminar de ajustar as regras de firewall, você pode remover o hamachi e o tightvnc, ou o que você instalou antes disso.
Outra opção é ver se você pode acessar o miniaplicativo de serviços do servidor em questão através de outro computador na mesma rede (por exemplo, conectar-se remotamente ao outro computador e ver se você pode fazer trabalho administrativo a partir dele). Portanto, se até mesmo o hamachi estiver bloqueado pelo firewall do Windows, você poderá interrompê-lo por meio de uma estação de trabalho.
Dito tudo isso, acho que você pode configurar as regras do seu firewall com o firewall desligado e ativá-lo. Mas "coisas" acontecem, então eu ainda teria uma alternativa para interagir com o servidor caso algo não funcione como você esperava.
Alex