Um Firewall é uma ferramenta vital para proteger seus servidores ubuntu e sites contra tráfego e ataques maliciosos.
Em um mundo de crescentes ameaças cibernéticas, é essencial ter um firewall instalado para ajudar a proteger seus ativos online.
Quando se trata de proteger servidores e sites do Ubuntu, existem várias opções de firewall disponíveis a serem consideradas.
Cada um desses firewalls tem seus próprios pontos fortes e fracos, e a melhor solução para você dependerá de suas necessidades e requisitos específicos.
Neste artigo, veremos mais de perto algumas das soluções de firewall mais populares e eficazes para o Ubuntu, incluindo iptables, ufw, firewalld, fail2ban e nftables.
ÍNDICE DE CONTEÚDO
Iptables
iptables é o firewall embutido que está incluído na maioria das distribuições Linux, incluindo o Ubuntu.
Foi lançado pela primeira vez em 2000 como parte do kernel do Linux e é mantido pelo projeto netfilter.
O iptables permite configurar regras para filtrar o tráfego de rede de entrada e saída.
É uma poderosa ferramenta de firewall que pode ser usada para proteger seu servidor e site, mas pode ser difícil de configurar para usuários menos experientes.
Como instalar o iptables
Para instalar o iptables em um servidor Ubuntu, você pode usar o gerenciador de pacotes apt.
Antes, se quiser verificar se já está instalado use o comando:
apt list --installed | grep iptables
Se o pacote estiver instalado, você verá algo como:
iptables/focal-updates,focal-security,now 1.8.4-1ubuntu1~20.04.1 all [installed]
Aqui estão as etapas para instalar o iptables:
Abra um terminal em seu servidor Ubuntu e atualize a lista de pacotes executando o comando:
sudo apt update
Instale o iptables executando o comando:
sudo apt install iptables
Depois que a instalação estiver concluída, você pode começar a configurar o iptables criando regras para filtrar o tráfego de rede de entrada e saída.
Para ver as regras atuais em vigor, você pode executar o comando:
sudo iptables -L
Para adicionar uma nova regra, você pode usar o comando iptables seguido das opções apropriadas.
Por exemplo, para bloquear o tráfego de entrada de um endereço IP específico, você pode executar o comando:
sudo iptables -A INPUT -s 192.168.1.100 -j DROP
Para salvar as regras para que persistam após uma reinicialização, você pode usar o pacote iptables-persistent, este pacote salvará automaticamente suas regras atuais.
Você pode instalá-lo executando:
sudo apt install iptables-persistent
Para recarregar as regras depois de fazer alterações, você pode usar:
sudo service iptables-persistent reload
Embora o iptables seja uma solução de firewall poderosa e flexível, pode ser complexo e difícil de configurar para usuários que não estão familiarizados com os conceitos de rede.
UFW Firewall
O UFW (Uncomplicated Firewall) foi lançado pela primeira vez em 2008 como um wrapper em torno do iptables, o que facilita a configuração do firewall iptables para usuários do Ubuntu.
O software é mantido pelo projeto Ubuntu, que é uma comunidade de desenvolvedores e mantenedores que trabalham juntos para criar e distribuir o sistema operacional Ubuntu.
O UFW fornece uma interface de linha de comando simples e fácil de usar para gerenciar regras de firewall iptables em servidores e desktops Ubuntu.
A ferramenta inclui um conjunto de regras e comandos predefinidos que podem ser usados para configurar rapidamente o firewall.
Como instalar o UFW Firewall
Abra um terminal em seu servidor Ubuntu e atualize a lista de pacotes executando o comando:
sudo apt update
Instale o UFW executando o comando:
sudo apt install ufw
Após a conclusão da instalação, você pode começar a configurar o UFW criando regras para filtrar o tráfego de rede de entrada e saída. Para fazer isso, você pode usar o comando ufw.
Antes de adicionar qualquer regra, é uma boa prática habilitar o firewall. Você pode ativar o firewall executando o comando:
sudo ufw enable
Para ver o status atual do firewall, você pode executar o comando:
sudo ufw status
Para adicionar uma nova regra, você pode usar o comando ufw seguido pelas opções apropriadas.
Por exemplo, para permitir o tráfego de entrada para uma porta específica, você pode executar o comando:
sudo ufw allow 22
O comando acima permitirá (por exemplo) o tráfego de entrada para a porta ssh (22).
Para negar o tráfego de entrada de um endereço IP específico, você pode executar o comando:
sudo ufw deny from 192.168.1.100
Depois de configurar suas regras de firewall, você pode verificar as regras novamente executando o comando:
sudo ufw status verbose
Firewalld
O Firewalld é uma ferramenta de gerenciamento de firewall incluída em muitas distribuições do Linux, incluindo o Ubuntu. Foi lançado pela primeira vez em 2012 e é mantido pelo projeto Fedora.
O projeto Fedora é um esforço comunitário que desenvolve, mantém e lança uma distribuição Linux chamada Fedora. O projeto é patrocinado pela Red Hat, Inc, uma multinacional americana de software.
O Firewalld destina-se a fornecer uma solução dinâmica de gerenciamento de firewall que é mais adequada para sistemas modernos do que a ferramenta iptables tradicional.
Ele permite configurar regras de firewall usando um daemon de firewall dinâmico e pode ser controlado com a linha de comando ou com uma interface gráfica do usuário.
Também fornece um conjunto mais rico de recursos e funcionalidades em comparação com o ufw, com uma interface mais amigável.
Além disso, o Firewalld é ativamente desenvolvido, mantido e atualizado pelos respectivos equipe e desenvolvedores da comunidade, e é considerada uma solução de firewall estável e segura.e verifique se o serviço está em execução
Como instalar o Firewalld
Instale o Firewalld executando o comando:
sudo apt install firewalld
Assim que a instalação estiver concluída, você pode começar a configurar o Firewalld criando regras para filtrar o tráfego de rede de entrada e saída. Para fazer isso, você pode usar o comando firewall-cmd.
Antes de adicionar qualquer regra, é uma boa prática habilitar o firewall. Você pode ativar o firewall executando o comando:
sudo systemctl start firewalld
E verifique se o serviço está em execução
sudo systemctl status firewalld
Para ver o status atual do firewall, você pode executar o comando:
sudo firewall-cmd --state
Para adicionar uma nova regra, você pode usar o comando firewall-cmd seguido das opções apropriadas.
Por exemplo, para permitir o tráfego de entrada para uma porta específica, você pode executar o comando:
sudo firewall-cmd --add-port=22/tcp
O exemplo acima permitirá o tráfego de entrada para a porta ssh (22).
Para negar o tráfego de entrada de um endereço IP específico, você pode executar o comando:
sudo firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.1.100" drop'
Após configurar suas regras de firewall, você pode verificar as regras novamente executando o comando:
sudo firewall-cmd --list-all
Para persistir as regras após uma reinicialização, você deve usar a opção –permanent:
sudo firewall-cmd --permanent --add-port=22/tcp
Fail2ban
O Fail2ban é uma ferramenta de software Open Source de prevenção contra invasões usada para proteger servidores e outros dispositivos de rede contra acesso não autorizado.
Foi lançado pela primeira vez em 2005 e é desenvolvido ativamente por uma comunidade de colaboradores. O software não está vinculado a nenhuma empresa específica e não é mantido por nenhuma organização em particular.
A ferramenta funciona monitorando arquivos de log e identificando repetidas tentativas de login com falha. Quando um limite é atingido, o software bane automaticamente o endereço IP do host ofensivo.
Oferece suporte a uma ampla variedade de arquivos de log e protocolos e pode ser facilmente configurado para monitorar diferentes serviços e executar diferentes ações quando um ataque é detectado.
Ele pode ser usado em combinação com qualquer solução de firewall, como iptables, ufw ou firewalld, para fortalecer a segurança e evitar ataques de força bruta.
O Fail2ban usa o firewall para bloquear o endereço IP que foi identificado como malicioso, dessa forma pode impedir que invasores tentem obter acesso ao servidor.
É por isso que o Fail2ban também é conhecido como “software de prevenção de intrusão”, pois ajuda você para bloquear o tráfego malicioso antes que ele chegue ao seu servidor, o que o torna um ótimo complemento para qualquer plano de segurança.
Como instalar o Fail2ban
Instale o Fail2ban executando o comando:
sudo apt install fail2ban
Após a conclusão da instalação, o serviço Fail2ban deve estar em execução, você pode verificar o status do serviço executando o comando:
sudo systemctl status fail2ban
A configuração padrão do Fail2ban está localizada no diretório /etc/fail2ban/.
O arquivo de configuração principal é o jail.conf, que contém um conjunto de regras predefinidas para diferentes serviços e protocolos.
O arquivo jail.local é usado para substituir ou adicionar definições de configuração no arquivo jail.conf.
Para configurar o Fail2ban para monitorar um serviço específico, você precisa criar um novo arquivo de configuração de prisão no diretório /etc/fail2ban/jail.d/.
Por exemplo, para configurar o Fail2ban para monitorar logins SSH, você criaria um novo arquivo chamado sshd.conf neste diretório.
Você pode usar o comando:
sudo nano /etc/fail2ban/jail.d/sshd.local
Depois de fazer as alterações necessárias no arquivo de configuração, você precisa reiniciar o serviço Fail2ban para que as alterações entrem em vigor:
sudo systemctl restart fail2ban
Para verificar o status da prisão e os IPs banidos, você pode usar:
sudo fail2ban-client status <jail name>
substitua <jail name> pelo nome “jail” que você deseja verificar (por exemplo, sshd)
Para desbanir um endereço IP específico, você pode usar o comando:
sudo fail2ban-client set <jail name> unbanip <IP address>
Substitua <jail name> pelo nome “jail” e <IP address> pelo endereço IP que você deseja desbanir.
Lembre-se de que o Fail2ban depende de arquivos de log para detectar tentativas de login com falha.
Portanto, é importante garantir que os arquivos de log dos serviços que você deseja monitorar estejam configurados corretamente e que o Fail2ban tenha permissões para lê-los.
Você pode usar o comando chmod para dar ao Fail2ban o acesso de leitura. Por exemplo:
sudo chmod 644 /var/log/sshd.log
Você também pode usar o comando chown para alterar a propriedade de um arquivo, para garantir que ele pertença ao usuário e grupo fail2ban:
sudo chown fail2ban:fail2ban /var/log/sshd.log
Além disso, você também deve configurar o firewall para bloquear o tráfego de entrada de IPs banidos.
Para monitorar os arquivos de log conforme eles acontecem e verificar se você vê algum novo IP sendo banido pelo fail2ban.
tail -f /var/log/fail2ban.log
nftables
nftables é uma nova estrutura de classificação de pacotes que visa substituir os utilitários iptables, ip6tables, arptables e ebtables existentes.
Foi lançado pela primeira vez no final de 2013 por Patrick McHardy, que na época trabalhava para a Linux Foundation.
Foi introduzido no kernel Linux 3.13, lançado em 22 de dezembro de 2013. O desenvolvimento do nftables é liderado por um grupo de desenvolvedores do kernel Linux e é patrocinado pela Linux Foundation.
Faz parte do projeto netfilter, que também inclui iptables e outras ferramentas relacionadas para filtragem de pacotes e tradução de endereços de rede (NAT) no Linux.
O nftables está sendo desenvolvido e mantido por desenvolvedores do kernel Linux e é ativamente suportado e desenvolvido pela comunidade Linux.
Está se tornando um substituto para o iptables, algumas distribuições já o utilizam como firewall padrão, mas o iptables ainda é muito utilizado, cabe ao administrador decidir qual usar.
Como instalar o nftables
Instale o pacote nftables:
sudo apt install nftables
O pacote também instalará uma camada de compatibilidade para iptables, que permite usar comandos e regras iptables existentes. Isso ajudará a facilitar a transição do iptables para o nftables.
Inicie o serviço nftables executando o seguinte comando:
sudo systemctl start nftables
Opcionalmente, você também pode configurar o serviço nftables para iniciar automaticamente no momento da inicialização executando o seguinte comando:
sudo systemctl enable nftables
Agora você pode usar o comando nft para interagir com nftables, pode usar nft list table para listar as regras atuais de uma tabela específica ou nft list chain para listar as regras de uma cadeia específica.
Agora você pode criar suas próprias regras, por exemplo, para permitir o tráfego de entrada na porta 22 para ssh, você pode usar:
nft add rule inet filter input tcp dport 22 accept
Para manter suas regras após uma reinicialização, você pode salvar suas regras em um arquivo:
nft list ruleset > rules.nft
Recarregue-o após uma reinicialização:
nft -f rules.nft
Para desativar o firewall, você pode usar
nft flush ruleset
Conclusão
Todos os firewalls mencionados são firewalls baseados em software executados em servidores Linux.
Cada firewall tem seus próprios pontos fortes e fracos, e a melhor escolha para você dependerá de suas necessidades e ambientes específicos.
Resumindo, cada firewall tem suas características únicas, e a escolha do firewall dependerá das necessidades específicas do administrador do sistema.
Iptables é o firewall clássico e conhecido, UFW e firewalld fornecem uma interface simples e fácil de usar e nftables é uma opção mais poderosa e flexível para usuários avançados.
É importante observar que, independentemente do firewall que você escolher, é essencial configurá-lo e mantê-lo adequadamente para garantir a segurança do seu servidor.
Isso inclui configurar o firewall para permitir apenas o tráfego necessário, monitorar seus arquivos de log para qualquer atividade suspeita e manter suas regras de firewall atualizadas.
Além disso, é sempre uma boa prática ter um backup de suas regras de firewall, em caso de configurações incorretas acidentais.
Além disso, um Firewall é apenas uma das várias camadas de proteção que você pode ter em sua infraestrutura, é recomendável ter uma proteção de endpoint, firewall de aplicativo da web e outras ferramentas de segurança para proteger contra diferentes tipos de ataques.
Em conclusão, é importante considerar seu próprio ambiente, conhecimento técnico e objetivos ao decidir qual firewall é melhor para seu sistema.
Então agora que tal você deixar um comentário e compartilhar este artigo? Abraço!