teora-icmp: (0.01)
	Nociones de ICMP necesarias para el filtrado de paquetes


Resumen de contenido:
--------------------
ICMP
  Tipo/Cdigo en vez de puerto
  ICMP necesarios
    FRAGMENTATION NEEDED <- 3/4
    PING -> 8/- y PONG <- 0/-
    Traceroute (PORT UNREACHABLE <- 3/3 y TTL EXCEDEED <- 11/0)
  ICMP sospechosos/peligrosos
    PING <- 8/-
    REDIRECT <- 5/-
    SOURCE QUENCH <- 4/-
    PARAMETER PROBLEMS -> 12/-
    PORT UNREACHABLE -> 3/3
  AMENAZAS ICMP
    BOMBAS ICMP
    CANALES ICMP
  MAS INFO SOBRE ICMP



ICMP
  Tipo/Cdigo en vez de puerto
  
	Los paquetes ICMP no tienen puerto de origen ni de destino, en su lugar
	tienen un tipo y un "subtipo" o cdigo que abreviaremos como: 3/4

	Por desgracia solo iptables permite especificar como nmeros el
	tipo/cdigo al filtrar ICMP
	
	En ipchains podemos filtrar por el nmero de tipo (sin cdigo) o con el
	nombre del tipo+cdigo, p.ej.:  fragmentation-needed


  ICMP necesarios

    Hay unos cuantos paquetes ICMP que son necesarios para un funcionamiento
    adecuado
    
    Yo dira que conviene permitir la ENTRADA de todos los ICMP del
    tipo 3 (destination-unreachable) y los de tipo 11 (time-exceeded),
    ya que permiten conocer a nuestros sistemas problemas de comunicacin


    FRAGMENTATION NEEDED <- 3/4

	Se utiliza en el proceso de descubrir la unidad mxima de transferencia
	en conexiones transcontinentales, debe permitirse siempre:
	- entrada de: fragmentation-needed 3/4


    PING -> 8/- y PONG <- 0/-

	Si deseas poder hacer "ping" a IPs en Internet necesitas permitir:
	- salida de ping (la pregunta): echo-request 8/-
	- entrada de pong (la respuesta): echo-reply 0/-


    Traceroute (PORT UNREACHABLE <- 3/3 y TTL EXCEDEED <- 11/0)

	Para que el comando "traceroute" funcione debes permitir:
	- entrada de: port-unreachable 3/3
	- entrada de: ttl-zero-during-transit 11/0
	- salida de: paquetes UDP hacia el rango de puertos 33434:33600


  ICMP sospechosos/peligrosos
    PING <- 8/-

	Generalmente todo escaneo de tus puertos va precedido de una deteccin
	mediante un ping ICMP
	
	Hay que considerar que tambin puedes ser detectado con un "ping TCP"
	si usas ipfwadm o ipchains (iptables por probar)

	Para saber ms sobre el ping TCP busca la opcin "-PT" en el "man nmap"
	de potato


    REDIRECT <- 5/-

	Alguien intenta redirigir nuestro router, esto significa que alguien
	intenta un ataque "de hombre en medio" redirigiendo nuestro trfico
	a travs de su mquina


    SOURCE QUENCH <- 4/-

	Puede ser un intento de ataque DoS, ya que estos paquetes enlentecen
	la comunicacin, RFC1122 dice que un cortafuegos DEBE descartarlos


    PARAMETER PROBLEMS -> 12/-

	Salidas de ICMP parameter-problem 12/- indican que se nos est
	aplicando alguna tcnica de deteccin de sistema operativo
	(fingerprinting), o que estn intentando algn tipo de hackeo


    PORT UNREACHABLE -> 3/3

	Como vimos en "teoria-tcp-ip" las salidas de port-unreachable 3/3 de
	nuestro sistema delatan que estn escaneando nuestros puertos UDP


  AMENAZAS ICMP

    BOMBAS ICMP

	Hay determinados tipos de paquetes ICMP (el ping de la muerte) que
	deja frito a un Win, aunque nuestro Linux es inmune a ellos.
	
	Este es un buen motivo para limitar los paquetes ICMP que reciben
	los PC de nuestra red desde el cortafuegos


    CANALES ICMP

	Parece ser que los paquetes ICMP pueden ser utilizados como un vehculo
	de comunicacin por hackers expertos.
	
	Este es un buen motivo para prohibir todos los ICMP posibles en tu
	sistema, tu decides...


  MAS INFO SOBRE ICMP

    Hay una buena descripcin de todos los paquetes ICMP en:
	FAQ: Firewalls: What am I seeing? (en ingls, me parece muy bueno)
        http://www.robertgraham.com/pubs/firewall-seen.html

    RFCs: paquete doc-rfc en /usr/doc/doc-rfc, en general muy tcnicos
      RFC792 (Ingls) Definicin del protocolo ICMP (va bien para saber tipos)
