GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo instalar y configurar el cortafuegos UFW en Ubuntu 20.04

Una de las piedras angulares de cualquier sistema operativo es un firewall correctamente configurado para la seguridad completa del sistema. UFW (Firewall sin complicaciones) está instalado por defecto en los sistemas operativos Ubuntu; sin embargo, no está habilitado. Uno de los grandes beneficios de UFW es su línea de comando simple, fácil de usar y fácil de usar, lo que lo hace ideal para principiantes en Linux hasta los usuarios avanzados más avanzados.

En el siguiente tutorial, aprenderá a instalar y configurar UFW Firewall en Ubuntu 20.04 LTS Focal Fossa Desktop o Server usando el terminal de comando.

Requisitos

  • SO recomendado: Ubuntu 20.04
  • Cuenta de usuario: Una cuenta de usuario con sudo o acceso raíz.

Actualizar Sistema Operativo

Actualiza tu Ubuntu sistema operativo para asegurarse de que todos los paquetes existentes estén actualizados:

sudo apt update && sudo apt upgrade -y

El tutorial usará el comando sudo y asumiendo que tiene estado sudo .

Para verificar el estado de sudo en su cuenta:

sudo whoami

Ejemplo de salida que muestra el estado de sudo:

[joshua@ubuntu ~]$ sudo whoami
root

Para configurar una cuenta Sudo existente o nueva, visite nuestro tutorial sobre Cómo agregar un usuario a Sudoers en Ubuntu .

Para usar la cuenta raíz , use el siguiente comando con la contraseña de root para iniciar sesión.

su

Cómo habilitar, instalar o eliminar UFW

El primer paso para configurar un firewall UFW será habilitar el firewall.

sudo ufw enable

Ejemplo de salida:

Firewall is active and enabled on system startup

De manera predeterminada, todo el tráfico entrante se bloquea automáticamente y todo el tráfico saliente se permite una vez que el firewall está activo. Esto protegerá instantáneamente su sistema evitando que cualquier persona se conecte de forma remota a su sistema.

Si UFW se eliminó anteriormente y desea reinstalar el firewall con el siguiente comando.

sudo apt install ufw -y

A continuación, verifique el estado de UFW para asegurarse de que esté activo y sin errores.

sudo systemctl status ufw

Ejemplo de salida:

En el futuro, si necesita deshabilitar UFW por un período de tiempo temporal, use el siguiente comando.

sudo ufw disable

Para eliminar UFW por completo de su sistema Ubuntu.

sudo apt autoremove ufw --purge

No elimine UFW a menos que tenga una opción sólida o sepa cómo usar IPTables, especialmente cuando ejecuta un entorno de servidor conectado al público. Esto será desastroso.

Cómo verificar el estado de UFW

Una vez que UFW esté habilitado, vea el estado de las reglas de firewall y lo que está activo use lo siguiente.

sudo ufw status verbose

Ejemplo de salida:

El ejemplo anterior usó el indicador detallado, y una opción alternativa es enumerar las reglas en secuencia numérica, lo que es mucho más manejable más adelante al eliminar las reglas.

sudo ufw status numbered

Ejemplo de salida:

Ahora tiene [ 1], [ 2] etiquetas de números en sus reglas de UFW para identificación como lo tiene el resultado anterior.

Cómo establecer políticas predeterminadas de UFW

La política predeterminada del firewall UFW es denegar todas las conexiones entrantes y solo permitir las conexiones salientes al sistema. Por lo general, la forma predeterminada más segura en la que nadie puede acceder a su servidor a menos que permita rangos/direcciones IP, programas, puertos o combinaciones de todos. Su sistema, de forma predeterminada, puede acceder al exterior, que no debe ajustar a menos que tenga requisitos de seguridad específicos.

Como referencia, las políticas de firewall de UFW predeterminadas se pueden encontrar en la ubicación /etc/default/ufw .

