Estou criando uma configuração de firewall do Windows somente com lista de permissões.
Tenho o Windows 10 no VMWare Workstation Pro 17, para experimentar.
Desativei todos:
netsh advfirewall set allprofiles firewallpolicy blockinbound,blockoutbound
netsh advfirewall firewall set rule all new enable=no
E habilitou alguns:
netsh advfirewall firewall set rule name="File and Printer Sharing (Echo Request - ICMPv4-In)" new enable=yes
netsh advfirewall firewall set rule name="Remote Desktop - User Mode (TCP-In)" new enable=yes
netsh advfirewall firewall set rule name="Core Networking - DNS (UDP-Out)" new enable=yes
netsh advfirewall firewall set rule name="Core Networking - Dynamic Host Configuration Protocol (DHCP-Out)" new enable=yes
netsh advfirewall firewall set rule name="File and Printer Sharing (SMB-Out)" new enable=yes
Não consigo fazer o DNS funcionar. Com um firewall padrão, posso fazer ping no meu host por nome ou IP. Quando restrinjo o firewall, só consigo usar IP.
Alguém poderia pensar que era apenas uma questão de habilitar uma das regras existentes. É fácil habilitar todas as regras existentes. Mas isso não fará diferença. (E há muitas regras que parecem DNS, SMB, NB etc.)
Alguém sabe o que devo habilitar ou adicionar no firewall, se eu quiser fazer ping no meu host Windows assim:
ping my-VMware-host
Hoje em dia, o TCP 53 também é recomendado para DNS. É o fallback se houver algum problema com a transmissão do pacote UDP e é usado para alguns tipos de consultas. Acredito que a MSFT esteja migrando para o TCP como o protocolo padrão para consultas DNS (com o UDP ainda disponível), mas não sei se esse é realmente o caso ainda ou quais versões do SO podem ser afetadas.
Bloquear todas as saídas é bem incomum. Eu sugeriria habilitar todas as regras no grupo Core Networking , tanto de entrada quanto de saída, que se aplicam a todos/quaisquer perfis (ou seja, não incluindo as regras Core Networking para o perfil "Domain", se sua máquina não estiver unida ao domínio).
Essas regras não são para acesso de aplicativo/serviço, mas mais para status de tráfego e coisas assim. Você pode identificá-las com o seguinte Powershell:
Se habilitar o TCP 53 não resolver o problema de DNS, eu definitivamente recomendo habilitar o acima e ver se isso ajuda. Se ajudar, deve ser fácil o suficiente para podar regras indesejadas de lá.
Além disso, se você não quiser se incomodar com a solução de problemas com uma ferramenta de captura de pacotes, você pode habilitar o log de texto "Dropped Packets" - o local padrão para o log é
%systemroot%\system32\LogFiles\Firewall\pfirewall.log
. As instruções para habilitá-lo (incluindo comnetsh advfirewall
comandos) estão no site da Microsoft .