Gestión gráfica de firewalls con Firewall Builder

Firewall Builder es una herramienta gráfica (GUI) que permite configurar firewalls de forma sencilla sin necesidad de conocer los comandos a ejecutar en el firewall ni su sintaxis para la creación de reglas.

Las bases de esta herramienta son: simplicidad, flexibilidad y ahorro de tiempo. La simplicidad se consigue gracias a la facilidad de uso de su GUI, que ofrece la gestión mediante objetos en lugar de comandos. Firewall Builder cuenta con objetos especiales y objetos personalizados de usuario, como objetos entendemos redes, hosts, segmentos de red, etc. También ofrece validación de reglas (control de reglas incorrectas o incompatibles con el tipo de firewall que estamos gestionando), compilador integrado que genera los ficheros de configuración específicos para cada plataforma y versión de software. La herramienta es muy flexible porque tiene soporte para una amplia gama de firewalls, incluidos Linux iptables, Cisco ASA & PIX, Cisco FWSM, Cisco router access lists, pf, ipfw y ipfilter para BSD y HP ProCurve ACL firewalls.

Otras características son el control de versiones con RCS, configuración de dispositivos (direcciones IP, rutas estáticas, VLAN, bridges…), scripts predefinidos de arranque y parada del firewall, plantillas predefinidas de firewall para los escenarios más comunes, etc.

Firewall Builder 1

Instalación

El proceso de instalación es sencillo ya que Firewall Builder está disponible en paquetes precompilados para todas las plataformas (RHEL, CentOS, Ubuntu,Debian, SuSe, Mac OS X, FreeBSD, Windows…)  y también en código fuente para compilarlo manualmente. Desde este enlace de SourceForge podéis bajar cualquiera de estos paquetes.

Una vez descargado, se instala a través de yum (RHEL, CentOS, Fedora, SuSe…), apt o dpkg (Debian, Ubuntu), puertos (FreeBSD) o ejecutable (Windows).

CentOS, Fedora, RHEL, SuSe…

# yum install fwbuilder-5.1.0.3599-1.el6.x86_64.rpm
# rpm -ivh fwbuilder-5.1.0.3599-1.el6.x86_64.rpm

Debian, Ubuntu…

# dpkg -i fwbuilder_5.1.0.3599-ubuntu-precise-1_i386.deb
# apt-get install fwbuilder

FreeBSD

# cd /usr/ports/security/fwbuilder
# make install

Configuración

Cuando arrancamos Firewall Builder, aparecen principalmente tres opciones: visualizar un tutorial para familiarizarnos con la herramienta, importar una configuración ya existente o generar un nuevo firewall.

En caso de generar un nuevo firewall, lo primero que debemos hacer es seleccionar:

  1. Nombre a asignar al proyecto de Firewall.
  2. Tipo de firewall a configurar; iptables, ipfilter, ipfw, PF, Cisco…
  3. Sistema operativo sobre el que se ejecuta el firewall.
  4. Elegir si usar o no una plantilla preconfigurada.

Si elegimos una plantilla preconfigurada, al hacer click en siguiente podremos seleccionar entre una gran variedad de configuraciones, cada una tiene una descripción para visualizar como está estructurada la plantilla:

Firewall Builder Templates

Después aparecerá un nuevo cuadro de configuración en el que especificaremos las interfaces de red que tiene el firewall y podremos asignar etiquetas de nombre, IP y máscara y comentarios:

firewall builder templates 2

Y con esto ya tendremos la base de nuestra configuración de firewall, ya sea con una plantilla predeterminada como es este caso (Plantilla servidor web) o simplemente con la definición de interfaces de red.

A partir de aquí ya podremos hacer uso de los objetos disponibles y comenzar a construir nuestras reglas y políticas de firewall, routing, NAT y compilarlas para exportarlas a nuestro sistema final. Os dejo un vídeo tutorial que os será de utilidad para familiarizaros con la herramienta. Además se visualiza mucho más claro en un vídeo que con capturas de pantalla. Encontraréis más vídeos un poquito más avanzados sobre la herramienta en el canal oficial de Youtube de Firewall Builder. También os recomiendo visitar el sitio web oficial donde encontraréis toda la documentación:

