Como instalar o Firewalld no Debian 12, 11 ou 10

Firewalld se destaca por sua abordagem dinâmica ao gerenciamento de firewall. Oferece adaptabilidade em tempo real, um recurso que o diferencia de ferramentas tradicionais como iptables e ufw. Essa flexibilidade em tempo real posiciona o Firewalld como a escolha preferida para usuários que valorizam segurança e facilidade de uso.

Principais vantagens do Firewalld:

  • Gerenciamento Baseado em Zona: O Firewalld emprega um sistema baseado em zona, com foco no gerenciamento de conexões centrado no usuário, diferentemente das operações por pacote do iptables.
  • Atualizações instantâneas: com o Firewalld, as alterações entram em vigor imediatamente sem a necessidade de reinicializações, ao contrário do iptables, que geralmente exige recarregamentos de serviço, potencialmente interrompendo conexões ativas.
  • Comandos fáceis de usar: A estrutura de comando do Firewalld é mais intuitiva que a do ufw, tornando-o incrivelmente fácil de usar para quem é novo nas configurações de firewall.
  • Documentação Abrangente: O Firewalld é apoiado por documentação completa e uma comunidade de usuários ativa, garantindo que os usuários tenham amplo suporte e recursos.
  • Integração perfeita com Debian: A combinação dos recursos dinâmicos do Firewalld com a renomada estabilidade do Debian oferece uma experiência incomparável para usuários de desktop e administradores de servidores.

Com o conhecimento básico, este guia irá orientá-lo na integração perfeita do Firewalld em seu sistema Debian.

Instale o Firewalld por meio de comandos de terminal

Atualize o Debian antes da instalação do Firewalld

Antes de iniciar qualquer nova instalação de software, atualizar o banco de dados de pacotes do sistema Debian é crucial com o seguinte comando:

sudo apt update

Este comando instrui o sistema a buscar os dados do pacote mais recente de todos os repositórios configurados.

Prossiga com a instalação do Firewalld via comando APT

Com as informações atualizadas do pacote do sistema, agora você pode instalar o Firewalld. O gerenciador de pacotes Debian, também conhecido como APT, simplifica esta tarefa. Para iniciar a instalação, execute o seguinte comando:

sudo apt install firewalld

Este comando informa ao gerenciador de pacotes para baixar e instalar o pacote de software Firewalld.

Confirme a instalação do Firewalld

Depois de instalar o Firewalld, verifique se você o instalou corretamente e configurou-o para funcionar adequadamente. Para visualizar a versão do Firewalld em seu sistema, use:

firewall-cmd --version

Este comando mostra o número da versão do Firewalld, confirmando sua instalação.

Agora, inicie o Firewalld e configure-o para ser executado quando o sistema inicializar. Use este comando:

sudo systemctl enable --now firewalld

Compreendendo as zonas do Firewalld

Nas “zonas” do firewalld, as regras de tráfego de rede são ditadas com base na confiabilidade da rede conectada, variando de configurações públicas não confiáveis ​​a redes domésticas privadas.

Vejamos alguns deles e o que eles significam em detalhes:

O papel das zonas no Firewalld:

  • O Firewalld opera usando o conceito de “zonas”.
  • Uma “zona” no Firewalld é essencialmente um conjunto predefinido de regras. Essas regras determinam o tipo de tráfego de rede permitido ou negado com base na confiabilidade da rede em que o computador está.

Exemplos de como funcionam as zonas:

  • Zona Pública: Esta zona foi projetada para redes em locais públicos, como cafés ou aeroportos. Você não pode confiar na maioria dos outros dispositivos nessas configurações, portanto as regras são mais restritivas para proteger o seu sistema.
  • Zona inicial: Esta zona pressupõe um ambiente mais seguro, como a sua casa. Aqui, você provavelmente conhece todos os dispositivos, então as regras são menos rigorosas, permitindo mais comunicação entre os dispositivos.

