Sys Admin (ep. 01, parte 6) - Firewall (Firewalld - gestão de regras)
Na parte 6 do episódio 01 vamos falar do firewalld, sobre como gerir (adicionar, remover) regras de firewall usando o firewalld. Também iremos aprender como
visualizar configurações recentes, gerir regras avançadas para configurações
avançadas e entender diferenças entre configurações de tempo de execução e
permanentes. Até ao fim deste artigo teremos connosco habilidades básicas que podem
ajudar no controlo ao acesso à uma rede/sistema usando o firewalld.
Para quem vem acompanhando esta serié (Sys Admin), com certeza está a usar o
CentOS e a boa novidade aqui é que o firewalld já vem instaldo para nós, nos
poupando um pouco de trabalho. Para quem quer começar do zero, pode
desinstalar e reinstalar o firewalld seguindo os passos abaixo. Só para
lembrar que o sudo é opcional, uma vez que estamas a usar o usuário root.
Vamos verificar o estado do serviço firewalld. Ao verificar o estado do serviço, primeiro é possível perceber que o mesmo já está instalado, habilitado mas não inicializado.
Vamos verificar o estado do serviço firewalld. Ao verificar o estado do serviço, primeiro é possível perceber que o mesmo já está instalado, habilitado mas não inicializado.
Para inicializar o serviço, usamos o comando abaixo. Vamos então inicializar o
serviço e verificar o estado novamente.
Adicionar regras
Regras são adicionadas para permitir (também bloquer) tráfego. Vejamos o exemplo abaixo, onde o
tráfego é permitido para serviços HTTP e HTTPS.
Após adicionar, temos na saida success, indicando que a regra foi adicionada. E para que a regra tenha um efeito imediado, corremos o comando firewall-cmd --reload.
Permitir tráfego na entrada para uma porta personalizada (por exemplo, 8080
para um servidor web).
Remover regras (bloquear tráfego)
Remover a regra HTTP e HTTPS criadas anteriormente.
Após correr os 3 comandos, fazer o "reload" e por fim listar as regras, é possivel ver que as regras já não se encontram configuradas.
Bloquear tráfego de saída (substituindo regras OUTPUT do iptables). Na imagem
abaixo tem o exemplo de um comando que bloqueia todo tráfego de saída na porta
443 (HTTPS).
Vejamos este exemplo na prática. Na imagem abaixo corremos o comando para
listar regras no iptables e percebemos que ainda não tem nenhuma regra adicionada, o segundo passo é adicionar a regra da imagem acima e por fim listar regras novamente no iptables. É perceptível que esta regra foi adicionada
ao iptbales e não ao firewalld.
Permitir tráfego SSH para apenas um edereço IP em específico.
Rejeitar todas solicitações ICMP.
Permitir apenas tráfego TCP de um endereço IP específico numa porta específica.
Em alguns casos pode existir a necessidade de registar solicitaçõs ou todo
tráfego rejeitado, para por exemplo se fazer uma análise forense. O comando na imagem abaixo dá
uma ideia de como registar LOGs de solicitaçõs rejeitadas de um endereço IP em
específico.
Permitir ou rejeitar tráfego de um endereço MAC específico.
Uma nota importante aqui: para os exemplos onde o trafégo é permitido, também pode ser rejeitado ou bloqueado, desde que se troque o accept por
reject ou drop.
Outros comandos importantes.






























