Este artigo é sobre como bloquear solicitações de ping no servidor Linux. Também descreveremos como desbloquear as solicitações de ping, caso você precise usar o ping para administração e solução de problemas do sistema.
Pré -requisitos
Observação: Os comandos discutidos aqui foram testados no Ubuntu 20.04 LTS.
Solicitações de ping em bloco/desbloqueio para o servidor Linux
O ping funciona enviando um pacote ICMP (solicitação de eco) para o sistema de destino e depois recebe um pacote ICMP de resposta (resposta de eco). No Linux, o comando ping continua enviando pacotes ICMP até que você pare usando Ctrl+C.
Para bloquear as solicitações de ping, você precisará ignorar/bloquear as solicitações de eco ICMP que são enviadas ao seu servidor. Existem duas maneiras seguintes pelas quais você pode bloquear/desbloquear solicitações de eco ICMP para o servidor Linux.
Vamos começar.
Solicitações de ping em bloco/desbloqueio através de parâmetros do kernel
Através dos parâmetros do kernel, você pode bloquear solicitações de ping temporariamente ou permanentemente. Os parâmetros do kernel podem ser modificados sysctl comando, /sys/proc diretório, e /etc/sysctl.arquivo conf.
O comando sysctl no linux é usado para ler e escrever parâmetros do kernel no /proc/sys diretório. Usando este comando, podemos configurar parâmetros do kernel para bloquear/desbloquear solicitações de ping. O parâmetro do kernel líquido.IPv4.ICMP_ECHO_IGNORE_ALL controla se o sistema deve responder à solicitação de eco ICMP. O valor padrão é '0 ' o que significa responder à solicitação do ICMP.
Para bloquear a solicitação de ping, emita o seguinte comando no terminal:
$ sudo sysctl -w net.IPv4.ICMP_ECHO_IGNORE_ALL = 1
Este comando define o parâmetro do kernel como '1', que significa ignorar todas as solicitações do ICMP.
Agora, todas as solicitações de ping para o seu sistema serão bloqueadas e o remetente não receberá resposta, como mostrado na captura de tela abaixo.
Para desbloquear as solicitações de ping, execute novamente o mesmo comando alterando o valor do parâmetro para padrão '0'.
$ sudo sysctl -w net.IPv4.ICMP_ECHO_IGNORE_ALL = 0
Como alternativa, você pode bloquear as solicitações de ping alterando o valor do parâmetro do kernel no /proc/sys diretório usando o comando echo. No entanto, para usar este método, você precisará executar o comando como root.
Para bloquear a solicitação de ping, primeiro troca para a conta root usando o seguinte comando no terminal:
$ su raiz
Quando solicitado a senha, digite a senha para root.
Em seguida, emita o seguinte comando no terminal:
$ echo 1>/proc/sys/net/ipv4/icmp_echo_ignore_all
Para desbloquear os pedidos de ping, o comando seria:
$ echo 0>/proc/sys/net/ipv4/icmp_echo_ignore_all
Bloquear permanentemente os pedidos de ping
Os parâmetros do kernel também podem ser modificados através do /etc/sysctl.conf arquivo. Este arquivo permitirá que você bloqueie permanentemente as solicitações de ping em seu servidor.
Para bloquear a solicitação de ping ao seu sistema, edite /etc/sysctl.conf arquivo:
$ sudo nano /etc /sysctl.conf
Em seguida, anexe a seguinte linha no arquivo:
líquido.IPv4.ICMP_ECHO_IGNORE_ALL = 1
Salve e feche o arquivo.
Em seguida, emita o seguinte comando no terminal para aplicar esta configuração sem reinicialização:
$ sysctl -p
Para desbloquear solicitações de ping, edite o /etc/sysctl.conf arquivo:
$ sudo nano /etc /sysctl.conf
Em seguida, modifique o valor de líquido.IPv4.ICMP_ECHO_IGNORE_ALL para '0 ':
líquido.IPv4.ICMP_ECHO_IGNORE_ALL = 0
Salve e feche o arquivo.
Em seguida, emita o seguinte comando no terminal para aplicar esta configuração sem reinicialização:
$ sysctl -p
Solicitações de ping em bloco/desbloqueio usando iptables
O iptables é um utilitário de firewall no Linux que controla o tráfego de entrada e saída com base em determinadas regras. Ele vem pré -instalado no sistema Ubuntu. No caso, está faltando no sistema, você pode instalá -lo usando o seguinte comando no terminal:
$ sudo apt install iptables
Para bloquear solicitações de ping ao seu sistema, digite o seguinte comando no terminal:
$ sudo iptables -a input -p icmp --icmp -type 8 -j rejeitar
Onde o A A bandeira é usada para adicionar uma regra em iptables e ICMP-TYPE 8 é o número do tipo ICMP usado para solicitação de eco.
O comando acima adicionará uma regra no firewall que bloqueará quaisquer solicitações de ping recebidas ao seu sistema. Ao adicionar esta regra, qualquer pessoa que envie a solicitação de ping ao seu sistema verá o “Porta de destino inacessível”Mensagem como mostrado na captura de tela abaixo.
Se você não deseja que esta mensagem apareça, use o seguinte comando substituindo REJEITAR com DERRUBAR:
$ sudo iptables -a input -p icmp --icmp -type 8 -j gota
Agora qualquer pessoa que envie a solicitação de ping para o seu sistema verá a seguinte saída semelhante:
Para desbloquear solicitações de ping para o seu servidor, digite o seguinte comando no terminal:
$ sudo iptables -d input -p icmp --icmp -type 8 -j rejeitar
Onde o D A bandeira é usada para excluir uma regra em iptables e ICMP-TYPE 8 é o número do tipo ICMP usado para uma solicitação de eco.
Para tornar essas regras persistentes após uma reinicialização do sistema, você precisará iptables-persistent pacote. Emitir o comando abaixo no terminal para instalar iptables-persSistent:
$ sudo apt install iptables-persistent
Você será solicitado a confirmar se deseja prosseguir com a instalação ou não. Bater y Para prosseguir, após o qual o sistema iniciará a instalação e, uma vez concluído, estará pronto para usar.
Depois de adicionar ou excluir qualquer regra, emita os seguintes comandos no terminal para fazê -los sobreviver à reinicialização do sistema.
$ sudo netfilter-persistente salvar
$ sudo netfilter-persistent recarregue
Para visualizar todas as regras adicionadas aos seus iptables, emita o seguinte comando no terminal:
$ sudo iptables -l
Isso é tudo o que há para isso! Neste artigo, discutimos como bloquear/desbloquear solicitações de ping no servidor Linux através dos parâmetros do kernel ou através do iptables utilitário. Espero que isto ajude!