01.- Firewall? en Ubuntu 18.04 con UFW
Tabla de contenido:
- Prerrequisitos
- Instalar UFW
- Verificar estado de UFW
- Políticas predeterminadas de UFW
- Perfiles de aplicación
- Permitir conexiones SSH
- Habilitar UFW
- Permitir conexiones en otros puertos
- Abra el puerto 80 - HTTP
- Abra el puerto 443 - HTTPS
- Abra el puerto 8080
- Permitir rangos de puertos
- Permitir direcciones IP específicas
- Permitir direcciones IP específicas en un puerto específico
- Permitir subredes
- Permitir conexiones a una interfaz de red específica
- Denegar conexiones
- Eliminar reglas UFW
- Deshabilitar UFW
- Restablecer UFW
- Conclusión
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:
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
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:
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
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
Abra el puerto 8080
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:
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:
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:
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 ubuntuCómo configurar y configurar los Firewall Firewall
Aprenda a configurar el firewall del router, acceder a la página del enrutador de hardware, configurar los parámetros del Router Firewall. Averigüe qué puertos son necesarios en la computadora.
Cómo enumerar y eliminar las reglas de firewall de ufw
UFW significa Firewall sin complicaciones y es una interfaz fácil de usar para administrar las reglas de firewall de iptables (netfilter). En este tutorial, cubriremos cómo enumerar y eliminar las reglas de firewall UFW.
Cómo configurar un firewall con ufw en debian 9
UFW (Uncomplicated Firewall) 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. En este tutorial le mostraremos cómo configurar un firewall con UFW en Debian 9.