Como Montar un firewall
Aunque la mayor parte de este tutorial se va a centrar en iptables, la herramienta de filtrado de los kernels 2.4, vamos a empezar con una serie de cosas para las que no será necesario recompilar el kernel y son muy fáciles de probar.
Supongo que la gente tiene unos conocimientos básicos de redes, sabe hacer un script sencillo y manejar archivos deconfiguración.
Los kernels 2.4 permiten modificar determinados parámetros y variables dinamicamente a través del sistema de archivos /proc
Para poder cambiar estos valores tenemos que tener el kernel compilado con la opción CONFIG_SYSCTL, pero lo más probable es que si lo tengamos ya que viene marcada por defecto.
Para los ejemplos utilizaré esta configuración
Mi maquina firewall dispone de 2tarjetas de red eth0 y eth1. eth0 es una red local a la que estan conectadas otras maquinas de mi oficina (en las que se supone que confio :), eth1 es la encargada de las comunicaciones con el exterior (internet) y en la que las restricciones son mayores. Las direcciones IP de estas tarjetas seran 192.168.0.1 para eth0 y una direccion 10.42.0.100 para eth1
2 - Evitar el spoofing
l spoofing consisteen modificar la dirección origen de un paquete de forma que la máquina que recibe el paquete se crea que proviene de una maquina de confianza, normalmente se usa 127.0.0.1
Por ejemplo, si yo soy un malo maloso y quiero atacar el firewall que estamos montando una forma de hacerlo sería haciendome pasar por uno de los equipos de la oficina de forma que utilizaría una dirección de tipo 192.168.0.x,como no estoy en la oficina esta petición entrará por eth1 y no por eth0, que es por donde debería venir como me muestra la tabla de rutas.
firewall:/# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
127.0.0.0 * 255.255.255.0 U 0 lo192.168.0.0 * 255.255.255.0 U 0 eth010.42.0.0 * 255.255.0.0 U 0 eth1default * 0.0.0.0 U 0 eth1
El kernel de linux viene con un mecanismo de protección que implementa lo especificado en el RFC1812, para habilitarlo haremos lo siguiente:
firewall:/# for x in /proc/sys/net/ipv4/conf/*; do
> echo "1" > $x/rp_filter> done
Esta opción es muy recomendable
3- Activar o desactivar el reenvío de paquetes
La decisión depende del uso que vayamos a dar a nuestra máquina:
Si la máquina va a servir de router para dar acceso a varios ordenadores de nuestra red local, por ejemplo, debemos activar el reenvio de paquetes.
firewall:/# echo "1" > /proc/sys/net/ipv4/ip_forward
Si nuestra máquina está sola debemos desactivar el reenvío de paquetes ya quenos estamos exponiendo a servir de puente para otras maquinas.
firewall:/# echo "0" > /proc/sys/net/ipv4/ip_forward
Esta opción es muy recomendable
4 - Desactivar source routed packets
Un paquete source routed (no se como traducir esto) es un paquete IP que especifica la ruta que debe usar el paquete por la red. De esta forma se puede intentar hacer creer que el paquete procede de unared de confianza. En fin, un rollo, los detalles los podeis ver en http://csrc.nist.gov/publications/nistpubs/800-10/node25.html esta página.
Lo importante de esto es que este tipo de paquetes no se suelen utilizar nunca excepto para malos propósitos :)
firewall:/# echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route
Esta opción es recomendable
5 - Desactivar ICMP redirigidos
Un ICMPredirido se emplea para avisar al receptor que tiene que omitir algo de su tabla de rutas. Normalmente se emplea para informar que una ruta no es optima y cual es la nueva ruta a seguir. Esta opción posibilita a un atacante alterar la tabla de rutas del firewall a sus necesidades.
firewall:/# echo "0" > /proc/sys/net/ipv4/conf/all/accept_redirects
Esta opción es recomendable
6 - Habilitar...
Regístrate para leer el documento completo.