Este artigo é sobre como bloquear solicitações de ping para o servidor Linux. Também descreveremos como desbloquear as solicitações de ping caso você precise usar o ping para administração do sistema e solução de problemas.
Pré-requisitos
- Ubuntu 20.04 LTS
- Usuário com privilégios sudo
Observação: Os comandos discutidos aqui foram testados no Ubuntu 20.04 LTS.
Bloquear / desbloquear solicitações de ping para o servidor Linux
Ping funciona enviando um pacote ICMP (solicitação de eco) para o sistema de destino e, em seguida, recebe um pacote ICMP de resposta (resposta de eco). No Linux, o comando ping continua enviando pacotes ICMP até que você o interrompa 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 pelas quais você pode bloquear / desbloquear solicitações de eco ICMP para o servidor Linux.
- Por meio de parâmetros de kernel
- Por meio de iptables
Vamos começar.
Bloquear / desbloquear solicitações de ping por meio de parâmetros do kernel
Por meio dos parâmetros do kernel, você pode bloquear solicitações de ping temporária ou permanentemente. Os parâmetros do kernel podem ser modificados através de sysctl comando, / sys / proc diretório, e / etc / sysctl.arquivo conf.
Solicitações de ping de bloqueio / desbloqueio temporário
O comando sysctl no Linux é usado para ler e escrever parâmetros do kernel no / proc / sys diretório. Usando este comando, podemos configurar os parâmetros do kernel para bloquear / desbloquear solicitações de ping. O parâmetro do kernel internet.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 ao pedido ICMP.
Solicitação de bloqueio de ping
Para bloquear a solicitação de ping, emita o seguinte comando no Terminal:
$ sudo sysctl -w net.ipv4.icmp_echo_ignore_all = 1Este comando configura o parâmetro do kernel para '1' o que significa ignorar todas as solicitações ICMP.
Agora, todas as solicitações de ping para o seu sistema serão bloqueadas e o remetente não receberá resposta, conforme mostrado na imagem abaixo.
Solicitação de desbloqueio de ping
Para desbloquear as solicitações de ping, execute novamente o mesmo comando alterando o valor do parâmetro para o 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 mude para a conta root usando o seguinte comando no Terminal:
$ su rootQuando for solicitada a senha, digite a senha do root.
Em seguida, emita o seguinte comando no Terminal:
$ echo 1> / proc / sys / net / ipv4 / icmp_echo_ignore_all
Para desbloquear as solicitações de ping, o comando seria:
$ echo 0> / proc / sys / net / ipv4 / icmp_echo_ignore_allBloquear solicitações de ping permanentemente
Os parâmetros do kernel também podem ser modificados por meio do / etc / sysctl.conf Arquivo. Este arquivo permitirá que você bloqueie permanentemente as solicitações de ping para o seu servidor.
Solicitação de bloqueio de ping
Para bloquear a solicitação de ping em seu sistema, edite / etc / sysctl.conf Arquivo:
$ sudo nano / etc / sysctl.confEm seguida, anexe a seguinte linha no arquivo:
internet.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 reinicializar:
$ sysctl -p
Solicitação de desbloqueio de ping
Para desbloquear solicitações de ping, edite o / etc / sysctl.conf Arquivo:
$ sudo nano / etc / sysctl.confEm seguida, modifique o valor de internet.ipv4.icmp_echo_ignore_all para '0 ':
internet.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 reinicializar:
$ sysctl -pBloquear / desbloquear solicitações de ping usando iptables
Iptables é um utilitário de firewall no Linux que controla o tráfego de entrada e saída com base em certas regras. Vem pré-instalado no sistema Ubuntu. Caso esteja faltando no sistema, você pode instalá-lo usando o seguinte comando no Terminal:
$ sudo apt install iptablesSolicitação de bloqueio de ping
Para bloquear solicitações de ping para seu sistema, digite o seguinte comando no Terminal:
$ sudo iptables -A ENTRADA -p icmp --icmp-type 8 -j REJEITAROnde o UMA sinalizador é usado para adicionar uma regra no iptables e icmp tipo 8 é o número do tipo ICMP usado para solicitação de eco.
O comando acima irá adicionar uma regra no firewall que irá bloquear quaisquer solicitações de ping de entrada para o seu sistema. Ao adicionar essa regra, qualquer pessoa que enviar a solicitação de ping para o seu sistema verá a mensagem “Porta de destino inacessível”Mensagem como mostrado na imagem abaixo.
Se você não quiser que esta mensagem apareça, use o seguinte comando substituindo REJEITAR com SOLTA:
$ sudo iptables -A INPUT -p icmp --icmp-type 8 -j DROPAgora, qualquer pessoa que enviar a solicitação de ping para o seu sistema verá a seguinte saída semelhante:
Solicitação de desbloqueio de ping
Para desbloquear solicitações de ping para seu servidor, digite o seguinte comando no Terminal:
$ sudo iptables -D INPUT -p icmp --icmp-type 8 -j REJEITAROnde o D sinalizador é usado para excluir uma regra no iptables e icmp tipo 8 é o número do tipo ICMP usado para uma solicitação de eco.
Para tornar essas regras persistentes após a reinicialização do sistema, você precisará iptables-persistent pacote. Emita o comando abaixo no Terminal para instalar iptables-persistent:
$ sudo apt install iptables-persistent
Você será solicitado a confirmar se deseja continuar com a instalação ou não. Acertar y para prosseguir, após o qual o sistema iniciará a instalação e uma vez concluída, estará pronto para uso.
Depois de adicionar ou excluir qualquer regra, emita os seguintes comandos no Terminal para fazê-los sobreviver à reinicialização do sistema.
$ sudo netfilter-persistent save$ sudo netfilter-persistent reload
Para visualizar todas as regras adicionadas ao seu iptables, emita o seguinte comando no Terminal:
$ sudo iptables -LIsso é tudo que há para fazer! Neste artigo, discutimos como bloquear / desbloquear solicitações de ping para o servidor Linux por meio dos parâmetros do kernel ou do utilitário iptables. Espero que isto ajude!