Lista de algumas zonas predefinidas comuns no Firewalld:

  • Derrubar: Descarta todos os pacotes recebidos sem qualquer resposta. Mais restritivo.
  • Bloquear: Semelhante a 'Drop', mas enviará uma resposta de rejeição à fonte.
  • Público: Para redes públicas e não confiáveis.
  • Externo: Usado quando seu sistema atua como gateway ou firewall.
  • DMZ (Zona Desmilitarizada): Para computadores na sua DMZ, ofereça acesso limitado a um computador isolado da Internet.
  • Trabalhar: Para ambientes de trabalho onde você confia em muitos usuários, mas ainda precisa de medidas de proteção.
  • Lar: Regras relaxadas para ambientes domésticos.
  • Interno: Para seções internas de uma rede pública ou privada.
  • Confiável: Todas as conexões de rede são aceitas. Menos restritivo.

Comandos comuns do Firewalld

Nesta seção, nos aprofundamos nos comandos do Firewalld usados ​​com mais frequência. Esses comandos são essenciais para gerenciar e definir a configuração do Firewalld, permitindo que você proteja seu ambiente Debian de forma eficaz.

Sintaxe e opções de comando do Firewalld

A sintaxe geral dos comandos do Firewalld é relativamente simples. A seguir, discutiremos a sintaxe e as opções para que você entenda melhor o que são.

Primeiro, a sintaxe dos comandos firewalld é a seguinte:

firewall-cmd [options] command

Aqui está uma breve explicação dos componentes de sintaxe:

  • firewall-cmd: Este é o comando principal usado para operações do Firewalld.
  • options: modificam o comportamento do comando. Eles são opcionais e podem ser omitidos.
  • command: Isso especifica qual operação você deseja executar.

Quando se trata de opções, o Firewalld oferece uma variedade. Alguns comumente usados ​​incluem:

  • --zone=zone: Especifica a zona na qual operar. Se nenhuma zona for especificada, a zona padrão será usada.
  • --add-service=service: adiciona o serviço especificado à zona. A alteração entra em vigor imediatamente, mas não é persistente nas reinicializações, a menos que --permanent Está adicionado.
  • --get-active-zones: lista todas as zonas atualmente ativas junto com suas interfaces associadas.
  • --get-services: lista todos os serviços disponíveis conhecidos pelo Firewalld.
  • --reload: Recarrega a configuração do Firewalld, implementando quaisquer alterações feitas com --permanent sem exigir uma reinicialização do sistema.

Para obter informações mais detalhadas, você sempre pode consultar a página de manual do Firewalld executando man firewall-cmd no seu terminal.

Listando todas as zonas ativas do Firewalld

Compreender quais zonas estão ativas na instalação do Firewalld fornece uma base sólida para gerenciar as configurações do firewall. Você pode recuperar essas informações com o seguinte comando:

sudo firewall-cmd --get-active-zones

Este comando solicita que o Firewalld liste todas as zonas ativas, cada uma acompanhada por suas interfaces de rede associadas.

Exibindo zona padrão

Para visualizar a zona padrão configurada em seu Firewalld, execute o seguinte comando:

sudo firewall-cmd --get-default-zone

A saída deste comando especifica a zona padrão, que é crucial para compreender as políticas e serviços de segurança padrão aplicados às conexões de rede de entrada.

Alterando a zona padrão

Para alterar a zona padrão, use o seguinte comando:

sudo firewall-cmd --set-default-zone=your_zone_name

Ao substituir your_zone_name com o nome real da zona, você altera a zona padrão da instalação do Firewalld.

Listando serviços em uma zona

Freqüentemente, você precisa saber quais serviços uma zona específica permite. Você pode conseguir isso usando:

sudo firewall-cmd --zone=your_zone_name --list-services

Basta substituir your_zone_name pelo nome da zona para a qual você deseja listar os serviços permitidos.

Adicionando um serviço a uma zona

Para adicionar um novo serviço a uma zona, use o seguinte comando:

sudo firewall-cmd --zone=your_zone_name --add-service=your_service_name

Com este comando, your_service_name é adicionado a your_zone_name. Certifique-se de substituir esses espaços reservados pelos nomes reais do serviço e da zona.

Comandos e cenários avançados do Firewalld

O Firewalld oferece um conjunto abrangente de comandos e recursos avançados que fornecem controle granular sobre as configurações do seu firewall. Vamos nos aprofundar nesses comandos, munindo você com o conhecimento necessário para lidar com cenários complexos que podem surgir em suas tarefas de gerenciamento de rede.