Para ajustar las reglas, escriba el siguiente comando:

Para denegar todas las conexiones entrantes:

sudo ufw default deny incoming

Para permitir todas las conexiones salientes:

sudo ufw default allow outgoing

Esto ya está configurado como las reglas predeterminadas cuando está habilitado, pero puede usar el mismo principio para cambiarlas y adaptarlas a su propósito.

Por ejemplo, todas las comunicaciones entrantes están bloqueadas de manera predeterminada, pero desea bloquear todas las salientes y permitir solo las conexiones salientes aprobadas, luego use el siguiente comando.

Para bloquear todas las conexiones salientes:

sudo ufw default deny outgoing

Esta es una medida extrema; bloquear las conexiones entrantes suele ser suficiente para el servidor y el escritorio promedio, pero los entornos específicos pueden beneficiarse de la precaución de seguridad adicional. La desventaja es que necesita mantener todas las conexiones salientes, lo que puede llevar mucho tiempo y establecer nuevas reglas continuamente.

Cómo ver los perfiles de aplicación de UFW

Para mostrar todos los perfiles de aplicación, puede hacerlo escribiendo lo siguiente.

sudo ufw app list

Ejemplo de salida:

Lo anterior es solo un ejemplo, y todos tendrán listas diferentes ya que nadie tendrá las mismas aplicaciones instaladas.

Una característica útil de los perfiles de aplicaciones es obtener más información sobre el servicio que figura en la lista de aplicaciones de UFW.

Para hacer esto, escriba el siguiente comando para encontrar más información sobre un perfil existente.

sudo ufw app info CUPS

Ejemplo de salida:

Como arriba, la impresión de la descripción general de la aplicación y el puerto que utiliza. Esta es una función útil cuando está investigando puertos abiertos y no está seguro de con qué aplicaciones se relacionan y qué hace la aplicación.

Cómo habilitar IPv6 en UFW

Si su sistema Ubuntu está configurado con IPv6, debe asegurarse de que UFW esté configurado con compatibilidad con IPv6 e IPv4. De forma predeterminada, esto debería habilitarse automáticamente; sin embargo, debe verificarlo y, si es necesario, modificarlo. Puede hacer esto de la siguiente manera.

Abra el archivo de firewall UFW predeterminado.

sudo nano /etc/default/ufw

Ajuste la siguiente línea a sí si no está configurado.

IPV6=yes

CTRL+O para guardar los nuevos cambios en el archivo, luego presione CTRL+X para salir del archivo.

Ahora reinicie el servicio de firewall UFW para activar los cambios.

sudo systemctl restart ufw

Cómo permitir conexiones UFW SSH

Por defecto, UFW no permite conexiones SSH. Si ya hubiera habilitado el firewall de forma remota, se habría dado cuenta de que estaba bloqueado.

Para solucionar esto, debe establecer la siguiente configuración SSH antes de habilitar el firewall UFW, especialmente si está conectado a un servidor remoto.

Primero, habilite el perfil de la aplicación SSH.

sudo ufw allow ssh

Si configuró un puerto de escucha personalizado para conexiones SSH que no sea el puerto predeterminado 22, por ejemplo, el puerto 3541, abrirá el puerto en el firewall UFW escribiendo lo siguiente.

sudo ufw allow 3541/tcp

Si desea bloquear todas las conexiones SSH o cambiar el puerto y bloquear los antiguos.

Para bloquear todas las conexiones SSH (Asegúrese de que el acceso local sea posible) , use el siguiente comando.

sudo ufw deny ssh/tcp

Si cambia el puerto SSH personalizado, abra un puerto nuevo y cierre el existente; el ejemplo del tutorial es el puerto 3541.

sudo ufw deny 3541/tcp 

Cómo habilitar los puertos UFW

