GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo configurar el cortafuegos UFW en Ubuntu 18.04

En este artículo, le mostraré cómo configurar el firewall UFW en Ubuntu 18.04. En Ubuntu, el firewall predeterminado es UFW, abreviatura de FireWall sin complicaciones . Ha existido desde el lanzamiento de Ubuntu 18.04 y se creó para simplificar la configuración de iptables, que era bastante compleja.

Al usar cualquier sistema operativo, un firewall es una de las características más importantes que se deben considerar en lo que respecta a la seguridad de su sistema. Un firewall es un escudo o barrera que existe entre su PC e Internet y bloquea el tráfico no autorizado, como el acceso remoto a su sistema, y ​​ayuda a proteger contra códigos maliciosos que atraviesan constantemente Internet. Un firewall puede ser hardware o software. Un firewall de hardware es un sistema de firewall independiente que se coloca en la red para agregar una capa protectora mediante el control del flujo de tráfico hacia y desde la red, así como para bloquear el acceso de los usuarios a sitios no deseados. Un firewall de software está integrado en sistemas operativos como Linux y Windows y ayuda a mantener su sistema a salvo de ataques externos.

Lea también:

  • Cómo habilitar, denegar, permitir y eliminar reglas en Ubuntu UFW Firewall

Instalación de UFW

De manera predeterminada, Ubuntu 18.04 viene con ufw instalado. Sin embargo, para sistemas anteriores, tendría que ejecutar el siguiente comando

apt-get install ufw

Para verificar si ufw se está ejecutando, ejecute

systemctl status ufw

Si se está ejecutando, debería obtener el siguiente resultado

● ufw.service - Uncomplicated firewall
   Loaded: loaded (/lib/systemd/system/ufw.service; enabled; vendor preset: enab
   Active: active (exited) since Tue 2018-04-10 22:03:30 UTC; 4min 1s ago
  Process: 376 ExecStart=/lib/ufw/ufw-init start quiet (code=exited, status=0/SU
 Main PID: 376 (code=exited, status=0/SUCCESS)
    Tasks: 0
   Memory: 0B
      CPU: 0
   CGroup: /system.slice/ufw.service

Apr 10 22:03:30 ip-172-31-41-251 systemd[1]: Started Uncomplicated firewall.
Warning: Journal has been rotated since unit was started. Log output is incomple

Para comprobar si está activo o inactivo ejecutar

ufw status

Si está inactivo, obtendrá el siguiente resultado

Status: inactive

Para activar UFW con el conjunto predeterminado de reglas, ejecute

ufw enable

Para deshabilitar la ejecución del cortafuegos

ufw disable

Configuración de reglas ufw predeterminadas

Para configurar reglas predeterminadas que permitan todos los protocolos salientes, inicie sesión como root y ejecute

ufw default allow outgoing

Salida

Default outgoing policy changed to 'allow'
(be sure to update your rules accordingly)

Para denegar todas las conexiones entrantes, ejecute

ufw default deny incoming

Salida

Default outgoing policy changed to 'deny'
(be sure to update your rules accordingly)

Los comandos anteriores permitirán todas las conexiones salientes y denegarán o bloquearán todas las conexiones entrantes.
En este punto, es posible que desee habilitar el firewall, sin embargo, antes de hacerlo, primero permita ssh. Esto evita la desconexión del servidor ya que especificamos la denegación de todas las conexiones entrantes anteriormente.

Para permitir ssh, ejecute

ufw allow 22/tcp

Saliente

Skipping adding existing rule
Skipping adding existing rule (v6)

El acceso ssh también se puede permitir por nombre de servicio,

ufw allow ssh

Si desea eliminar la regla, ejecute

ufw delete allow 22/ssh

Para denegar un servicio por nombre ejecutar

ufw deny service-name

Por ejemplo

ufw deny ssh

Para ver todos los servicios que se pueden permitir o denegar en el sistema, consulte /etc/services archivo.

cat /etc/services | less

Salida de muestra

ftp-data        20/tcp
ftp             21/tcp
fsp             21/udp          fspd
ssh             22/tcp                          # SSH Remote Login Protocol
ssh             22/udp
telnet          23/tcp
smtp            25/tcp          mail
time            37/tcp          timserver
time            37/udp          timserver
rlp             39/udp          resource        # resource location
nameserver      42/tcp          name            # IEN 116
whois           43/tcp          nicname
tacacs          49/tcp                          # Login Host Protocol (TACACS)
tacacs          49/udp
re-mail-ck      50/tcp                          # Remote Mail Checking Protocol
re-mail-ck      50/udp
domain          53/tcp                          # Domain Name Server
domain          53/udp

Iniciando el cortafuegos ufw

Para activar el firewall, inicie sesión como root y ejecute el siguiente comando:

 ufw enable

Es posible que reciba la siguiente advertencia

Command may disrupt existing ssh connections. Proceed with operation (y|n)? y

Si selecciona Sí, obtendrá el siguiente resultado

Firewall is active and enabled on system startup

Firewall ahora está activo y se iniciará en cada arranque. Podemos volver a mirar las reglas del cortafuegos:

ufw status

La salida ahora mostrará el estado del firewall más los servicios/puertos permitidos

Salida

ufw status active
Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere
22                         ALLOW       Anywhere
22/tcp (v6)                ALLOW       Anywhere (v6)
22 (v6)                    ALLOW       Anywhere (v6)

Permitiendo conexiones en ufw

Puede permitir fácilmente la conexión entrante en el puerto/rango, el nombre de la aplicación, la dirección IP/subred en ufw.
Mira los ejemplos a continuación.

a) Permitir aplicaciones por nombre o número de puerto/rango

ufw allow service-name

O

ufw allow port/tcp

Por ejemplo

 ufw allow ssh or  ufw allow 22/tcp
 ufw allow ftp or ufw allow 21/tcp

sudo ufw permite 1500:2000/tcp

b) Permite dirección IP/subredes