Gerenciamento avançado de firewall com Firewalld

Definindo um Novo Serviço

Se você executar um aplicativo personalizado em uma porta específica não listada nos serviços predefinidos, poderá definir esse serviço sozinho.

Use o seguinte comando para fazer isso:

sudo firewall-cmd --permanent --new-service=myservice

Posteriormente, você pode adicionar configurações para seu serviço personalizado. Por exemplo, para definir um nome curto e descritivo para o serviço:

sudo firewall-cmd --permanent --service=myservice --set-short="My Custom Service"

Ajustando a zona padrão

Quando uma conexão de entrada não possui uma zona específica definida, o sistema usa a zona padrão. Você pode modificar a zona padrão para atender às suas necessidades.

sudo firewall-cmd --set-default-zone=home

Este comando define a zona padrão como 'lar'. Certifique-se de substituir 'lar' com a zona desejada com base no seu ambiente de rede e requisitos de segurança.

Criando uma zona personalizada

Se as zonas predefinidas não atenderem às suas necessidades, você poderá criar uma zona personalizada:

sudo firewall-cmd --permanent --new-zone=customzone

Depois de criar a zona, você pode modificá-la adicionando ou removendo serviços, portas, etc., para atender às suas especificações.

Habilitando Mascaramento

Você normalmente usa o mascaramento quando seu sistema serve como gateway ou roteador para outros sistemas em sua rede. Para ativar o mascaramento em uma zona específica, use:

sudo firewall-cmd --zone=public --add-masquerade

Lembre-se, substitua 'público' pela zona na qual deseja ativar o mascaramento.

Portas de encaminhamento

O Firewalld também permite encaminhar uma porta específica para outra. Isto pode ser benéfico em vários cenários, como ao executar serviços em portas não padrão:

sudo firewall-cmd --zone=public --add-forward-port=port=5000:proto=tcp:toport=80

Este comando encaminha todas as conexões TCP de entrada da porta 5000 para a porta 80 na zona 'pública'.

Esses exemplos representam apenas um pequeno subconjunto dos recursos avançados do Firewalld. Muitos outros comandos e opções estão disponíveis dependendo de suas necessidades específicas de rede e segurança. Para obter mais informações, consulte a documentação oficial do Firewalld ou use o comando ‘man’.

Solução de problemas de Firewalld

Às vezes, gerenciar firewalls pode ser complexo e você pode encontrar problemas. No entanto, o Firewalld fornece um conjunto abrangente de ferramentas e técnicas de solução de problemas para ajudar a resolver esses desafios. Esta seção irá guiá-lo no diagnóstico e correção de problemas comuns de firewall.

Investigando problemas de Firewalld

Verificando o status do Firewalld

Para diagnosticar qualquer problema do Firewalld, primeiro verifique o status do serviço com o seguinte comando:

sudo systemctl status firewalld

Este comando fornece informações sobre o status do serviço Firewalld, se está ativo e se encontrou algum erro durante a inicialização.

Revendo registros do Firewalld

Você pode encontrar informações valiosas nos logs do Firewalld ao solucionar problemas. Por padrão, o Firewalld registra eventos no diário do sistema, que você pode acessar usando:

sudo journalctl -u firewalld

Este comando gerará os logs relacionados ao Firewalld, ajudando a identificar erros ou comportamento incomum.

Verificando a configuração

O Firewalld mantém seus arquivos de configuração no /etc/firewalld/ diretório. Se você encontrar problemas, é uma boa prática verificar esses arquivos de configuração em busca de erros ou discrepâncias:

sudo less /etc/firewalld/firewalld.conf

Este comando permite visualizar o arquivo de configuração principal do Firewalld.

Resolvendo problemas comuns de Firewalld

Problema: o Firewalld não responde aos comandos

Às vezes, o Firewalld pode não reagir aos seus comandos. Uma excelente ação inicial é recarregar o Firewalld. Você pode fazer isso com o seguinte comando:

sudo firewall-cmd --reload

Este comando recarrega a configuração do Firewalld do disco e descarta todas as alterações temporárias não salvas. No entanto, isso não remove todas as regras de firewall.

