2/6/2008

Administración del firewall con ufw

El Uncomplicated FireWall (ufw) es una solución de administración de firewall sencilla, sin necesidad de entorno gráfico y con plena integración en el sistema de paquetes.

Las principales ventajas de este nuevo sistema son:
  • Sintaxis fácil e intuitiva
  • Integración con el sistema de paquetes
La integración con el sistema de paquetes es una buena noticia, pues hasta ahora, si por ejemplo instalabas apache (servidor web) tenías que encargarte manualmente de revisar la configuración de la red y abrir los puertos necesarios. Con ufw este proceso será automático y transparente para el usuario.

Si no lo tenemos instalado aun lo haremos con la orden:
$ sudo aptitude install ufw

Vamos a montar un sencillo firewall de seguridad en el que cerraremos todo el tráfico, excepto los servicios que queramos habilitar.

Iniciar el firewall:
  • Iniciar el firewall: $ sudo ufw enable
  • Establecer la política por defecto (todo cerrado): $ sudo ufw default deny
  • Guardar un registro: $ sudo ufw logging on
  • Mostrar el estado del firewall: $ sudo ufw status

Permitir ciertos servicios:
  • Habilitar el servicio http (apache) para todos: $ sudo ufw allow http
  • Habilitar el servicio ftp en la red interna: $ sudo ufw allow from 192.168.0.0/16 proto tcp to any port ftp
  • Habilitar la administración remota (ssh) para la IP 214.214.214.214: $ sudo ufw allow from 214.214.214.214 proto tcp to any port ssh

Otras funciones:
  • Eliminar una regla: $ sudo ufw delete allow 80
  • Abrir puerto 4662 para emule: $ sudo ufw allow 4662
  • Abrir puerto 6891 para torrent: $ sudo ufw allow 6891

Guardar el estado del firewall:
  • Las reglas definidas por el usuario se guardan de manera automática en el archivo /var/lib/ufw/user.rules
  • El arranque automático de utf durante el boot se puede activar/desactivar en el archivo /usr/share/ufw/ufw.conf definiendo la variable ENABLED a "yes" o "no", por ejemplo, así quedaría el archivo para que el firewall se active automáticamente en cada arranque:
# /etc/ufw/ufw.conf
#

# set to yes to start on boot
ENABLED=yes


Más información en la página del manual de ufw y también:
https://wiki.ubuntu.com/UbuntuFirewall
https://launchpad.net/ufw

Existe además un proyecto para crear una interfaz gráfica (aun más sencillo de usar) llamado gufw, podeis encontrar más información y el programa en:
https://launchpad.net/gufw/

7 comentarios:

car dijo...

muy bueno! es mucho mas facil q cualquier otro este... gracias!

Bruno dijo...

Excelente Blog!!

Leonardo Caracozza dijo...

buena info amigo, seria bueno que nos ofreciaras a los nuevos usuarios de linux una orientacion sobre como leer los logs, yo veo demaciado y no entiendo la mayoria

pd. solo una pregunta, puedo bloquear la salida de un puerto?, no se si me explico, me refiero no permitir enviar solicitudes por ejemplo al puerto 80 para negar el internet.

fosco_ dijo...

@Leonardo Caracozza: puedes bloquear los que quieras, la salida de un puerto, la entrada, por IP, por subred... pero no creo que vayas a conseguir el efecto que buscas, el navegador local no envía los paquetes a través del puerto 80, los envía con destino al puerto 80 del ordenador remoto que hace de servidor web.

No se si me he explicado, un saludo

Leonardo Caracozza dijo...

@gosco_: ooohh ya veo, si te explicaste bien amigo, gracias.

Jhin Hernandez Tafur dijo...

Hola felicitaciones, por el post esta muy bueno.

pero me gustaria saber como acceder al archivo de registro del firewall ufw, ya que lo tengo activado con:
sudo ufw logging on
quisiera saber como accedo a mi archivo de registro para ver las direcciones IP, que se filtran en el trafico.

espero vuestra respuesta gracias por anticipado

Dani Molina dijo...

@Leonardo, por defecto el registro de ufw se guarda en /var/log/ufw.log

Un saludo.