Amigos lectores, voy a dedicar este capítulo a los firewall en Linux o lo que es lo mismo cortinas, paredes o muros de fuego. La función básica de un firewall es la de filtrar paquetes. Los firewall pueden ser de Hardware o de Software. En Linux el firewall está compilado en el kernel, lo que lo hace disponible en cualquier distribución Linux, y no es necesario arrancar ningún tipo de aplicación ya que arranca cada vez que se inicia el Sistema Operativo. Se preguntarán, ¿cómo dejo de filtrar paquetes? Sencillo, el firewall en Linux es manejado por reglas, si no existen reglas, queda inactivo.
En el mundo Open Source existen una cantidad de aplicaciones gráficas que permiten generar reglas de modo sencillo, de las cuales me llama la atención fwbuilder y webmin (éste permite la administración de la máquina de forma remota vía web, y tiene una función para manejo de filtro de paquetes).
Cómo se crean las reglas…
Para comenzar, para versiones de kernel anterior a 2.4, se usa el comando ipchain, posterior a esta versión de ker-nel se usa iptables, que es la que explicaremos. La diferencia entre iptables e ipchain es el aporte de muchas mejoras.
- FILTER: Esta es la tabla por defecto, permite generar reglas de filtrado. Qué paquetes aceptar, cuales rechazar o cuales paquetes omitir.
- NAT: Permite el enmascaramiento de IP, la cual es muy usada en el paso de una red a otra, a través de varias interfaces de red.
- MANGLE: Permite la modificación del paquete como puede ser TOS (Type of Service), TTL (Time to Live), o mark, lo cual permite marcar el paquete (usado para QOS o Calidad de Servicio)
Cada cadena tiene una acción definida por defecto, debido a que si no existe regla que cumpla con la condición del paquete se ejecuta la acción por defecto.Las acciones pueden ser ACCEPT, REJECT,DROP, MASQUERADE, DNAT, SNAT, LOG.
- ACCEPT: como su nombre lo indica, el paquete es aceptado,
- REJECT: el paquete es rechazado y el emi-sor recibe notificación a través del protocolo
- ICMP,DROP: el paquete es descartado y no se envía ninguna notificación al emisor,
- MASQUERADE: enmascaramiento de la dirección IP origen de forma dinámica (más adelante se explicará),
- DNAT: enmascaramiento de la dirección destino, ideal para re-enrutado de paquetes,
- SNAT: enmascaramiento de la IP origen similar a MASQUERADE pero con IP FIJA.
Sintaxis del comando iptables
El comando iptables tiene un sin número de parámetros, como también comandos. Los comandos indican que vamos hacer algo con las reglas, agregar una nueva regla, modificar una regla existente, insertar, etc. La sintaxis essencilla, pero a medida que necesitamos reglas complejas éstas son más largas.
Explicando un poco los comandos anteriores, quiero resaltar que todo lo que está entre corchetes es opcional. En el caso de [-t tabla] si no se especifica por defecto es filter. Todo lo que aparece posterior a [-t tabla] es el comando a aplicar a iptables, como por ejemplo -A, -I. etc.
Vamos a describir a continuación los comandos:
- -R Reemplazar la regla numero_regla existente en la cadena cadena por los pa-rámetros dados,
- -A Agregar una nueva regla al final de la cadena especificada cadena,
- -I Insertar una nueva regla antes de la regla numero_regla en la cadena cadena por los parámetros dados,
- -D Eliminar la regla numero_regla existente en la cadena cadena,
- -N Crear una nueva cadena con el nombre cadena,
- -X Elimina cadena con el nombre cadena. (No deben existir reglas para poder eliminar una cadena),
- -P Modifica acción por defecto de la cadena cadena,
- -E Modifica el nombre de la cadena nombre-anterior-cadena por nombre-nueva-cadena,
- -L listado de reglas de la cadena cadena. Si no se especifica la cadena listará todas las reglas de todas las cadenas,
- -F eliminar todas las reglas de la cadena cadena. (Si no se especifica la cadena eli-minará todas las reglas de todas las cadenas),
- -Z Colocar en cero los contadores de paquetes y bytes de la cadena. (Si no se especifica la cadena borrará todos los contadores de todas las reglas en todas las cadenas).

No hay comentarios:
Publicar un comentario