Con UFW, puede abrir puertos específicos en el firewall para permitir conexiones especificadas para una aplicación en particular. Puede establecer reglas personalizadas para la aplicación. Un excelente ejemplo de esta regla es configurar un servidor web que escuche en el puerto 80 (HTTP) y 443 (HTTPS) por defecto.

Permitir puerto HTTP 80

Permitir por perfil de aplicación:

sudo ufw allow 'Nginx HTTP'

Permitir por nombre de servicio:

sudo ufw allow http

Permitir por número de puerto:

sudo ufw allow 80/tcp

Permitir puerto HTTPS 443

Permitir por perfil de aplicación:

sudo ufw allow 'Nginx HTTPS'

Permitir por nombre de servicio:

sudo ufw allow https

Permitir por número de puerto:

sudo ufw allow 443/tcp

Tenga en cuenta que puede habilitar todas las reglas juntas de forma predeterminada mediante el siguiente comando.

sudo ufw allow 'Nginx Full'

RANGOS DE PUERTOS PERMITIDOS POR UFW

UFW puede permitir el acceso a rangos de puertos. Tenga en cuenta que al abrir un rango de puertos, debe identificar el protocolo del puerto.

Permitir intervalo de puertos con TCP y UDP:

sudo ufw allow 6500:6800/tcp
sudo ufw allow 6500:6800/udp

Alternativamente, puede permitir múltiples puertos en un solo golpe, pero permitir el rango puede ser más accesible como se indicó anteriormente.

sudo ufw allow 6500, 6501, 6505, 6509/tcp
sudo ufw allow 6500, 6501, 6505, 6509/udp

Cómo permitir conexiones remotas en UFW

UFW Permitir dirección IP específica

Por ejemplo, para permitir direcciones IP específicas, está en una red interna y requiere que los sistemas se comuniquen entre sí, use el siguiente comando.

sudo ufw allow from 192.168.55.131

UFW permite una dirección IP específica en un puerto específico

Para permitir que una IP se conecte a su sistema en un puerto definido (puerto de ejemplo “3900”) , escriba lo siguiente.

sudo ufw allow from 192.168.55.131 to any port 3900

Permitir conexiones de subred a un puerto especificado

Si necesita un rango completo de conexiones desde una subred de rango de IP a un puerto en particular, puede habilitar esto creando la siguiente regla.

sudo ufw allow from 192.168.1.0/24 to any port 3900

Esto permitirá que todas las direcciones IP de 192.168.1.1 a 192.168.1.254 se conecten al puerto 3900.

Permitir interfaz de red específica

Por ejemplo, permita conexiones a una interfaz de red en particular, "eth2" a un puerto específico 3900. Puede lograr esto creando la siguiente regla.

sudo ufw allow in on eth2 to any port 3900

Cómo denegar conexiones remotas en UFW

Según la política de configuración predeterminada de UFW, cuando se instala, todas las conexiones entrantes se establecen en “denegar”. Esto rechaza todo el tráfico entrante a menos que cree una regla para permitir el paso de las conexiones.

Sin embargo, ha notado en sus registros una dirección IP particular que sigue atacándolo. Bloquearlo con lo siguiente.

sudo ufw deny from 203.13.56.121

Un pirata informático está utilizando varias direcciones IP de la misma subred para intentar piratearte. Crea lo siguiente para bloquear.

sudo ufw deny from 203.13.56.121/24

Puede crear reglas específicas si desea denegar el acceso a determinados puertos. Escriba el siguiente ejemplo.

sudo ufw deny from 203.13.56.121/24 to any port 80
sudo ufw deny from 203.13.56.121/24 to any port 443

Cómo eliminar las reglas de UFW

Ha creado y denegado reglas, pero debe eliminarlas porque ya no las necesita. Esto se puede lograr de dos maneras diferentes.

Primero, para eliminar una regla UFW usando el número de regla, debe enumerar los números de regla escribiendo lo siguiente.

sudo ufw status numbered

Ejemplo de salida:

El ejemplo eliminará la cuarta regla para la dirección IP 1.1.1.1 que se destaca arriba.

Escribe lo siguiente en tu terminal.

sudo ufw delete 1

En segundo lugar, puede eliminar una regla UFW utilizando la regla real.

sudo ufw delete allow 80/tcp

Cuando las reglas se eliminen correctamente, obtendrá el siguiente resultado.

Rule deleted
Rule deleted (v6)

Cómo acceder y ver los registros de UFW

De forma predeterminada, el registro de UFW se establece en bajo. Esto está bien para la mayoría de los sistemas de escritorio. Sin embargo, los servidores pueden requerir un mayor nivel de registro.

Para establecer el registro de UFW en bajo (predeterminado):

sudo ufw logging low

Para establecer el registro de UFW en medio:

sudo ufw logging medium

Para configurar el registro de UFW en alto:

sudo ufw logging high

La última opción es deshabilitar el registro por completo, asegúrese de estar satisfecho con esto y no requerirá la verificación del registro.

sudo ufw logging off

Para ver los registros de UFW, se guardan en la ubicación predeterminada de /var/log/ufw.log .

Una forma fácil y rápida de ver registros en vivo es usar el comando tail.

sudo ufw tail -f /var/log/ufw.log

Alternativamente, puede imprimir una cantidad determinada de líneas recientes con -n .

sudo ufw tail /var/log/ufw.log -n 30

Esto imprimirá las últimas 30 líneas del registro. Puede ajustar aún más con GREP y otros comandos de clasificación.

Cómo probar las reglas de UFW

Los sistemas altamente críticos, una buena opción cuando se juega con la configuración del firewall, pueden agregar la bandera –run-run . Esto permite ver un ejemplo de los cambios que habrían ocurrido pero no procesarlo.

sudo ufw --dry-run enable

Para deshabilitar el indicador –dry-run , use el siguiente comando.

sudo ufw --dry-run disable

Cómo restablecer las reglas de UFW

Para restablecer su firewall a su estado original con todas las entradas bloqueadas y todas las salidas configuradas para permitir, escriba lo siguiente para restablecer.

sudo ufw reset

Confirme el reinicio, ingrese lo siguiente:

sudo ufw status

La salida debe ser:

Status: inactive 

Con el restablecimiento del firewall UFW, ahora deberá volver a habilitar el firewall y comenzar todo el proceso de agregar reglas. El comando de reinicio debe usarse con moderación si es posible.

Cómo encontrar todos los puertos abiertos (comprobación de seguridad)

La mayoría de los sistemas no se dan cuenta de que pueden tener puertos abiertos. En la era en que cada dirección IP en Internet se escanea a diario, es crucial observar lo que sucede detrás de escena.

La mejor opción es instalar Nmap, luego, usando esta famosa aplicación, enumere los puertos abiertos.

sudo apt install nmap

A continuación, busque la dirección IP interna del sistema.

hostname -I

Ejemplo de salida:

192.168.50.45

Ahora use el siguiente comando Nmap con la dirección IP del servidor.

sudo nmap 192.168.50.45

Ejemplo de salida:

Como arriba, los puertos 9090 y 80 están abiertos. Antes de bloquear puertos, investigue primero cuáles son si no está seguro.

Desde este punto, puede crear reglas UFW personalizadas que ha aprendido en el tutorial para cerrar o restringir los puertos abiertos.


Ubuntu
  1. Cómo instalar y configurar Nginx en Ubuntu 20.04

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

  3. ¿Cómo instalar y configurar Varnish en Ubuntu 20.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 10

Cómo configurar el cortafuegos UFW en Ubuntu 18.04 LTS

Cómo configurar el cortafuegos UFW en Ubuntu 20.04 LTS

Cómo instalar y configurar Memcached en Ubuntu

Cómo configurar el cortafuegos con UFW en Ubuntu Linux

Cómo configurar el cortafuegos UFW en Ubuntu 20.04