Herramientas de usuario

Herramientas del sitio


tutoriales:ufw_ubuntu

UFW en Ubuntu

Un firewall es un filtro que permite/deniega servicios dentro de una red. Ventajas de un firewall:

  • Protege de intrusiones.
  • Protección de información privada.
  • Optimización de acceso.

El firewall de GNU/Linux ya viene integrado dentro del kernel, actualmente se están manejando las reglas de el firewall con iptables el cual ya viene integrado desde la versión del kernel 2.4. El manejo de las reglas para nuestro firewall en ubuntu es por medio de iptables, existe la herramienta ufw (The uncomplicated firewall) que es muy fácil de utilizar que convierte nuestras reglas a iptables. La aplicación ufw viene integrada desde la versión de ubuntu 8.04 LTS. Primero veremos que servicio tenemos en escucha.

  root@server1:~# netstat tanp | grep LISTEN
  tcp 0 0 0.0.0.0:993 0.0.0.0:* LISTEN 4869/dovecot
  tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 4698/mysqld
  tcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN 4869/dovecot
  tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 4945/apache2
  tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 4850/vsftpd
  tcp 0 0 192.168.1.243:53 0.0.0.0:* LISTEN 4578/named
  tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 4578/named
  tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 4833/master
  tcp 0 0 0.0.0.0:4025 0.0.0.0:* LISTEN 4768/partimaged
  tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 4578/named
  root@server1:~#

Como podemos ver tenemos algunos servicios que están en escucha y en espera de peticiones.

Permitir/bloquear el acceso

Esta opción configura que nuestro firewall aceptara conexiones de todo tipo es muy inseguro teniendo esta opción activada.

  root@server1:~# ufw default allow

Cuando se crea un firewall se recomienda primero bloquear todos los puerto y conexiones para después abrir solamente los que se requieren.

  root@server1:~# ufw default deny

Iniciar/detener ufw

Para poder iniciar nuestro firewall solamente que ejecutar:

  root@server1:~# ufw enable

También se puede de la siguiente manera:

  root@server1:~# /etc/init.d/ufw start

Para detener nuestro firewall:

  root@server1:~# ufw disable

También se puede de la siguiente manera:

  root@server1:~# /etc/init.d/ufw stop

Y para reiniciar el servicio ufw:

  root@server1:~# /etc/init.d/ufw restart
  
  

Activando/desactivando logs

Para poder activar el log de nuestro firewall ejecutamos:

  root@server1:~# ufw logging on
  Logging enabled
  root@server1:~#
  

Para poder desactivarlo:

  root@server1:~# ufw logging off
  Logging disabled
  root@server1:~#
  

El log de nuestro firewall es guardado dentro del archivo /var/log/messages. Pero para poder ver los últimos sucesos del mismo ejecutamos

  root@server1:~# tail -f /var/log/messages
  Mar 9 12:06:07 server1 kernel: [11316.481777] [UFW BLOCK INPUT]:
  IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:00:e0:4d:0b:8d:41:08:00
  SRC=192.168.1.213 DST=192.168.1.255 LEN=195 TOS=0x00 PREC=0x00 TTL=64
  ID=0 DF PROTO=UDP SPT=631 DPT=631 LEN=175
  Mar 9 12:06:08 server1 kernel: [11317.479863] [UFW BLOCK INPUT]:
  IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:00:e0:4d:0b:8d:41:08:00
  SRC=192.168.1.213 DST=192.168.1.255 LEN=193 TOS=0x00 PREC=0x00 TTL=64
  ID=0 DF PROTO=UDP SPT=631 DPT=631 LEN=173

Reglas ufw

Comenzaremos con la administración de las reglas, todas las reglas estemos activando o bloqueando serán guardadas entro del archivo de configuración /var/lib/ufw/user.rules.

Habilitando puertos

Tenemos el siguiente ejemplo, el servicio el openssh esta siendo ocupado en nuestro servidor y esta en escucha de peticiones por el puerto 59345 y deseamos permitir las conexiones, entonces crearemos la regla de la siguiente manera.

  root@server1:~# ufw allow 59345 /tcp
  Rule added
  root@server1:~#
  

Pero tenemos otro ejemplo queremos activar el servicio apache.

  root@server1:~# ufw allow http
  Rule added
  root@server1:~#
  

Otro opciones de como habilitar:

  root@server1:~# ufw allow from 192.168.1.0/24 proto tcp to any port ftp
  Rule added
  root@server1:~#
  

En esta regla esta permitiendo la conexión al servidor FTP desde el segmento de red 192.168.1.0.

Desactivando puertos

Para poder bloquear puertos en nuestro firewall seria de la siguiente manera.

  root@server1:~# ufw deny 4025 /tcp
  Rule added
  root@server1:~#

Otros ejemplos:

  root@server1:~# ufw deny 139
  Rule added
  root@server1:~# ufw deny 445
  Rule added
  root@server1:~#

Eliminando reglas

Cuando tenemos alguna regla que nos permite conectarnos aun servicio del cual ya no se esta ocupando seria mejor eliminarla para que nuestra seguridad, por ejemplo:

  root@server1:~# ufw delete allow http
  Rule deleted
  root@server1:~#

Status ufw

Para poder ver el estado del firewall ejecutamos:

  root@server1:~# ufw status
  Firewall loaded
  
  
  To         Action From
  --         ------ ----
  59345:tcp  ALLOW Anywhere
  21:tcp     ALLOW 192.168.1.0/24
  4025:tcp   DENY Anywhere
  139:tcp    DENY Anywhere
  139:udp    DENY Anywhere
  445:tcp    DENY Anywhere
  445:udp    DENY Anywhere
  root@server1:~#
  

Como podemos ver son nuestra reglas que hemos creado. Pero tenemos otro modo ver estas reglas:

  root@server1:~# iptables nL 	 
  Chain ufwuserinput (1 references) 	 
  target  	prot    opt     source  	destination         	 
  ACCEPT  	tcp 	--	0.0.0.0/0 	0.0.0.0/0 	tcp dpt:59345 	 
  ACCEPT  	tcp 	--	192.168.1.0/24  	0.0.0.0/0 	tcp dpt:21 	 
  DROP  	tcp 	--	0.0.0.0/0 	0.0.0.0/0 	tcp dpt:4025 	 
  DROP  	tcp 	--	0.0.0.0/0 	0.0.0.0/0 	tcp dpt:139 	 
  DROP  	udp 	--	0.0.0.0/0 	0.0.0.0/0 	udp dpt:139 	 
  DROP  	tcp 	--	0.0.0.0/0 	0.0.0.0/0 	tcp dpt:445 	 
  DROP  	udp 	--	0.0.0.0/0 	0.0.0.0/0 	udp dpt:445 	 
  RETURN 	all 	--	0.0.0.0/0 	0.0.0.0/0 		 
  Chain ufwuseroutput (1 references) 	 
  target  	prot opt        source  	destination         	 
  RETURN 	all 		0.0.0.0/0 	0.0.0.0/0 	 

Inicio automático ufw

Para que nuestro firewall inicie cada vez que se apaga la máquina, deberemos modificar dentro del archivo de configuración de nuestro firewall.

  root@server1:~# vim /etc/ufw/ufw.conf
  

Dentro de este archivo solamente hay el parámetro ENABLED tienes que estar en yes para que inicie automáticamente si no esta así tienen que modificarlo.

  # /etc/ufw/ufw.conf
  #
  # set to yes to start on boot
  ENABLED=yes

Y con todo esto ya quedo configurado nuestro firewall.

tutoriales/ufw_ubuntu.txt · Última modificación: 2020/04/22 20:57 (editor externo)