Configuração e Uso do Firewalld no Linux

Introdução ao Firewalld

O Firewalld é uma ferramenta de gerenciamento de firewall padrão em distribuições Linux baseadas em systemd, como o CentOS 7 e superior. Ele substitui o iptables como principal gerenciador de firewall, operando na camada de rede para filtrar pacotes com base em regras dinâmicas.

Comparação entre Firewalld e Iptables

Enquanto o iptables configura regras diretamente asociadas a interfaces de rede, resultando em configurações estáticas, o Firewalld utiliza um modelo baseado em zonas para aplicar políticas de segurança. O Firewalld armazena configurações em arquivos XML em diretórios como /etc/firewalld/ e /usr/lib/firewalld/, permitindo alterações em tempo real sem reiniciar o serviço, ao contrário do iptables, que exige a recarga completa das regras.

Conceito de Zonas no Firewalld

As zonas no Firewalld são grupos de regras que determinam como o tráfego de rede é tratado com base na origem ou na interface. Cada zona tem um nível de confiança específico, como trusted (permite todo o tráfego) ou drop (descarta pacotes sem resposta). A zona padrão, geralmente public, é aplicada a todas as interfaces não associadas explicitamente a outra zona.

Processamento de Dados

O fluxo de dados segue uma hierarquia: primeiro, verifica-se se o endereço IP de origem está vinculado a uma zona; caso contrário, usa-se a zona associada à interface de entrada; se não houver associação, aplica-se a zona padrão. Isso garante flexibilidade na definição de políticas de segurança.

Métodos de Configuração do Firewalld

As configurações podem ser temporárias (ativas imediatamente) ou permanentes (aplicadas após recarga ou reinício do serviço). Utilitários como firewall-cmd (linha de comando) e firewall-config (interface gráfica) simplificam o gerenciamento.

Utilizando o Firewall-cmd

O firewall-cmd oferece opções para gerenciar zonas, serviços e portas. Exemplos de comandos adaptados para maior clareza:

# Exibir zona ativa atual
firewall-cmd --get-active-zones

# Adicionar serviço HTTP à zona work
firewall-cmd --zone=work --add-service=http

# Remover porta 8080 da zona dmz (protocolo TCP)
firewall-cmd --zone=dmz --remove-port=8080/tcp

# Listar todas as regras da zona external
firewall-cmd --zone=external --list-all

# Tornar configurações permanentes (recarrega regras existentes)
firewall-cmd --runtime-to-permanent

# Definir zona padrão como home
firewall-cmd --set-default-zone=home

Gerenciamento de Zonas

Para associar uma interface a uma zona, use comandos como firewall-cmd --zone=trusted --add-interface=eth0. Para desvincular, utilize --remove-interface.

Controle de Serviços e Portas

Adicione serviços como SSH ou HTTP com --add-service, ou portas específicas com --add-port. Para efeito permanente, adicione a opção --permanent e execute firewall-cmd --reload.

Exemplos Práticos

Exemplo de configuração para permitir tráfego SSH em uma zona específica:

# Vincular IP 192.168.1.100 à zona public
firewall-cmd --zone=public --add-source=192.168.1.100

# Permitir serviço SSH na zona public (configuração permanente)
firewall-cmd --zone=public --add-service=ssh --permanent

# Recarregar regras para aplicar mudanças permanentes
firewall-cmd --reload

Tags: firewalld iptables firewall-cmd Linux zonas de firewall

Publicado em 7-11 19:57