===== Exemplos do comando firewalld ===== ==== Nível Básico ==== * **Verificar o status do `firewalld`:** - sudo firewall-cmd --state - Verifica se o serviço `firewalld` está ativo ou inativo. * **Iniciar o serviço `firewalld`:** - sudo systemctl start firewalld - Inicia o serviço `firewalld`. * **Ativar o `firewalld` para iniciar no boot:** - sudo systemctl enable firewalld - Ativa o serviço para iniciar automaticamente no boot. * **Listar todas as zonas ativas e suas interfaces:** - sudo firewall-cmd --get-active-zones - Mostra todas as zonas ativas e as interfaces de rede atribuídas a cada zona. * **Listar os serviços permitidos em uma zona:** - sudo firewall-cmd --list-services --zone=public - Lista todos os serviços permitidos na zona `public`. * **Permitir temporariamente o tráfego HTTP (porta 80):** - sudo firewall-cmd --add-service=http - Permite o tráfego HTTP (porta 80) temporariamente (até o próximo reload ou reboot). * **Remover temporariamente o tráfego HTTP:** - sudo firewall-cmd --remove-service=http - Remove a permissão para tráfego HTTP (porta 80) temporariamente. ==== Nível Intermediário ==== * **Permitir permanentemente o tráfego SSH (porta 22):** - sudo firewall-cmd --add-service=ssh --permanent - Permite o tráfego SSH na porta `22` de forma permanente. * **Adicionar uma porta específica para tráfego TCP ou UDP:** - sudo firewall-cmd --add-port=8080/tcp - Permite o tráfego na porta `8080` para o protocolo `TCP`. * **Remover uma porta aberta:** - sudo firewall-cmd --remove-port=8080/tcp - Remove o acesso à porta `8080` via protocolo `TCP`. * **Recarregar as configurações de firewall sem interromper conexões:** - sudo firewall-cmd --reload - Recarrega as regras do firewall sem derrubar conexões ativas. * **Verificar se uma porta está aberta em uma zona específica:** - sudo firewall-cmd --zone=public --query-port=8080/tcp - Verifica se a porta `8080` está aberta na zona `public`. * **Listar as zonas e configurações ativas:** - sudo firewall-cmd --list-all - Lista todas as configurações da zona ativa padrão, incluindo serviços, portas e interfaces permitidas. * **Bloquear permanentemente um endereço IP:** - sudo firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.1.100" reject' --permanent - Bloqueia permanentemente o tráfego do endereço IP `192.168.1.100`. * **Permitir permanentemente uma faixa de IPs:** - sudo firewall-cmd --add-source=192.168.1.0/24 --zone=public --permanent - Permite permanentemente o tráfego de uma faixa de IPs (`192.168.1.0/24`) na zona `public`. ==== Nível Avançado ==== * **Criar uma nova zona personalizada:** - sudo firewall-cmd --new-zone=zona-personalizada --permanent - Cria uma nova zona chamada `zona-personalizada`. * **Atribuir uma interface de rede a uma zona específica:** - sudo firewall-cmd --zone=public --change-interface=eth0 - Atribui a interface `eth0` à zona `public`. * **Permitir tráfego de um serviço específico apenas em uma zona:** - sudo firewall-cmd --zone=home --add-service=samba --permanent - Permite permanentemente o tráfego para o serviço `Samba` apenas na zona `home`. * **Aplicar uma regra de rich-rule para aceitar tráfego HTTP apenas de um IP específico:** - sudo firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.1.50" service name="http" accept' --permanent - Permite o tráfego HTTP (porta 80) apenas do IP `192.168.1.50`. * **Configurar um port forwarding (redirecionamento de porta):** - sudo firewall-cmd --zone=public --add-forward-port=port=80:proto=tcp:toport=8080 --permanent - Redireciona o tráfego TCP da porta `80` para a porta `8080` na zona `public`. * **Listar todos os serviços disponíveis no `firewalld`:** - sudo firewall-cmd --get-services - Exibe uma lista de todos os serviços disponíveis que podem ser permitidos ou bloqueados no firewall. * **Remover uma zona personalizada:** - sudo firewall-cmd --delete-zone=zona-personalizada --permanent - Remove a zona `zona-personalizada` do `firewalld` de forma permanente. * **Visualizar a zona associada a uma interface específica:** - sudo firewall-cmd --get-zone-of-interface=eth0 - Exibe a zona atual associada à interface `eth0`. ==== Nível Especializado ==== * **Criar e aplicar uma regra de rich-rule com base em horário:** - sudo firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.1.100" service name="ssh" log prefix="SSH-Access" time daytime start="08:00" stop="18:00" accept' --permanent - Permite o acesso SSH (porta 22) do IP `192.168.1.100` apenas entre 08:00 e 18:00, registrando cada tentativa no log. * **Bloquear pacotes ICMP (ping) de uma zona específica:** - sudo firewall-cmd --zone=public --add-icmp-block=echo-request --permanent - Bloqueia pacotes ICMP `echo-request` (ping) na zona `public`. * **Ativar masquerading (NAT) para compartilhamento de internet:** - sudo firewall-cmd --zone=public --add-masquerade --permanent - Ativa o masquerading na zona `public` para realizar NAT (compartilhamento de internet). * **Desativar masquerading:** - sudo firewall-cmd --zone=public --remove-masquerade --permanent - Remove a regra de masquerading na zona `public`. * **Permitir múltiplos serviços de uma só vez:** - sudo firewall-cmd --add-service={http,https,ftp} --permanent - Permite permanentemente os serviços `http`, `https` e `ftp` com um único comando. * **Monitorar alterações em tempo real no `firewalld`:** - sudo firewall-cmd --watch - Monitora alterações no firewall em tempo real, mostrando modificações na configuração do firewall. * **Desativar completamente o `firewalld`:** - sudo systemctl stop firewalld
sudo systemctl disable firewalld - Para e desativa o `firewalld` para que ele não inicie automaticamente no boot. * **Restaurar as configurações de fábrica do `firewalld`:** - sudo firewall-cmd --complete-reload - Restaura todas as configurações do firewall para o estado padrão.