E foi lançado o Firewalld 2 com correções e melhorias, e muito mais. Confira as novidades desse update e veja como atualizar.
A maioria das distribuições Linux vem com seus próprios serviços de firewall pré-construídos, então o usuário geralmente não precisa intervir nessa parte. Mas as vezes é necessário algum tipo de configuração especial ou para o que mais o usuário desejar.
E é por isso que hoje vamos falar do Firewalld, que é um firewall dinâmico gerenciável, basicamente permite gerenciar o Firewall com suporte a zonas de rede para definir o nível de confiança das redes ou interfaces que você usa para se conectar.
Firewalld é um controlador de front-end para iptables e nftables usado para implementar regras de tráfego de rede persistentes. Além disso, ele possui suporte para configurações de ponte IPv4, IPv6 e ethernet.
O Firewalld é implementado como um wrapper sobre os filtros de pacotes nftables e iptables.
O Firewalld é executado como um processo em segundo plano que permite que as regras de filtragem de pacotes sejam alteradas dinamicamente via D-Bus sem precisar recarregar as regras de filtragem de pacotes e sem desconectar as conexões estabelecidas.
Para gerenciar o firewall, é usado o utilitário firewall-cmd, que, ao criar regras, não se baseia em endereços IP, interfaces de rede e números de porta, mas nos nomes dos serviços, por exemplo, para abrir o acesso ao SSH, para fechar SSH, entre outros.
A interface gráfica firewall-config (GTK) e o applet firewall-applet (Qt) também podem ser usados para alterar as configurações do firewall. O suporte para gerenciamento via firewall D-BUS API está disponível em projetos como NetworkManager, libvirt, podman, docker e fail2ban.
Além disso, o firewalld mantém uma configuração em execução e permanente separadamente. Assim, o firewalld também fornece uma interface para aplicativos adicionarem regras de maneira conveniente.
O modelo anterior (system-config-firewall/lokkit) era estático e cada alteração exigia uma reinicialização forçada. Isso significava ter que descarregar os módulos do kernel (por exemplo: netfilter) e recarregá-los a cada configuração.
Além disso, esse reinício significava perder as informações de status das conexões estabelecidas.
Por outro lado, o firewalld não requer uma reinicialização do serviço para aplicar uma nova configuração. Portanto, não é necessário recarregar os módulos do kernel.
O único inconveniente é que para que tudo isso funcione corretamente, a configuração deve ser feita através do firewalld e suas ferramentas de configuração (firewall-cmd ou firewall-config).
O Firewalld é capaz de adicionar regras usando a mesma sintaxe dos comandos {ip,ip6,eb}tables (regras diretas).
Atualmente, o Firewalld está em sua versão 2, que foi lançada recentemente.
Novidades do Firewalld 2
Há alguns dias foi anunciado o lançamento da nova versão do firewalld 2.0, que é uma versão importante que, além de marcar a mudança de ramo, o lançamento se deve à correção de problemas de política, além de melhorias no suporte e muito mais.
Conforme mencionado no início, esta versão é notável por introduzir alterações de política que violam a compatibilidade com versões anteriores e elimina o problema com regras de processamento que prescrevem o processamento de pacotes recebidos apenas em relação a uma zona em uma situação em que os intervalos de endereço se sobrepõem a outras zonas (se o intervalos de endereços nas zonas se sobrepõem, então o pacote pode cair em várias zonas, ignorando as regras especificadas).
Outras mudanças notáveis nesta nova versão do firewalld 2.0 é o suporte adicionado para nftables, que permite o uso do mecanismo de seleção do caminho de encaminhamento de pacotes da tabela de fluxo, que pode melhorar significativamente o desempenho do encaminhamento de tráfego.
Também podemos descobrir que a configuração NftablesCounters foi adicionada para usar contadores de pacotes nftables. O Firewalld com NftablesFlowtable ativado aumentou o desempenho do iperf com encaminhamento de rede em aproximadamente 59%.
Além disso, também podemos encontrar suporte para estabelecer diferentes prioridades para as zonas, o que permite ao usuário controlar a ordem em que os pacotes entram nas zonas.
Por outro lado, vale ressaltar que no Firewalld 2.0 foi retirado o serviço de cliente TFTP, que basicamente não funcionou como esperado, pois foi incorporado para permitir o acesso aos servidores. Que “nunca realmente funcionou” quando adicionado a uma zona.
Das outras mudanças que se destacam nesta nova versão:
- Serviços adicionados para suportar Zabbix Java Gateway e Zabbix Web Service.
- Adicione serviços compatíveis com Minecraft, 0AD, ano 1602, ano 1800, Civilization IV, Civilization V, fator, Need For Speed: Most Wanted, Stellaris, Stronghold Crusader, Super Tux kart, Terraria, Zero Ky Settlers.
- Serviço agregado para OpenTelemetry (OTLP).
- Além disso, as políticas ignoraram algumas regras de longa data sobre a área.
– As fontes são sempre enviadas antes das interfaces
– As fontes são ordenadas por nome de zona
Para saber mais sobre essa versão do Firewalld, acesse a nota de lançamento.
Como instalar ou atualizar
Finalmente para aqueles que estão interessados em poder instalar este Firewall, devem saber que o projeto já está em uso em muitas distribuições Linux, incluindo RHEL 7+, Fedora 18+ e SUSE/openSUSE 15+.
O código firewalld é escrito em Python e é lançado sob a licença GPLv2.
Então, para instalar a versão mais recente do Firewalld nas principais distribuições Linux que usam essa ferramenta, você só precisa manter seu sistema atualizado.