13 comentarios en “Gestión gráfica de firewalls con Firewall Builder

  1. Muy bueno. Gráficamente me recuerda mucho al Stonesoft Management Center, que es muy potente. Algo a tener muy en cuenta en futuros proyecto.

    • Sí, es compatible con pf, de todas formas, ¿para qué? pfsense ya tiene un frontend para gestionar gráficamente las reglas.

      Saludos

  2. Hola Alex, no creas, que el pfsense hace todo, he estado intenando configurar un brige y no hay forma, aunque lo hago da no lo hago que funcione y es simplemente sin nat y acepte todas las peticiones tanto entrada como saliente.
    Aprovecho también para felicitarte ,llevo años que te sigo tus publicaciones y son muy buenas.
    Muy buen trabajo
    Un saludo y gracias

    • Ufff, es que el pfSense lo probé durante un par de días nada más y sólo por curiosidad. No lo he montado en ningún proyecto serio.

      Me alegro que te sean de utilidad las publicaciones, gracias por visitar el blog!

    • Hola,

      ¿has seguido algún howto en especial? Sería interesante ver un esquema sencillo de cómo lo tienes montado actualmente y qué cambios has hecho en las configuraciones para poder localizar qué es lo que está fallando. Quizás si dieras un poco más de detalles a parte de «no hago que funcione» te podamos ayudar entre todos.

      Un saludo.

      • Hola Sidious, si puedo indicarlo sin ningun problema haciendo un esquema y creo que esto lo podemos compartir para todos de esta manera podriamos sacar mas beneficio al conocimiento entre todos, para ello necesitaria que me diera un pequeños espación para publicarlos y subir un grafico ya sea en jpg o tiff o como de me de para que las personas vean lo que voy o deseo efectuar.
        Un saludo y gracias

        • Hola,

          quizás puedas subir la imagen a un servicio gratuito, eliminando los datos sensibles o al menos parcialmente. Lo siento pero me es imposible proporcionarte un acceso para subir las imágenes, etc.

          Un saludo.

  3. Hola muchas gracias, os pego la imagen y os cuento como lo estoy intentando hacer.

    http://subefotos.com/ver/?bc558993bb21457a7d98788461c6270ao.jpg

    He seguido los dos ejemplos, claro esta que en los ejemplos solo hay un router y yo dispongo de dos.

    http://rincondeh2ti.blogspot.com.es/
    http://gutl.jovenclub.cu/wiki/tutoriales/pfsense-bridge

    http://blog.cycomptec.com/bridge-pfsense-firewall-public-private-ips-connected-dmz/

    https://forum.pfsense.org/index.php?topic=37824.0

    He probado todas las opciones pero no lo he conseguido, la versión de pfsense que dispongo es la 2.1.5

    Lo he efectuado con virtualbox y con tres tarjetas de red diferentes pero sigue igual, si podeis comentarme en que me equivoco o que es lo que estoy haciendo mal os lo agradeceria.
    Un saluo y gracias

  4. Hola, ya lo he resuelto, mas adelante hare un vidio para que todo el mundo pueda aprovechar la potencia del firewall, muchas gracias a todos.
    Un saludo

  5. Instalar Firewall Builder en CentOS 7:

    Amigos
    Necesito su ayuda, he tratado de instalar Firewall Builder en CentOs 7 de diferentes maneras, he bajado los paquetes en diferentes versiones, fwbuilder-3.0.6-b1309.el5.i386.rpm, fwbuilder-5.1.0.3599-1.el5.x86_64.rpm, pero al tratar de instalarlo me arroja los siguientes errores:

    [root@localhost home]# yum install fwbuilder-5.1.0.3599-1.el5.x86_64.rpm
    Complementos cargados:fastestmirror, langpacks, priorities
    Examinando fwbuilder-5.1.0.3599-1.el5.x86_64.rpm: fwbuilder-5.1.0.3599-1.el5.x86_64
    Marcando fwbuilder-5.1.0.3599-1.el5.x86_64.rpm para ser instalado
    Resolviendo dependencias
    –> Ejecutando prueba de transacción
    —> Paquete fwbuilder.x86_64 0:5.1.0.3599-1.el5 debe ser instalado
    –> Procesando dependencias: libnetsnmp.so.10()(64bit) para el paquete: fwbuilder-5.1.0.3599-1.el5.x86_64
    Loading mirror speeds from cached hostfile
    * base: mirror.gtdinternet.com
    * elrepo: http://ftp.nluug.nl
    * epel: epel.gtdinternet.com
    * extras: mirror.gtdinternet.com
    * nux-dextop: li.nux.ro
    * remi: remirpm.mirror.gymkl.ch
    * remi-safe: remirpm.mirror.gymkl.ch
    * rpmforge: repoforge.gtdinternet.com
    * updates: mirror.gtdinternet.com
    4004 packages excluded due to repository priority protections
    –> Resolución de dependencias finalizada
    Error: Paquete: fwbuilder-5.1.0.3599-1.el5.x86_64 (/fwbuilder-5.1.0.3599-1.el5.x86_64)
    Necesita: libnetsnmp.so.10()(64bit)
    Podría intentar utilizar el comando –skip-broken para sortear el problema
    Podría intentar ejecutar: rpm- Va –nofiles –nodigest

    También intente con esta versión y me arrojo los siguientes errores:

    [root@localhost home]# cd fwbuilder-5.1.0.3599
    [root@localhost fwbuilder-5.1.0.3599]# ./autogen.sh
    Found GNU Make at /usr/bin/gmake … good.
    This script runs configure …
    libtoolize: putting auxiliary files in `.’.
    libtoolize: copying file `./config.guess’
    libtoolize: copying file `./config.sub’
    libtoolize: copying file `./install-sh’
    libtoolize: copying file `./ltmain.sh’
    libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4′.
    libtoolize: copying file `m4/libtool.m4′
    libtoolize: copying file `m4/ltoptions.m4′
    libtoolize: copying file `m4/ltsugar.m4′
    libtoolize: copying file `m4/ltversion.m4′
    libtoolize: copying file `m4/lt~obsolete.m4′
    libtoolize: Consider adding `-I m4′ to ACLOCAL_AMFLAGS in Makefile.am.
    aclocal: warning: autoconf input should be named ‘configure.ac’, not ‘configure.in’
    checking build system type… x86_64-unknown-linux-gnu
    checking host system type… x86_64-unknown-linux-gnu
    checking target system type… x86_64-unknown-linux-gnu
    checking how to print strings… printf
    checking for gcc… gcc
    checking whether the C compiler works… yes
    checking for C compiler default output file name… a.out
    checking for suffix of executables…
    checking whether we are cross compiling… no
    checking for suffix of object files… o
    checking whether we are using the GNU C compiler… yes
    checking whether gcc accepts -g… yes
    checking for gcc option to accept ISO C89… none needed
    checking for a sed that does not truncate output… /usr/bin/sed
    checking for grep that handles long lines and -e… /usr/bin/grep
    checking for egrep… /usr/bin/grep -E
    checking for fgrep… /usr/bin/grep -F
    checking for ld used by gcc… /usr/bin/ld
    checking if the linker (/usr/bin/ld) is GNU ld… yes
    checking for BSD- or MS-compatible name lister (nm)… /usr/bin/nm -B
    checking the name lister (/usr/bin/nm -B) interface… BSD nm
    checking whether ln -s works… yes
    checking the maximum length of command line arguments… 1572864
    checking whether the shell understands some XSI constructs… yes
    checking whether the shell understands «+=»… yes
    checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format… func_convert_file_noop
    checking how to convert x86_64-unknown-linux-gnu file names to toolchain format… func_convert_file_noop
    checking for /usr/bin/ld option to reload object files… -r
    checking for objdump… objdump
    checking how to recognize dependent libraries… pass_all
    checking for dlltool… no
    checking how to associate runtime and link libraries… printf %s\n
    checking for ar… ar
    checking for archiver @FILE support… @
    checking for strip… strip
    checking for ranlib… ranlib
    checking for gawk… gawk
    checking command to parse /usr/bin/nm -B output from gcc object… ok
    checking for sysroot… no
    checking for mt… no
    checking if : is a manifest tool… no
    checking how to run the C preprocessor… gcc -E
    checking for ANSI C header files… yes
    checking for sys/types.h… yes
    checking for sys/stat.h… yes
    checking for stdlib.h… yes
    checking for string.h… yes
    checking for memory.h… yes
    checking for strings.h… yes
    checking for inttypes.h… yes
    checking for stdint.h… yes
    checking for unistd.h… yes
    checking for dlfcn.h… yes
    checking for objdir… .libs
    checking if gcc supports -fno-rtti -fno-exceptions… no
    checking for gcc option to produce PIC… -fPIC -DPIC
    checking if gcc PIC flag -fPIC -DPIC works… yes
    checking if gcc static flag -static works… no
    checking if gcc supports -c -o file.o… yes
    checking if gcc supports -c -o file.o… (cached) yes
    checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries… yes
    checking whether -lc should be explicitly linked in… no
    checking dynamic linker characteristics… GNU/Linux ld.so
    checking how to hardcode library paths into programs… immediate
    checking whether stripping libraries is possible… yes
    checking if libtool supports shared libraries… yes
    checking whether to build shared libraries… yes
    checking whether to build static libraries… yes
    Creating VERSION.h file…
    checking for qmake… no
    checking for qmake-qt4… no
    configure: error: «Could not find qmake»
    [root@localhost fwbuilder-5.1.0.3599]# make
    make: *** No se especificó ningún objetivo y no se encontró ningún makefile. Alto.
    [root@localhost fwbuilder-5.1.0.3599]# make install
    make: `install’ está actualizado.

    Ayuda por favor, soy novato en esto, he intentado instalando manualmente las librerías que me pide, y me sigue arrojando los mismos errores.

    Si existiera algún manual con los pasos a seguir durante la instalación de Firewall Builder, se los agradecería, he buscado mucha información en la web pero no he podido solucionarlo.

  6. hola soy nueva en esto necesito crear una regla para dar acceso a una ip y su respectivo puerto es 190.144.126.12:11944 como lo hago

Comments are closed.