Los firewalls juegan un rol fundamental dentro de la seguridad de una organización. De esta manera, es necesario aclarar algunos conceptos referentes a como configurar un firewall en un sistema basado en Unix, utilizando iptables . Esta herramienta provee funcionalidades muy eficientes para el filtrado de protocolos y actividades de la misma naturaleza.
¿Qué es iptables?
Iptables es un sistema de firewall vinculado al kernel de Linux. La ventaja es que se encuentra integrado con el sistema operativo por lo que, en general, es muy utilizado por los profesionales de seguridad.
Al igual que otros tipos de firewalls, iptables funciona a través de reglas. De esta manera, es posible definir a que tipos de paquetes se les permite el paso, sobre que puerto, protocolos, etc.
Iptables es una herramienta compleja que posee un alto índice de granularidad. En esta ocasión analizaremos algunas de las funcionalidades de las que dispone y en futuras publicaciones, profundizaremos su comportamiento.
¿Cuándo utilizar iptables?
En entornos corporativos, suelen exponerse equipos a Internet con determinado fin. En estos casos, es importante contar con una configuración adecuada a nivel de red ya que este puede ser el punto de entrada para un potencial atacante.
En ciertos casos, también se suelen combinar firewalls físicos con iptables para lograr una configuración más segura.
¿Qué tipo de reglas existen en iptables?
Iptables posee tres grandes grupos de reglas:
- Reglas de filtrado: Esto se logra a partir de las reglas INPUT, OUTPUT y FORWARD. Permite determinar que tipos de paquetes pueden ingresar a la red y redireccionarlos al destino de interés.
- NAT: Son el grupo de reglas que permiten aplicarse a partir de la dirección ip de source (origen) y destination (destino), y realizar la traslación al puerto adecuado.
- Mangle: Este tipo de reglas aplica sobre los flags de los paquetes.
La sintaxis para utilizar iptables es la siguiente:
iptables <opciones><criterio><dirección del objetivo>
Primera aproximación
Para poder visualizar las reglas existentes solo hace falta ejecutar el comando iptables -L.
Esto permite comprobar que tipos de reglas están vigentes sobre el firewall en el sistema.
Es conocido como una buena medida de seguridad deshabilitar la respuesta al ping en caso de no ser estrictamente necesario. Esto permite dificultar la etapa de descubrimiento de un determinado sistema en caso de un potencial atacante fije el interés sobre este objetivo.
Esta tarea es muy sencilla de realizar con iptables. Solo basta con fijar una regla para realizar un drop (eliminar) sobre los paquetes específicos. En el caso del ping estándar, el paquete es de tipo ICMP 8. Por lo tanto, se debe filtrar el paquete con la siguiente regla:
iptables -A INPUT -p icmp –d [direccion ip] --icmp-type 8 -j DROP
Para comprobar que la regla realmente funciona, realizamos un ping al sistema objetivo antes y después de aplicar la regla.
Tal como puede observarse, en la segunda imagen la regla bloquea totalmente el ping realizado al sistema.
Es importante considerar este tipo de metodologías de seguridad ya que, en muchos casos, impedirá el acceso no autorizado a recursos de la compañía. En futuras publicaciones profundizaremos sobre otras reglas más prácticas para personalizar iptables de acuerdo a la necesidad de la compañía. La finalidad de este tipo de herramienta es la de minimizar posibles brechas de seguridad y vulnerabilidades.
Tal como siempre recordamos, la seguridad debe ser gestionada, y es por ello que brindamos este tipo de consejos para comenzar a contemplar la misma con la importancia que merece.