Los siguientes comandos permiten conexiones desde IP o subredes específicas y también podemos usar números de puerto específicos.
Para permitir conexiones desde una dirección IP específica

ufw allow from 10.200.20.45

Para especificar una IP que puede conectarse a un puerto específico, ejecute

ufw allow from 10.200.20.45 to any port 22

Lo anterior permite que la dirección IP 10.200.20.45 solo se conecte a través de ssh

Para permitir que una determinada subred de direcciones IP se conecte al sistema, use la notación CIDR para especificar una máscara de red

ufw allow from 192.168.1.0/24

Lo anterior permite que IPs de 192.168.1 a 192.168.1.254 se conecten al sistema
También puede especificar el puerto de destino de la subred

ufw allow from 192.168.1.0/24 to any port 22

Esto implica que las direcciones IP de 192.168.1 a 192.168.1.254 pueden conectarse al sistema a través del puerto 22, que es ssh.

c) Permitir por el nombre de la interfaz

Si necesitamos permitir conexiones a través del nombre de la interfaz, es posible

ufw allow in on eth0 to any port 80

Cómo denegar conexiones en ufw

Por defecto, ufw está configurado para denegar todas las conexiones entrantes.

a) Dirección IP / subred

Si queremos bloquear el acceso de alguna dirección IP específica, podemos hacerlo con el siguiente comando:

ufw deny from 192.168.1.15

Esto bloqueará todas las conexiones entrantes del host con la dirección IP 192.168.1.15

A continuación, bloqueemos toda la subred:

ufw deny from 150.165.125.0/24

Esto bloqueará todas las conexiones provenientes de esta subred.

b) Denegar puertos y aplicaciones

Negar un puerto o un servicio

ufw deny 80/tcp

O

ufw deny http

sudo ufw deny 1500:2000/tcp *Esto negará rangos de puertos*

Eliminar y hacer un seguimiento de las reglas

Cuando agrega muchas reglas, puede hacer un mejor seguimiento de ellas al ver sus números. Puede obtener números con el siguiente comando:

ufw status numbered

Salida

ufw status numbered
Status: active

     To                         Action      From
     --                         ------      ----
[ 1] 22/tcp                     ALLOW IN    Anywhere
[ 2] 22                         ALLOW IN    Anywhere
[ 3] 80/tcp                     ALLOW IN    Anywhere
[ 4] 53/tcp                     ALLOW IN    Anywhere
[ 5] 22/tcp (v6)                ALLOW IN    Anywhere (v6)
[ 6] 22 (v6)                    ALLOW IN    Anywhere (v6)
[ 7] 80/tcp (v6)                ALLOW IN    Anywhere (v6)
[ 8] 53/tcp (v6)                ALLOW IN    Anywhere (v6)

Digamos que queremos eliminar la regla número 2. Lo hacemos con el siguiente comando:

 ufw delete 2