Problema: é necessário redefinir o Firewalld para os padrões

Se quiser redefinir todas as configurações para o padrão e remover todas as regras personalizadas, você deve usar o --complete-reload opção. Observe que usar esta opção removerá todas as configurações permanentes e de tempo de execução e as substituirá pelo conjunto padrão de regras.

sudo firewall-cmd --complete-reload

Problema: necessidade de remover uma regra específica

Para remover uma regra específica, você precisa usar o --remove comando. Por exemplo, se você deseja remover o serviço HTTP da zona pública na configuração permanente, o comando seria:

sudo firewall-cmd --permanent --zone=public --remove-service=http

Problema: a regra do firewall não está funcionando

Se uma regra de firewall parece não funcionar, geralmente o motivo é que alguém não definiu a regra como permanente. Uma regra não permanente funciona apenas para a sessão atual. Assim que alguém reinicia o sistema, a regra desaparece. Para garantir que a regra permaneça, inclua o --permanent sinalizador quando você cria a regra.

Problema: a configuração da zona não funciona conforme o esperado

Compreender as zonas e como elas interagem com interfaces e serviços é crucial ao trabalhar com o Firewalld. Aqui estão alguns cenários que podem ocorrer e como resolvê-los.

Cenário: você não atribuiu a interface à zona correta

Imagine que você cria uma nova zona chamada ‘interna’ para sua rede interna e configura regras e serviços específicos para ela. Mas o sistema não está aplicando essas regras. Um motivo provável pode ser que você não atribuiu a interface pretendida à zona 'interna'.

Para ver quais interfaces estão associadas a uma zona, use este comando:

sudo firewall-cmd --zone=internal --list-interfaces

Se a saída não incluir a interface pretendida, você poderá atribuí-la usando o comando:

sudo firewall-cmd --zone=internal --add-interface=eth1

Este comando adiciona a interface 'eth1' à zona 'interna'.

Cenário: a zona não habilita o serviço

Imagine que você tem um 'dmz' zona e deseja permitir o tráfego HTTP. Mas o trânsito não está passando. Isso pode acontecer se você não tiver habilitado o serviço HTTP no 'dmz' zona.

Para ver se uma zona tem um serviço habilitado, digite:

sudo firewall-cmd --zone=dmz --query-service=http

Se o serviço não estiver ativo, ative-o com:

sudo firewall-cmd --zone=dmz --add-service=http

Este comando ativa o serviço HTTP no 'dmz' zona.

Inclua o sinalizador –permanent nos comandos para fazer com que essas modificações durem após a reinicialização. Sempre vincule suas interfaces às zonas adequadas e ative os serviços necessários.

Conclusão

Neste guia completo, orientamos você na instalação do Firewalld no Debian, incluindo as versões 12, 11 e 10. Exploramos os fundamentos do Firewalld, suas configurações de zona e serviço, e fornecemos comandos básicos e avançados exemplos. Além disso, abordamos alguns cenários comuns de solução de problemas que você pode encontrar ao trabalhar com o Firewalld. Seguindo este guia, você estará bem equipado para utilizar o Firewalld para gerenciar e proteger as configurações de firewall do seu servidor de maneira eficaz. Incentivamos você a experimentar e refinar continuamente seu conhecimento, pois dominar o Firewalld fornecerá um conjunto robusto de ferramentas para manter um ambiente de rede seguro e bem organizado.

Links Úteis

Aqui estão alguns links valiosos relacionados ao uso do Firewalld:

  • Site oficial do Firewalld: visite o site oficial do Firewalld para obter informações sobre o gerenciador de firewall dinâmico, seus recursos e opções de download.
  • Documentação do Firewalld: acesse documentação abrangente para obter guias detalhados sobre instalação, configuração e uso do Firewalld.
  • Comunidade Firewalld: Participe da comunidade Firewalld para se conectar com outros usuários, participar de discussões e obter suporte.
  • Repositório GitHub do Firewall: explore o repositório Firewalld GitHub para visualizar o código-fonte, relatar problemas e contribuir com o desenvolvimento.
Joshua James
Me siga
Últimos posts por Joshua James (exibir todos)