Como bloquear/permitir ping usando iptables no Ubuntu
O que é iptables?
Iptables é um programa de firewall de linha de comando que permite ou bloqueia o tráfego com base na cadeia de políticas usada. O Iptables adota uma abordagem baseada em pacotes para monitorar o tráfego. Quando um programa tenta se conectar ao seu sistema, o iptables procura uma regra em uma lista predefinida. Se uma regra não for encontrada, ela volta à ação padrão e impede o acesso à nova conexão.
O filtro de pacotes iptables foi escrito pela primeira vez por Rust Seller e é um produto da equipe Netfilter Core. Ele é escrito na linguagem C e foi lançado pela primeira vez em 1998. A empresa lança versões estáveis de tempos em tempos, que podem ser baixadas do seguinte repositório:
https://git.netfilter.org/iptables/
Site da empresa: www.netfilter.org
Para saber mais sobre o iptables e como usá-lo, siga a documentação oficial em:
https://netfilter.org/documentation/
O que é Ping?
Ping ou Packet Internet Groper é um utilitário de gerenciamento de rede que permite verificar o status da conexão entre um computador/dispositivo de origem e de destino em uma rede IP. Também ajuda a estimar o tempo que leva para enviar e receber uma resposta da rede.
Neste artigo explicaremos os comandos iptables que você pode usar para:
- Adicione uma regra que instrua o firewall iptables a bloquear pings de entrada e saída para um servidor controlando solicitações ICMP.
- Remova a regra que informa ao firewall iptables para permitir pings de e para um servidor controlando as solicitações ICMP.
Executamos os comandos e procedimentos mencionados neste artigo em um sistema Ubuntu 22.04 LTS.
Como bloquear/permitir ping do iptables?
Você pode instalar o iptables através da linha de comando do Linux executando o seguinte comando em seu Terminal:
sudo apt-get install iptables
Você pode abrir o aplicativo Terminal por meio da pesquisa do inicializador de aplicativos do sistema ou usando o atalho Ctrl+Alt+T.
Para verificar a instalação e verificar o número da versão, você pode usar o seguinte comando:
iptables --version
Bloquear ping
Conforme mencionado acima, o firewall iptables é baseado em algum conjunto de regras. Você pode adicionar a seguinte regra para bloquear pings de e para o servidor. O comando imprimirá uma mensagem de erro quando você executar o comando ping:
sudo iptables -A INPUT -p icmp --icmp-type echo-request -j REJECT
Exemplo :
Ou então, você pode adicionar as seguintes regras para bloquear o ping sem imprimir uma mensagem de erro:
sudo iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
sudo iptables -A OUTPUT -p icmp --icmp-type echo-reply -j DROP
A opção de comando -A do comando iptables significa 'Adicionar', portanto, qualquer regra que for adicionada começa com 'sudo iptables -A ....'.
Permitir ping
O comando a seguir permite listar todas as regras adicionadas ao seu iptables:
sudo iptables -L
Se alguma das regras estiver bloqueando o ping (no nosso caso, o ICMP foi rejeitado), você pode simplesmente remover essa regra da seguinte maneira:
sudo iptables -D INPUT -p icmp --icmp-type echo-request -j REJECT
A opção de comando -D é usada para excluir a regra.
Você pode excluir todas as regras personalizadas adicionadas ao seu Firewall iptables com o seguinte comando:
sudo iptables -F
Você viu como adicionar e remover regras no utilitário iptables permite controlar o funcionamento do firewall.