Como Liberar uma Porta no Firewall do Windows Server

Liberar portas no Windows Server é essencial para permitir que aplicações e serviços se comuniquem através da rede. Este tutorial mostra como fazer isso via interface gráfica e PowerShell.

Avisos Importantes

  • Execute como Administrador todos os comandos
  • Anote as portas liberadas para controle de segurança
  • Libere apenas portas necessárias para minimizar riscos
  • Teste a conectividade após a configuração

Método 1: Passo a Passo Manual (Interface Gráfica)

Passo 1: Acessar o Firewall do Windows

  1. Pressione Windows + R e digite wf.msc
  2. Pressione Enter para abrir o “Firewall do Windows com Segurança Avançada”
  3. Ou vá para: Painel de Controle > Sistema e Segurança > Firewall do Windows Defender > Configurações Avançadas

Passo 2: Criar Nova Regra de Entrada

  1. No painel esquerdo, clique em “Regras de Entrada”
  2. No painel direito, clique em “Nova Regra…”
  3. Selecione “Porta” e clique em “Avançar”

Passo 3: Configurar o Protocolo e Porta

  1. Selecione o protocolo:
    • TCP para HTTP, HTTPS, FTP, SSH, etc.
    • UDP para DNS, DHCP, etc.
  2. Selecione “Portas locais específicas”
  3. Digite o número da porta (ex: 80, 443, 8080)
    • Para múltiplas portas: 80,443,8080
    • Para intervalo: 8000-8100
  4. Clique em “Avançar”

Passo 4: Definir Ação

  1. Selecione “Permitir a conexão”
  2. Clique em “Avançar”

Passo 5: Escolher Perfis

  1. Marque os perfis onde a regra será aplicada:
    • Domínio: Quando conectado a um domínio
    • Privado: Redes privadas (casa/escritório)
    • Público: Redes públicas (Wi-Fi público)
  2. Clique em “Avançar”

Passo 6: Nomear a Regra

  1. Digite um nome descritivo (ex: “Apache Web Server – Porta 80”)
  2. Adicione uma descrição opcional
  3. Clique em “Concluir”

Para Regras de Saída (Opcional)

Repita os mesmos passos, mas no Passo 2 clique em “Regras de Saída” em vez de “Regras de Entrada”.


Método 2: Scripts PowerShell Prontos

Script Completo para Liberar Porta

# Script para liberar porta no Windows Server
# Execute como Administrador

# Configurações (altere conforme necessário)
$Porta = 8080
$Protocolo = "TCP"  # TCP ou UDP
$Nome = "Aplicacao Web - Porta $Porta"
$Descricao = "Regra criada automaticamente para liberar porta $Porta"

Write-Host "=== Liberando Porta $Porta ($Protocolo) ===" -ForegroundColor Green

# Criar regra de entrada
Write-Host "Criando regra de entrada..." -ForegroundColor Yellow
New-NetFirewallRule -DisplayName "$Nome - Entrada" -Direction Inbound -Protocol $Protocolo -LocalPort $Porta -Action Allow -Description $Descricao

# Criar regra de saída (opcional)
Write-Host "Criando regra de saída..." -ForegroundColor Yellow
New-NetFirewallRule -DisplayName "$Nome - Saída" -Direction Outbound -Protocol $Protocolo -LocalPort $Porta -Action Allow -Description $Descricao

Write-Host "=== Porta $Porta Liberada com Sucesso ===" -ForegroundColor Green
Write-Host "Regras criadas: $Nome" -ForegroundColor Cyan

# Verificar se a porta está liberada
Write-Host "Verificando regras criadas..." -ForegroundColor Yellow
Get-NetFirewallRule -DisplayName "*$Nome*" | Select-Object DisplayName, Direction, Action, Enabled

Scripts Específicos por Situação

1. Liberar Porta Web (80, 443)

# Liberar portas web padrão
$PortasWeb = @(80, 443)
foreach ($Porta in $PortasWeb) {
    $Nome = "Web Server - Porta $Porta"
    New-NetFirewallRule -DisplayName "$Nome - Entrada" -Direction Inbound -Protocol TCP -LocalPort $Porta -Action Allow
    New-NetFirewallRule -DisplayName "$Nome - Saída" -Direction Outbound -Protocol TCP -LocalPort $Porta -Action Allow
    Write-Host "Porta $Porta liberada" -ForegroundColor Green
}

2. Liberar Múltiplas Portas

# Liberar múltiplas portas de uma vez
$Portas = @(8080, 8443, 9000, 9090)
$Protocolo = "TCP"
$NomeBase = "Aplicacao Personalizada"

foreach ($Porta in $Portas) {
    New-NetFirewallRule -DisplayName "$NomeBase - Porta $Porta" -Direction Inbound -Protocol $Protocolo -LocalPort $Porta -Action Allow
    Write-Host "Porta $Porta liberada" -ForegroundColor Green
}

3. Liberar Intervalo de Portas

# Liberar intervalo de portas
$PortaInicio = 8000
$PortaFim = 8100
$Nome = "Range de Portas $PortaInicio-$PortaFim"

New-NetFirewallRule -DisplayName $Nome -Direction Inbound -Protocol TCP -LocalPort "$PortaInicio-$PortaFim" -Action Allow
Write-Host "Intervalo de portas $PortaInicio-$PortaFim liberado" -ForegroundColor Green

4. Verificar Portas Liberadas

# Listar todas as regras de firewall ativas
Get-NetFirewallRule -Action Allow -Enabled True | Where-Object {$_.DisplayName -notlike "*Core*"} | Select-Object DisplayName, Direction, Action | Sort-Object DisplayName

5. Remover Regra Específica

# Remover regra por nome
$NomeRegra = "Aplicacao Web - Porta 8080"
Remove-NetFirewallRule -DisplayName "*$NomeRegra*"
Write-Host "Regras '$NomeRegra' removidas" -ForegroundColor Red
Gostou deste conteúdo?

Sua opinião é importante para nós!