Androide

Cómo configurar un firewall con ufw en ubuntu 18.04

01.- Firewall? en Ubuntu 18.04 con UFW

01.- Firewall? en Ubuntu 18.04 con UFW

Tabla de contenido:

Anonim

Un firewall configurado correctamente es uno de los aspectos más importantes de la seguridad general del sistema. Por defecto, Ubuntu viene con una herramienta de configuración de firewall llamada UFW (Firewall sin complicaciones). UFW es un front-end fácil de usar para administrar las reglas de firewall de iptables y su objetivo principal es facilitar la administración de iptables o, como su nombre lo dice, sin complicaciones.

Prerrequisitos

Antes de comenzar con este tutorial, asegúrese de haber iniciado sesión en su servidor con una cuenta de usuario con privilegios de sudo o con el usuario root. La mejor práctica es ejecutar comandos administrativos como usuario de sudo en lugar de root. Si no tiene un usuario sudo en su sistema Ubuntu, puede crear uno siguiendo estas instrucciones.

Instalar UFW

El firewall sin complicaciones debe instalarse de manera predeterminada en Ubuntu 18.04, pero si no está instalado en su sistema, puede instalar el paquete escribiendo:

sudo apt install ufw

Verificar estado de UFW

Una vez que se completa la instalación, puede verificar el estado de UFW con el siguiente comando:

sudo ufw status verbose

UFW está deshabilitado de forma predeterminada. Si nunca activó UFW antes, la salida se verá así:

Status: inactive

Si UFW está activado, la salida será similar a la siguiente:

Políticas predeterminadas de UFW

Por defecto, UFW bloqueará todas las conexiones entrantes y permitirá todas las conexiones salientes. Esto significa que cualquiera que intente acceder a su servidor no podrá conectarse a menos que abra específicamente el puerto, mientras que todas las aplicaciones y servicios que se ejecutan en su servidor podrán acceder al mundo exterior.

Las políticas predeterminadas se definen en el /etc/default/ufw y se pueden cambiar usando el sudo ufw default mando.

Las políticas de firewall son la base para construir reglas más detalladas y definidas por el usuario. En la mayoría de los casos, las políticas predeterminadas iniciales de UFW son un buen punto de partida.

Perfiles de aplicación

Al instalar un paquete con el comando apt , agregará un perfil de aplicación al directorio /etc/ufw/applications.d . El perfil describe el servicio y contiene la configuración de UFW.

Puede enumerar todos los perfiles de aplicaciones disponibles en su servidor escribiendo:

sudo ufw app list

Dependiendo de los paquetes instalados en su sistema, el resultado será similar al siguiente:

Available applications: Dovecot IMAP Dovecot POP3 Dovecot Secure IMAP Dovecot Secure POP3 Nginx Full Nginx HTTP Nginx HTTPS OpenSSH Postfix Postfix SMTPS Postfix Submission

Para encontrar más información sobre un perfil específico y las reglas incluidas, use el siguiente comando:

sudo ufw app info 'Nginx Full'

Profile: Nginx Full Title: Web Server (Nginx, HTTP + HTTPS) Description: Small, but very powerful and efficient web server Ports: 80, 443/tcp

Como puede ver en la salida anterior, el perfil 'Nginx Full' abre los puertos 80 y 443 .

Permitir conexiones SSH

Antes de habilitar el firewall UFW, debemos agregar una regla que permita las conexiones SSH entrantes. Si se conecta a su servidor desde una ubicación remota, lo cual es casi siempre el caso y habilita el firewall UFW antes de permitir explícitamente las conexiones SSH entrantes, ya no podrá conectarse a su servidor Ubuntu.

Para configurar su firewall UFW para permitir conexiones SSH entrantes, escriba el siguiente comando:

sudo ufw allow ssh

Rules updated Rules updated (v6)

Si cambió el puerto SSH a un puerto personalizado en lugar del puerto 22, deberá abrir ese puerto.

Por ejemplo, si su demonio ssh escucha en el puerto 4422 , puede usar el siguiente comando para permitir conexiones en ese puerto:

sudo ufw allow 4422/tcp

Habilitar UFW

Ahora que su firewall UFW está configurado para permitir conexiones SSH entrantes, podemos habilitarlo escribiendo:

sudo ufw enable

Command may disrupt existing ssh connections. Proceed with operation (y|n)? y Firewall is active and enabled on system startup

Se le advertirá que habilitar el firewall puede interrumpir las conexiones ssh existentes, simplemente escriba y y presione Enter .

Permitir conexiones en otros puertos

Dependiendo de las aplicaciones que se ejecutan en su servidor y sus necesidades específicas, también deberá permitir el acceso entrante a otros puertos.

A continuación le mostraremos algunos ejemplos sobre cómo permitir conexiones entrantes a algunos de los servicios más comunes:

Abra el puerto 80 - HTTP

Las conexiones HTTP se pueden permitir con el siguiente comando:

sudo ufw allow

en lugar de http puede usar el número de puerto, 80:

sudo ufw allow 80/tcp

o puede usar el perfil de la aplicación, en este caso, 'Nginx

sudo ufw allow 'Nginx

Abra el puerto 443 - HTTPS

Las conexiones HTTP se pueden permitir con el siguiente comando:

sudo ufw allow

Para lograr el mismo perfil en lugar de https , puede usar el número de puerto, 443 :

sudo ufw allow 443/tcp

o puede usar el perfil de la aplicación, 'Nginx

sudo ufw allow 'Nginx

Abra el puerto 8080

sudo ufw allow 8080/tcp

Permitir rangos de puertos

En lugar de permitir el acceso a puertos individuales, UFW nos permite permitir el acceso a rangos de puertos. Al permitir rangos de puertos con UFW, debe especificar el protocolo, tcp o udp . Por ejemplo, si desea permitir puertos del 7100 al 7200 en tcp y udp , ejecute el siguiente comando:

sudo ufw allow 7100:7200/tcp sudo ufw allow 7100:7200/udp

Permitir direcciones IP específicas

Para permitir el acceso a todos los puertos desde su máquina doméstica con una dirección IP de 64.63.62.61, especifique seguido de la dirección IP que desea incluir en la lista blanca:

sudo ufw allow from 64.63.62.61

Permitir direcciones IP específicas en un puerto específico

Para permitir el acceso a un puerto específico, digamos el puerto 22 desde su máquina de trabajo con una dirección IP de 64.63.62.61, use to any port seguido del número de puerto:

sudo ufw allow from 64.63.62.61 to any port 22

Permitir subredes

El comando para permitir la conexión a una subred de direcciones IP es el mismo que cuando se usa una sola dirección IP, la única diferencia es que debe especificar la máscara de red. Por ejemplo, si desea permitir el acceso a direcciones IP que van desde 192.168.1.1 a 192.168.1.254 al puerto 3360 (MySQL), puede usar este comando:

sudo ufw allow from 192.168.1.0/24 to any port 3306

Permitir conexiones a una interfaz de red específica

Para permitir el acceso en un puerto específico, digamos el puerto 3360 solo a la interfaz de red específica eth2 , luego debe especificar allow in on y el nombre de la interfaz de red:

sudo ufw allow in on eth2 to any port 3306

Denegar conexiones

La política predeterminada para todas las conexiones entrantes está configurada para deny y, si no la ha cambiado, UFW bloqueará todas las conexiones entrantes a menos que abra específicamente la conexión.

Digamos que abrió los puertos 80 y 443 y su servidor está bajo ataque desde la red 23.24.25.0/24 . Para denegar todas las conexiones desde el 23.24.25.0/24 puede usar el siguiente comando:

sudo ufw deny from 23.24.25.0/24

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

Escribir reglas de denegación es lo mismo que escribir reglas de permiso, solo necesita reemplazar allow con deny .

Eliminar reglas UFW

Hay dos formas diferentes de eliminar las reglas UFW, por número de regla y especificando la regla real.

Eliminar reglas UFW por número de regla es más fácil, especialmente si es nuevo en UFW. Para eliminar una regla por un número de regla primero necesita encontrar el número de la regla que desea eliminar, puede hacerlo con el siguiente comando:

sudo ufw status numbered

Status: active To Action From -- ------ ---- 22/tcp ALLOW IN Anywhere 80/tcp ALLOW IN Anywhere 8080/tcp ALLOW IN Anywhere

Para eliminar la regla número 3, la regla que permite conexiones al puerto 8080, use el siguiente comando:

sudo ufw delete 3

El segundo método es eliminar una regla especificando la regla real, por ejemplo, si agregó una regla para abrir el puerto 8069 , puede eliminarla con:

sudo ufw delete allow 8069

Deshabilitar UFW

Si por alguna razón desea detener UFW y desactivar todas las reglas que puede usar:

sudo ufw disable

Más adelante, si desea volver a habilitar UTF y activar todas las reglas, simplemente escriba:

sudo ufw enable

Restablecer UFW

Al restablecer UFW, se desactivará UFW y se eliminarán todas las reglas activas. Esto es útil si desea revertir todos sus cambios y comenzar de nuevo.

Para restablecer UFW, simplemente escriba el siguiente comando:

sudo ufw reset

Conclusión

Aprendió a instalar y configurar el firewall UFW en su servidor Ubuntu 18.04. Asegúrese de permitir todas las conexiones entrantes que sean necesarias para el correcto funcionamiento de su sistema, al tiempo que limita todas las conexiones innecesarias.

firewall ufw iptables seguridad ubuntu