5 comandos úteis para dominar a firewall do Linux
Tal como outros sistemas operativos, as distribuições Linux incluem uma firewall que permite controlar o tráfego de entrada e de saída do dispositivo, mais concretamente da placa de rede. A ferramenta de linha de comandos firewall-cmd é um "front-end" para gerir o daemon firewalld. Conheça 5 comandos úteis para dominar a firewall do Linux.
Todos nós temos a noção que é importante dispormos de mecanismos de segurança nos nossos PC. Para quem é utilizador do Linux certamente que já ouviu falar do daemon firewalld... mas provavelmente nunca mexeu neste mecanismo.
O firewalld é um software de gestão de firewall disponível em muitas distribuições do Linux, que permite o controlo de tráfego por zonas. A ferramenta firewall-cmd permite a gestão da firewall disponível na linha de comandos.
Comandos para gerir a firewall do Linux
Com os comandos que apresentamos a seguir, poderá fazer uma gestão efetiva da firewall da sua distribuição Linux.
1 - Listar todas as zonas
Usando o seguinte comando é possível ver a informação sobre todas as zonas configuradas na firewall. As zonas definem o tipo de tráfego que é permitido, baseado no nível de confiança da rede onde a sua máquina está ligada. Para ver informação sobre todas as zonas use o comando firewall-cmd --list-all-zones.
2 - Serviços permitidos na firewall
Para mostrar os serviços atualmente permitidos no seu sistema, use o comando firewall-cmd --list-services. Para listar as portas lógicas abertas no sistema use o comando firewall-cmd --list-ports.
3 - Abrir todos os portos necessários para um serviço
Também é possível abrir todos os portos lógicos necessárias para um serviço usando a opção –add-service. Por exemplo, para abrir o acesso a todos os clientes via HTTP à zona pública basta que use o comando firewall-cmd --zone=public --add-service=http.
Para listar todos os serviços que estão configurados na zona pública deve usar o comando firewall-cmd --zone=work --list-services.
Nota: Se necessitar de fazer uma configuração permanente na firewall use o comando firewall-cmd --permanent --zone=public --add-service=http.
No final reinicie a firewall usando o comando systemctl restart firewalld. Desta forma as alterações são realizadas nos ficheiros de configuração da firewalld e não apenas de forma temporária.
4 - Permitir tráfego de entrada para um porto especifico
Se pretenderem permitir tráfego para um porto especifico devem usar o comando firewall-cmd --add-port=[PORT]/tcp. Por exemplo, firewall-cmd --add-port=2244/tcp para a passagem de tráfego TCP para o porto 2244.
Se necessitar de realizar uma configuração permanente, não se esqueça de usar no comando --permanent. Para listar todos os portos configurados, use o comando firewall-cmd –-list-ports.
5 - Arrancar e parar serviço e ver estado
Os três principais comandos para controlar o serviço são:
- systemctl start firewalld.service (Para arrancar o serviço)
- systemctl stop firewalld.service (Para parar o serviço)
- systemctl status firewalld.service (Para ver o estado do serviço)
E são estes os comandos que deve saber para conseguir dominar a firewall do Linux. Em próximos tutoriais explicaremos mais ao detalhe como funcionam as zonas. Estejam atentos. Se tiverem outras sugestões, deixem nos comentários.
Este artigo tem mais de um ano
E porque é que alguém preferiria usar isto ao nftables?
O que acrescenta isto para que seja preferível a algo nativo como o nftables?
É que ainda se poderia dizer que isto seria uma camada de UX para tornar mais acessível a configuração de uma iptables, mas o nftables foi criado precisamente para tornar a configuração de uma firewall o mais próximo de um script que qualquer tipo consegue entender, sendo que até existe a possibilidade de usar usar python.
É querer usar uma camada de complicação desnecessária.
Conhecia era o iptables.
O nftables referido pelo @pardal é o sucessor do iptables/ip6tables/arptables/ebtables/ipset.
O firewall-cmd referido neste artigo é um “front-end” para configurações rápidas da firewall (na prática “escreve” regras que nftables aplica).
Em versões “caseiras” de Linux o firewall-cmd chega perfeitamente.
Em servidores é aconselhável usar o nftables já que permite uma outra complexidade/profundidade na definição das regras.
A firewall ufw é muito mais fácil de usar do que firewalld.