Configurando firewall Linux com UFW e IPTables: Guia completo, avançado e analítico

Por
Emanuel Negromonte
Fundador do SempreUPdate. Acredita no poder do trabalho colaborativo, no GNU/Linux, Software livre e código aberto. É possível tornar tudo mais simples quando trabalhamos juntos, e...

Segurança de rede começa com um firewall bem configurado — domine UFW e IPTables no Linux com profundidade profissional!

Configurando Firewall Linux é uma etapa essencial na blindagem de servidores e estações de trabalho. Em ambientes baseados em Linux, duas ferramentas dominam esse cenário: IPTables, a solução nativa e altamente granular, e UFW (Uncomplicated Firewall), uma interface simplificada que facilita o uso do IPTables sem sacrificar a segurança. Este artigo oferece uma análise milimetricamente aprofundada sobre essas ferramentas, com foco em segurança Linux, cenários avançados, boas práticas e comparações técnicas para ajudar administradores a tomar decisões informadas.

O que é um firewall e por que ele é indispensável no Linux?

Um firewall atua como um porteiro do seu sistema. Ele regula quem entra, quem sai e quem nem chega perto. No Linux, esse papel é especialmente importante em servidores expostos à internet ou redes corporativas.

Conceito para Iniciantes

Imagine seu computador como um prédio. As portas (como a 22 para SSH, 80 para HTTP) são os apartamentos. O firewall é o porteiro que decide quem pode entrar em qual apartamento. Ele se baseia em regras, como “só permitir visitas ao apto 80 das 9h às 18h”. Essa analogia simplifica o entendimento das:

  • Portas: entradas e saídas para serviços.
  • Protocolos: como cartas entregues via Correios (TCP) ou Sedex (UDP).
  • Cadeias (chains): regras para entrada (INPUT), saída (OUTPUT) e tráfego entre redes (FORWARD).

IPTables: O coração complexo do firewall Linux

Como funciona?

O IPTables é uma ferramenta do kernel Linux baseada no framework netfilter. Ele processa pacotes de rede por meio de tabelas e cadeias (chains).

Tabelas comuns:

TabelaFunção
filterPadrão. Define regras de aceitação ou bloqueio.
natLida com redirecionamento e tradução de endereços.
mangleModifica pacotes (ex: definir TOS, TTL).
rawProcessa pacotes antes do rastreamento de conexões (conntrack).

Cadeias comuns:

ChainAção
INPUTTráfego que chega ao sistema.
OUTPUTTráfego gerado localmente.
FORWARDTráfego que atravessa o sistema (roteamento).
PREROUTINGManipula pacotes antes de decidir o destino.
POSTROUTINGManipula pacotes antes de sair da máquina.

Sintaxe básica e comandos avançados

# Exibir regras
sudo iptables -L -n -v

# Bloquear IP específico
sudo iptables -A INPUT -s 192.168.1.100 -j DROP

# Permitir acesso à porta 22 (SSH)
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT

# Redirecionar tráfego da porta 80 para 8080 (DNAT)
sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080

Pontos fortes e desafios

Vantagens:

  • Controle absoluto e granular.
  • Suporte a NAT, roteamento e marcações complexas.
  • Integração com ipset e conntrack.

Desvantagens:

  • Curva de aprendizado íngreme.
  • Complexidade em ambientes dinâmicos.
  • Dificuldade de manutenção manual.

UFW: A simplicidade eficaz para configurando firewall Linux

O que é o UFW?

O UFW (Uncomplicated Firewall) é um wrapper para o IPTables criado para tornar a configuração mais intuitiva.

Comandos básicos

# Ativar UFW
sudo ufw enable

# Permitir SSH
sudo ufw allow ssh

# Bloquear porta específica
sudo ufw deny 23

# Ver regras ativas
sudo ufw status verbose

Ponto a ponto: vantagens e limitações

Vantagens:

  • Sintaxe amigável.
  • Ideal para iniciantes e ambientes desktop/servidores pequenos.
  • Configuração rápida e persistente.

Limitações:

  • Menor granularidade.
  • Menor controle sobre NAT e tráfego roteado.
  • Menor flexibilidade para ambientes com múltiplas interfaces.

Configurando firewall Linux: Boas práticas essenciais

1. Políticas padrão seguras

# IPTables
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP

# UFW
ufw default deny incoming
ufw default allow outgoing

2. SSH seguro

  • Alterar porta SSH no /etc/ssh/sshd_config.
  • Restringir IPs com UFW ou IPTables:
ufw allow from 192.168.1.10 to any port 2222
iptables -A INPUT -p tcp --dport 2222 -s 192.168.1.10 -j ACCEPT

3. Proteção contra ataques

  • Port scanning: bloquear ping (icmp) e limitar conexões:
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT
  • Fail2Ban: bloqueio automático após tentativas maliciosas (ver seção abaixo).

Cenários avançados com UFW e IPTables

Servidor web (HTTP/HTTPS)

ufw allow 80/tcp
ufw allow 443/tcp

Banco de dados (PostgreSQL)

ufw allow from 192.168.1.0/24 to any port 5432 proto tcp

NAT com IPTables

# Redirecionar porta externa 80 para 8080 interna
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.1.100:8080

Uso de ipset para grandes listas

ipset create blacklist hash:ip
ipset add blacklist 192.168.0.100
iptables -A INPUT -m set --match-set blacklist src -j DROP

Containers (Docker/KVM)

Docker manipula IPTables diretamente. Use --iptables=false no daemon e configure manualmente se quiser controle total.

UFW vs IPTables: Quando usar cada um?

ufw vs iptables
Configurando firewall Linux com UFW e IPTables: Guia completo, avançado e analítico 3
CritérioIPTablesUFW
Nível de controleAvançado e granularBásico a intermediário
Curva de aprendizadoAltaBaixa
Uso em produçãoIdeal para servidores críticosIdeal para uso pessoal e rápido
Integração com NATTotal (com PREROUTING/POSTROUTING)Limitada
Facilidade de manutençãoDifícil sem scripts ou interfacesSimples com comandos diretos

Ferramentas complementares para segurança Linux

  • Fail2Ban: bloqueia IPs após falhas repetidas de login.
  • Nmap: escaneia portas e ajuda na auditoria de firewalls.
  • Auditd: monitora eventos de segurança no sistema.
  • Firewalld: alternativa moderna ao IPTables.

Conclusão

Configurando Firewall Linux é mais do que ativar ou bloquear portas. Trata-se de arquitetar uma política de segurança coerente com os objetivos e os riscos do ambiente. O IPTables oferece o controle absoluto, enquanto o UFW proporciona acessibilidade e velocidade para quem quer proteção com simplicidade. Dominar ambos é essencial para qualquer administrador de sistemas que busca excelência em segurança Linux.

Compartilhe este artigo