teoría-puertos: (0.03) Nociones de puertos necesarias para el filtrado de paquetes Resumen de contenido: -------------------- IP Direcciones y puertos Puertos privilegiados (bajos) y no privilegiados (altos) Proteger todos los puertos bajos Proteger puertos altos aislados Control de puertos utilizados por Linux IP Direcciones y puertos Para IP no existen los puertos, los puertos son una noción que comparten TCP y UDP Al protocolo IP solo le interesa la forma de hacer llegar el paquete al destino, básicamente la dirección IP de destino Puertos privilegiados (bajos) y no privilegiados (altos) En Linux los puertos del 1 al 1023 son especiales, ya que solo root puede lanzar servicios en ellos, a estos puertos los llamaremos bajos o "privilegiados" Generalmente en estos puertos bajos estarán disponibles nuestros servidores Los puertos del 1024 en adelante son por los que los clientes acostumbran a iniciar las conexiones, los llamaremos altos, o "no privilegiados" Estas no son reglas fijas, puede haber servidores en puertos altos (servidor X en el puerto 6000) y clientes empleando puertos bajos (lpr) Proteger todos los puertos bajos Podemos cerrar todos los puertos bajos (0-1023) protegiendo todos nuestros servicios: - con una sola regla del cortafuegos - permitiendo tráfico solo a nuestros puertos altos (1024-65535) Proteger puertos altos aislados Si tenemos algún puerto >1024 activo en todos los interfaces hay que protegerlos (una regla por cada puerto) El ejemplo más evidente es el servidor X (puerto 6000) que no puede restringirse (que yo sepa) para que no escuche en el interface de Internet Control de puertos utilizados por Linux En los kernel 2.2 desde /proc se puede cambiar los puertos utilizados por defecto por Linux al iniciar conexiones # Por defecto se usa 1024:4999 echo "1024 4999" > /proc/sys/net/ipv4/ip_local_port_range *A COMPLETAR* Win-9x parece usar puertos > 1024 (según he observado) ¿Se podrá cambiar?