Nota:

Después de eliminar la segunda regla en el cortafuegos, la regla 3 ahora será la nueva regla 2. Entonces, si desea eliminar la regla 3 actual, la eliminará usando el número 2.

 ufw delete allow http

Restablecer reglas

Si no está satisfecho con las reglas actuales y desea comenzar de nuevo, puede hacerlo ejecutando

ufw reset

Inicio de sesión y recarga

Para habilitar el registro, use el siguiente comando:

 ufw logging on

Si desea deshabilitar el registro por algún motivo (no recomendado), puede usar este comando:

sudo ufw cerrar sesión

Los registros están por defecto en /var/log/ufw.log Para verlos en tiempo real, usa tail -f así:

tail -f /var/log/ufw.log /pre>

You will see all actions of firewall in that file. If you need to reload firewall for some reason, because you changed some config files manually, use following command.
 ufw reload

Si desea ver las reglas que se agregaron recientemente

 ufw show added

Archivos de configuración de UFW

Para la mayoría de los escenarios, puede usar comandos de terminal, pero en algunos casos, querrá editar los archivos de configuración directamente. El ufw tiene múltiples archivos de configuración, a saber:

/etc/ufw/before.rules
/etc/ufw/before6.rules

Esos dos archivos contienen reglas que se evalúan antes que todas las reglas que agregó mediante comandos ufw. Entonces, si desea que se aplique alguna regla primero, la quiere allí. El primer archivo es para ipv4 y el segundo es para v6

/etc/ufw/after.rules
/etc/ufw/after6.rules

Estos se evalúan después de las reglas de comando ufw. Son buenos para usar si desea anular alguna regla y aplicarla sin importar qué. Nuevamente, dos archivos, para dos versiones del protocolo IP que se utilizan actualmente.

/etc/default/ufw

Aquí tenemos módulos del kernel que usa ufw, así como otras configuraciones generales. Puede editar cualquiera de estos archivos de configuración solo como raíz y puede usar cualquier editor de texto que desee.

Evite agregar reglas duplicadas
A continuación, observemos el mecanismo contra las reglas duplicadas. Primero abriremos el puerto 101

 sudo ufw allow 100

Tenga en cuenta que el comando sin protocolo como el anterior abre tanto el puerto UDP como el puerto TCP. Entonces, ejecutemos el mismo comando nuevamente para ver qué sucede

 ufw allow 100

Salida

Skipping adding existing rule
Skipping adding existing rule (v6)

No nos permite agregar una regla duplicada. Eso es bueno, pero aún existe la posibilidad de que podamos agregar una regla duplicada, mediante esta serie de comandos:

 ufw allow 101/udp
 ufw allow 101/tcp

Después de permitir TCP y UDP en el puerto 101, aún podemos agregar el puerto abierto 101 para todos los protocolos y esta es una regla duplicada ya que el puerto 101 se abre dos veces, una para cada protocolo y otra para todos.

ufw allow 101

Esto deja margen para el error y, por lo general, no es una buena práctica. Necesitamos deshacer los tres comandos con el comando ufw delete si queremos volver al valor predeterminado para el puerto 101.

Para cerrar algún puerto, ejecute los mismos comandos, pero en su lugar permita, escriba denegar.

En este artículo, hemos cubierto el uso de UFW, que es un cortafuegos sencillo que se utiliza para permitir o restringir el tráfico. Es un cortafuegos muy poderoso para regular el tráfico a su sistema. Siéntase libre de probar los comandos en su sistema.


Ubuntu
  1. Cómo configurar HAProxy en Ubuntu 16.04

  2. Cómo configurar un cortafuegos con UFW en Ubuntu \ Debian

  3. Cómo configurar un cortafuegos con UFW en Ubuntu 16.04

  4. Cómo configurar un firewall con UFW en Ubuntu 18.04

  5. Cómo configurar el cortafuegos UFW en Ubuntu 18.04

Cómo configurar el cortafuegos UFW en Debian 11

Cómo instalar el cortafuegos UFW en Ubuntu 16.04 LTS

Cómo configurar el cortafuegos UFW en Ubuntu 18.04 LTS

Cómo configurar el cortafuegos UFW en Ubuntu 20.04 LTS

Cómo configurar el cortafuegos con UFW en Ubuntu Linux

Cómo configurar el cortafuegos UFW en Ubuntu 20.04