Se você precisa de um bom firewall para seu servidor ou desktop Linux, o iptables é uma ótima escolha. É altamente flexível e rápido. Neste guia, mostraremos como configurar um firewall iptables no Linux.
Instalando o iptables no Linux
Para configurar o Firewall com iptables em seu sistema Linux , você precisa instalá-lo primeiro. Abra uma janela de terminal e siga as instruções de instalação abaixo para o seu sistema operacional Linux. O Iptables pode ser instalado em desktops e servidores Linux e, se você preferir um download genérico do Linux do iptables, pode visitar o site oficial . Depois que a instalação estiver concluída, você poderá configurar seu firewall com iptables.
instruções do Ubuntu
sudo apt instalar iptables
instruções Debian
sudo apt-get install iptables
Instruções do Arch Linux
sudo pacman -S iptables
Instruções do Fedora
sudo dnf instalar iptables
instruções do OpenSUSE
sudo sudo zypper no iptables
Distribuições EPEL (Rhel, CentOS, Rocky, Alma, etc.)
sudo yum instalar iptables
Como criar um conjunto de regras do iptables
Você deve criar um novo conjunto de regras iptables antes de tentar usá-lo como um firewall. Abra uma janela de terminal e verifique se você pode inserir comandos sudo . Se o seu usuário não puder, faça login na conta root com su .
A partir daqui, use o comando iptables -F . Este comando excluirá e liberará todas as regras anteriores para iptables em seu sistema.
sudo iptables -F
Depois de executar o comando acima, você pode executar o comando iptables -L para verificar e confirmar se as regras foram apagadas.
sudo iptables -L
Depois de confirmar que as regras do iptables foram liberadas, use o comando iptables -P abaixo para bloquear o tráfego de entrada por padrão.
AVISO: se você estiver editando iptables via SSH, desconecte e edite na máquina física. A execução do comando abaixo irá desconectar você automaticamente do SSH até que você o permita através do firewall.
sudo iptables -P INPUT DROP
Em seguida, você deve permitir o tráfego de saída do seu sistema via iptables. Você pode permitir o tráfego de saída através do firewall iptables inserindo o seguinte comando iptables -P .
sudo iptables -P SAÍDA ACEITAR
Depois de desativar o tráfego de entrada e ativar o tráfego de saída, você passa a permitir serviços específicos.
Como permitir portas através do firewall iptables
Por padrão, executar iptables -P INPUT DROP desabilita o tráfego de entrada de todas as fontes (SSH, HTTP, etc.) Para habilitar esses serviços, você precisará adicionar às suas regras do iptables.
Para tornar as coisas simples, aqui está uma lista de portas comuns que você pode querer habilitar em seu firewall iptables. Copie o comando associado à porta que deseja habilitar por meio do firewall iptables.
- HTTP (porta 80):
sudo iptables -A INPUT -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
- HTTPS (porta 443):
sudo iptables -A INPUT -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
- SSH (porta 22):
sudo iptables -A INPUT -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
- FTP (porta 21):
sudo iptables -A INPUT -p tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT
- SMTP (porta 25):
sudo iptables -A INPUT -p tcp --dport 25 -m state --state NEW,ESTABLISHED -j ACCEPT
- DNS (porta 53):
sudo iptables -A INPUT -p udp --dport 53 -j ACCEPT
para UDP ou sudo iptables -A INPUT -p tcp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
para TCP
- DNS sobre TLS (DoT) (porta 853):
sudo iptables -A INPUT -p tcp --dport 853 -m state --state NEW,ESTABLISHED -j ACCEPT
- DNS sobre HTTPS (DoH) (porta 443):
sudo iptables -A INPUT -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
- Protocolo de Área de Trabalho Remota (RDP) (porta 3389):
sudo iptables -A INPUT -p tcp --dport 3389 -m state --state NEW,ESTABLISHED -j ACCEPT
- Virtual Network Computing (VNC) (porta 5900):
sudo iptables -A INPUT -p tcp --dport 5900 -m state --state NEW,ESTABLISHED -j ACCEPT
- Secure Shell (SSH) com encaminhamento X11 (porta 6010):
sudo iptables -A INPUT -p tcp --dport 6010 -m state --state NEW,ESTABLISHED -j ACCEPT
- Banco de dados MySQL (porta 3306):
sudo iptables -A INPUT -p tcp --dport 3306 -m state --state NEW,ESTABLISHED -j ACCEPT
- Banco de dados PostgreSQL (porta 5432):
sudo iptables -A INPUT -p tcp --dport 5432 -m state --state NEW,ESTABLISHED -j ACCEPT
Depois de permitir todas as portas que deseja permitir, você pode verificar suas regras com iptables -L .
sudo iptables -L
Por fim, salve suas regras do iptables em um arquivo para fins de backup. Você pode fazer isso com o comando iptables-save .
sudo iptables-save > /path/tosave/where/you/wish/to/save/rules/iptable-rules-backup
Como restaurar backups do iptables
Se você precisar reimplantar seu firewall iptables em outra máquina, veja o que fazer. Primeiro, use o comando iptables -F para liberar as regras existentes.
sudo iptables -F
Em seguida, copie seu arquivo de backup para o sistema. Depois de copiado, restaure o backup.
sudo iptables-restore <>