Uno de los elementos que contribuyen a garantizar la seguridad en una red son los Cortafuegos (Firewalls). Estos equipos, básicamente, permiten o deniegan, el tráfico en una red en función de unos parámetros dados que como norma general son las IPs de origen y destino, números de puertos (80, 443, 21, 22, etc.) y protocolos, generalmente TCP y UDP. Dependiendo de las características del Firewall en cuestión, éstos ofrecen otras funcionalidades adicionales como filtrado a nivel de aplicación (HTTP, FTP, DNS, etc.), creación de VPNs, etc.
Existen muchos fabricantes como Cisco, Juniper, Checkpoint, que ofrecen este tipo de equipos, pero independientemente de cualquiera de ellos, diseñar, implementar y mantener una correcta y estricta política de filtrado de tráfico es vital para garantizar la seguridad de red. Para poder llevar a cabo esta tarea los propios fabricantes disponen de herramientas propietarias para configurarlos, o incluso equipos específicos de administración.
Pero al margen de soluciones propietarias, GNU/Linux nos trae la herramienta iptables la cual nos permite no sólo filtrar el tráfico que pasa por el equipo sino además manipular los paquetes. Esta funcionalidad aparte de proteger equipos también nos puede servir para crear un firewall si a éste le añadimos varias tarjetas de red. Aquí os dejo un manual que explica muy bien esta funcionalidad, pincha aqui.
Como habréis podido ver, configurar las reglas tiene los suyo sobre todo a medida que vamos añadiendo reglas y más reglas. Sin embargo existe una herramienta que nos puede ayudar mucho en esta tarea, y es FWBuilder. Con FWBuilder podremos crear reglas para distintas plataforma las cuales podremos consultar aquí.
En mi caso lo he probado sobre un Ubuntu 12.04 LTS, con lo que me he bajado el .deb correspondiente y gracias a la herramienta gdebi la he instalado.
Una vez instalada la aplicación, la abrimos y tendremos la siguiente ventana:
Para empezar a crear nuestra primera política pincharemos en “Create new firewall” apareciéndonos un asistente donde definiremos la plataforma. En nuestro caso iptables.
Luego nos pedirá definir las interfaces, paso que podremos saltarnos y hacerlo a posteriori si queremos.
En la ventana encontraremos distintos apartados. Por ejemplo en “Library” optaremos por “Standard” y “User”. En el primero tendremos predefinidos los servicios más utilizados en función sean en TCP o UDP. En “User” podremos definir aquellos que por una razón u otra personalizaremos según nuestras necesidades. Por ejemplo correr SSH en el puerto 65500 en lugar del 22.
Otra de las partes es la que cuelga bajo el nombre que le hayamos dado a nuestra regla, que son “Policy”, “NAT” y “Routing”. En Policy, indicaremos las reglas de filtrado como tal, IP origen, destino, servicio, interface, etc. y la correspondiente acción, denegar, permitir, etc.
En NAT, obviamente las reglas de “NATeo” que vayamos a definir en el caso de ser necesario.
Y finalmente “Routing” las tablas de rutas a las que estarán sujetos los paquetes que pasen por nuestro Firewall.
Para agregar una entrada en cada una de los puntos anteriores bastará con hacer doble click en la cruz verde bajo la opción “Install”.
Luego tendremos otros dos apartados denominados “Objects” y “Services”. En el primero definiremos todo lo relacionado a equipos, grupos de equipos, redes, subredes, etc. mientras que en el segundo aquello vinculado a servicios, es decir protocolos IP, TCP, UDP, y sus correspondientes números de puerto.
Una vez tengamos todo hecho, tendremos que ir al apartado “Compile”. Con esto, la herramienta compilará todas las reglas (Policy, NAT y Routing) y generará un archivo si todo está correcto. Si no lo está, nos dará un error, el cual tendremos que corregir modificando el apartado erróneo. Finalmente, ejecutaremos el fichero en cuestión y se aplicará todo lo que hayamos configurado.
Lo que he tratado de hacer en este post es presentar una herramienta que nos puede ayudar mucho en nuestras tareas de administración para elaborar nuestras reglas de filtrado en nuestro Firewall, y que, en caso de no disponer uno, si tenemos la posibilidad de instalar unas tarjetas de red en un PC, nos bajamos una distribución GNU/Linux como Ubuntu y con FWBuilder montarnos nuestro propio firewall.
También tenemos otras alternativas como utilizar alguna de las distribuciones ya creadas como pueden ser Smoothwall Firewall o Monowall Firewall
Seguiremos informando.