Proteger tu ordenador contra ping

Sobre el comando ping

Mediante el protocolo ICMP, o sea, el tan popular comando ping podemos saber si determinado ordenador está vivo en la red, si tenemos rutas, camino hacia él sin problemas.

Hasta aquí parece beneficioso y lo es, no obstante como muchas buenas herramientas o aplicaciones, puede ser usado con fines perjudiciales, por ejemplo un DDoS con ping, lo cual se puede traducir en 100.000 peticiones con ping por minuto o por segundo, lo cual podría colapsar el ordenador final o nuestra red.

Sea como fuere, en determinadas ocasiones nosotros deseamos que nuestro ordenador no responda a las solicitudes de ping por parte de otros en la red, o sea, que aparente no estar conectado, para ello debemos deshabilitar la respuesta del protocolo ICMP en nuestro sistema.

Cómo verificar si tenemos habilitado la opción de respuesta al ping

Existe en nuestro sistema un archivo que nos permite definir de forma extremadamente simple, si tenemos habilitado la respuesta al ping o no, es: /proc/sys/net/ipv4/icmp_echo_ignore_all

Si ese archivo contiene un 0 (cero), entonces todo aquel que nos haga un ping obtendrá una respuesta siempre que nuestro ordenador esté online, no obstante, si le ponemos un 1 (uno) entonces no importa si nuestra PC está conectada o no, aparentará no estarlo.

O sea, con el siguiente comando editaremos ese archivo:

sudo nano /proc/sys/net/ipv4/icmp_echo_ignore_all

Cambiamos el 0 por un 1 y presionamos [Ctrl] + [O] para guardar, y luego [Ctrl] + [X] para salir.

Listo, ya nuestro ordenador NO responde a los ping de otros.

Alternativas para protegernos de ataques de ping

Otra alternativa es evidentemente usando un firewall, mediante iptables se puede hacer también sin muchos líos:

sudo iptables -A INPUT -p icmp -j DROP

Luego recuerden, las reglas de iptables se limpian cuando se reinicia el ordenador, debemos mediante algún método guardar los cambios, bien mediante iptables-save e iptables-restore, como haciendo nosotros mismos un script.

Y esto ha sido todo 🙂


Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.

  1.   neysonv dijo

    exelente aporte. dime, serviria para evitar peticiones de desconeccion??? como cuando quieren crackearnos la red usando aircrack-ng. digo porque si aparentemente estamos desconectados tampoco nos podran mandar dichas peticiones. gracias por el aporte

    1.    PopArch dijo

      No funciona de esa manera, esto solo bloque los icmp echo response, asi si alguien quiere probar la conexion con un icmp echo request tu computadora va a hacer icmp echo ignore y por lo tanto la persona que esta tratando de probar conexion va a obtener una respuesta tipo «host seems to be down or blocking ping probes», pero si alguien esta monitorizando la red con airodump o alguna herramienta similar va a poder ver que estas conectado por que esas herramientas lo que hacen es que analizan los paquetes que se mandan al AP o que se reciben del AP

  2.   FrankSanabria dijo

    Cabe anotar, que solo es temporal, luego de reiniciar tu pc volvera a recibir pings, para dejarlo permanente, con respecto al primer truco configura el archivo /etc/sysctl.conf y al final agregar net.ipv4.icmp_echo_ignore_all = 1 y con respecto al segundo tip es similar pero mas «Largo» (Guarda Conf de Iptables, hacer un script de interface up que se ejecute al iniciar el sistema, y esas cosas)

  3.   mmm dijo

    Hola. Puede ser que esté algo mal?? o qué podría ser? porque en ubuntu no existe tal fichero……

  4.   Franz dijo

    Estuvo impecable como siempre.
    Una pequeña observación, a la hora de cerrar nano no es mas rápido Ctrl+X y después salir con Y ó S
    Respetos

  5.   Yukiteru dijo

    Excelente tip, @KZKG, yo hago uso del mismo tip entre muchos otros con el fin de mejorar la seguridad de mi PC y de los dos servidores con los que trabajo, pero para evitarme la regla iptables, hago uso de sysctl y de su carpeta de configuracion /etc/sysctl.d/ con un archivo al que adjunto los comandos necesarios para que con cada reinicio se carguen y mi sistema bootee con todos los valores ya modificados.

    En el caso de usar ese metodo solo creen un archivo XX-local.conf (XX puede ser un numero del 1 al 99, yo lo tengo en 50) y escriban:

    net.ipv4.icmp_echo_ignore_all=1

    Ya con eso tienen el mismo resultado.

    1.    jsan92 dijo

      Solución bastante simple, gracias
      ¿Cuáles otros comandos tienes en dicho archivo?

      1.    Yukiteru dijo

        Cualquier comando que tenga que ver con variables de sysctl y pueda ser manipulado por medio de sysctl puede ser utilizado de esta manera.

      2.    FrankSanabria dijo

        Para ver los diferentes valores que puedes ingresar al sysctl escribe en tu terminal sysctl -a

  6.   Solrak Rainbowarrior dijo

    En openSUSE no he podido editarlo.

  7.   David dijo

    Buenas.
    Otra manera mas rapida seria utilizando sysctl

    #sysctl -w net.ipv4.icmp_echo_ignore_all=1

  8.   cpollane dijo

    Como se dijo, en IPTABLES también se puede rechazar una petición de ping para todo mediante:
    iptables -A INPUT -p icmp -j DROP
    Ahora, si queremos rechazar cualquier petición menos una en específico podemos hacerlo de la siguiente manera:
    Declaramois variables:
    IFEXT = 192.168.16.1 #mi IP
    IPAUTORIZADA = 192.168.16.5
    iptables -A INPUT -i $IFEXT -s $IPAUTORIZADA -p icmp -m icmp –icmp-type echo-request -m length –length 28:1322 -m limit –limit 2/sec –limit-burst 4 -j ACCEPT

    De esta forma autorizamos solo a esa IP a que de ping a nuestra PC (pero con límites).
    Espero les sea útil.
    Salu2

  9.   amantedelinux...nolook.com dijo

    vaya,las diferencias entre usuarios;mientras que los windowseros hablamos de cómo jugar halo o the evil within los de Linux aburren al mundo con cosas como esta.

    1.    KZKG^Gaara dijo

      Y es por eso que los Windowseros luego solo saben jugar, mientras que los Linuxeros son los que realmente saben administración avanzada de OS, redes, etc.
      Gracias por regalarnos tu visita 😀

  10.   userarch dijo

    Coordiales Saludos
    El tema de es muy util y ayuda en alguna medida.
    Gracias.

  11.   Gonzalo dijo

    cuando se enteren los de windows de esto ya veras se vuelven locos

  12.   lolo dijo

    en iptables que hay que poner la ip en el IMPUT y en el DROP algo mas?