noticias
Serverspace ha agregado un nuevo Rocky Linux OS
BM
13 de agosto de 2022
Actualizado diciembre 26, 2023

UFW básico (sin complicaciones) Firewall) comandos

Linux Redes

Introducción

El valor por defecto firewall herramienta de configuración para Ubuntu es ufw. Diseñado para simplificar iptables firewall configuración, ufw proporciona una manera conveniente de crear una IPv4 o basado en host IPv6 firewall. De forma predeterminada, UFW está deshabilitado.

Si su versión no tiene instalado ufw, puede instalarlo usando el comando:

sudo apt update && sudo apt install ufw

Comprobación de estado de UFW

Compruebe que el firewall está encendido, use este comando:

sudo ufw status

Firewall status
El resultado mostrará si su firewall está activo o no.

Encendido de UFW

Si obtienes un Estado: inactivo mensaje al ejecutar el comando ufw status, significa que el firewall aún no está habilitado en el sistema. Deberá ejecutar un comando para habilitarlo.

De manera predeterminada, cuando UFW está habilitado, bloquea el acceso externo a todos los puertos del servidor. En la práctica, esto significa que si te conectas a un servidor a través de SSH y habilite ufw antes de permitir el acceso en el SSH puerto, será desconectado.

Para habilitar UFW en su sistema, ejecute el comando:

sudo ufw enable

Verás un resultado similar a este.

Enabling firewall autoloading

Para ver lo que está actualmente bloqueado o permitido, puede usar el verboso parametro al correr ufw estado como se muestra a continuación:

sudo ufw status verbose

Advanced firewall configuration output

Apagar el UFW

Si por alguna razón necesita deshabilitar el firewall, puedes hacerlo con el siguiente comando:

sudo ufw disable

Tenga cuidado, este comando deshabilitará completamente el firewall servicio en su sistema!

Bloquear una dirección IP para que no sea direccionada

Para bloquear todas las conexiones de red originalesnating desde una dirección IP específica, ejecute el siguiente comando, reemplazando la dirección IP asignada con la dirección IP que desea bloquear:

sudo ufw deny from 91.198.174.190

Blocking incoming requests from an ip address
En este ejemplo, de 91.198.174.190 indica la dirección IP de origen "91.198.174.190".

sudo ufw status

Si ejecuta este comando, verá que la dirección IP especificada está en la lista prohibida:

Active filtering rules

Todas las conexiones, entrantes y salientes, están bloqueadas para la dirección IP especificada.

Bloquear la subred

Si necesita bloquear toda la subred, puede usar la dirección de la subred como el "desde" parameter en el comando ufw deny. Esto bloqueará todas las direcciones IP en la subred de ejemplo 91.198.174.0/24:

sudo ufw deny from 91.198.174.0/24

Subnet blocking

Bloqueo de conexiones entrantes a la interfaz de red

Para bloquear las conexiones entrantes desde una dirección IP específica a una interfaz de red específica, ejecute el siguiente comando, reemplazando la dirección IP con la dirección IP que desea bloquear:

sudo ufw deny in on eth0 from 91.198.174.192

Blocking an ip address in a subnetwork

El "en" paraméter le dice a la firewall para aplicar la regla solo a las conexiones entrantes, y el "on eth0" parameter le dice que la regla se aplica solo a la interfaz eth0.

Esto puede ser útil si tiene un sistema con varias interfaces de red (incluidas las interfaces virtuales) y necesita bloquear el acceso externo a algunas de esas interfaces, pero no a todas.

Permitir conversiones de direcciones IP

Para permitir todas las conexiones de red originating desde una dirección IP específica, ejecute el siguiente comando, reemplazando la dirección IP asignada con la dirección IP a la que desea permitir el acceso:

sudo ufw allow from 91.198.174.192

Allow incoming requests from an ip address

Si ahora ejecuta "sudo ufw status", verá un resultado similar a este, con PERMITIR junto a la dirección IP que acaba de agregar.

sudo ufw status

List of active filtering rules

También puede permitir conexiones desde una subred completa especificando la máscara de subred adecuada para el host, por ejemplo, 91.198.174.0/24.

Permitir conexiones entrantes a la interfaz de red

Para permitir conexiones entrantes desde una dirección IP específica a una interfaz de red específica, ejecute el siguiente comando, reemplazando la dirección IP con la que desea permitir:

sudo ufw allow in on eth0 from 91.198.174.22

Allow incoming requests on the network interface

El "en" paraméter le dice a la firewall aplicar la regla solo a las conexiones entrantes y el "on eth0" parameter especifica que la regla se aplica solo a la interfaz "eth0".

sudo ufw status

Si ejecuta el comando, verá un resultado similar a este:

Active filtering rules

Quitar un firewall gobernar

Para eliminar una regla previamente instalada en UFW, use "eliminar ufw", luego ingrese la regla (permitir / denegar) y la especificación de destino. El siguiente ejemplo elimina una regla establecida previamente para permitir todas las conexiones desde la dirección IP 91.198.174.192:

sudo ufw delete allow from 91.198.174.192

Deletion of UFW rule

Otra forma de especificar qué regla desea eliminar es especificar el ID de la regla. Esta información se puede obtener usando el siguiente comando:

sudo ufw status numbered

Numbered list of active ufw rules

En la salida puede ver que hay dos reglas activas. La primera regla niega todas las conexiones provenientes de la dirección IP 91.198.174.190. La segunda regla permite conexiones en la interfaz eth0 provenientes de la dirección IP 91.198.174.22.

Ya que por defecto el firewall ya bloquea todo el acceso externo a menos que esté explícitamente permitido, la primera regla es redundante, por lo que se puede eliminar. Para eliminar una regla según su ID, ejecute el comando:

sudo ufw delete 1

Se le pedirá que confirme la operación y se asegure de que el ID que especifique se relacione con la regla correcta que desea eliminar.

Deleting a rule using its id

Si vuelve a enumerar sus reglas con el estado "sudo ufw", verá que la regla se ha eliminado.

Lista de perfiles de aplicación disponibles

Al instalar aplicaciones que se basan en comunicaciones de red, es común configurar un firewall perfil que se puede utilizar para permitir conexiones desde direcciones externas. A menudo, esto es lo mismo que ejecutar "ufw allow from", con la ventaja de que es un atajo que abstrae los números de puerto específicos utilizados por el servicio y proporciona una nomenclatura conveniente para los servicios de referencia.

sudo ufw app list

Si ha instalado un servicio, como un servidor web u otro software dependiente de la red, y el perfil no estaba disponible en el firewall, primero asegúrese de que el servicio esté habilitado.

Para servidores remotos AbiertoSSH suele estar disponible:

List of available profiles

Incluir un perfil para una aplicación específica

Para habilitar un firewall perfil de aplicación, ejecute el comando "ufw allow" seguido del nombre del perfil de aplicación que desea habilitar, que se puede obtener con el comando:

sudo ufw app list

En el siguiente ejemplo, habilitamos el OpenSSH perfil, que permitirá a todos los entrantes SSH conexiones en el estándar SSH Puerto.

sudo ufw allow OpenSSH

Enabling connection using a profile

Desactivar un perfil para una aplicación específica

Para deshabilitar un perfil de aplicación que configuró previamente en el firewall, debe eliminar la regla correspondiente. Por ejemplo, considere el siguiente resultado de "sudo ufw status"

sudo ufw status

List of active filtering rules

Esta salida indica que el "Nginx El perfil de la aplicación Full" está actualmente habilitado, lo que permite cualquier conexión al servidor web a través de ambos HTTP y HTTPS.

Si desea permitir sólo HTTPS solicitudes a su servidor web, primero debe habilitar la regla más restrictiva, que en este caso es "Nginx HTTPS", y luego deshabilite la regla activa "Nginx Completo":

sudo ufw allow "Nginx HTTPS"
sudo ufw delete allow "Nginx Full"

Recuerda que puedes listar todos los perfiles de aplicaciones disponibles con:

sudo ufw app list

permitir SSH

Cuando trabaje con servidores remotos, deberá asegurarse de que el SSH El puerto está abierto para conexiones para que pueda iniciar sesión de forma remota en su servidor.

El siguiente comando habilitará el OpenSSH perfil de aplicación para el firewall y permitir todas las conexiones al valor predeterminado SSH puerto en el servidor:

sudo ufw allow OpenSSH

Allow SSH connection

Aunque menos fácil de usar, un alternatLa sintaxis principal es especificar el número de puerto exacto del SSH servicio, que generalmente se establece en 22 de forma predeterminada:

sudo ufw allow 22

Allow connection to a port

Permitir entrada SSH desde una dirección IP o subred específica

Para permitir conexiones entrantes desde una dirección IP o subred específica, incluirá la directiva "from" para definir el origen de la conexión. Esto requiere que también especifique el destino.natdirección de iones con el pa "a"raméter Para bloquear esta regla para SSH solo, limite "proto" (protocolo) a "tcp" y luego use el "port" parametro y configúrelo en 22, el valor predeterminado SSH Puerto.

El siguiente comando solo permitirá SSH origen de las conexionesnating desde la dirección IP 91.198.174.33:

sudo ufw allow from 91.198.174.33 proto tcp to any port 22

Allow incoming requests only from a specific ip address

También puede usar la dirección de subred como el pa "de"rameter para permitir la entrada SSH conexiones de toda la red:

sudo ufw allow from 91.198.174.0/24 proto tcp to any port 22

Allow incoming requests from a specific subnet only

Permitir Rsync entrante desde una dirección IP o subred específica

Rsync, que se ejecuta en el puerto 873, se puede usar para transferir archivos de una computadora a otra.

Para permitir conexiones rsync entrantes desde una dirección IP o subred en particular, use el from parameter para especificar la dirección IP de origen y el puerto paraméter para configurar el destinonatpuerto de iones a 873. El siguiente comando solo permitirá conexiones Rsync provenientes de la dirección IP 91.198.174.33:

sudo ufw allow from 91.198.174.33 to any port 873

Permission for rsycn

Para permitir que toda la subred 91.198.174.0/24 "rsync" con su servidor, ejecute el comando:

sudo ufw allow from 91.198.174.0/24 to any port 873

Allowing a subnet to use rsync

Permitir Nginx HTTP / HTTPS

Al instalar el Nginx servidor web, instala varios firewall perfiles dentro del servidor. Después de instalar y habilitar Nginx como servicio, ejecute el siguiente comando para determinar qué perfiles están disponibles:

sudo ufw app list | grep Nginx

List of available Nginx profiles

Permitir HTTP y HTTPTráfico S, seleccione Nginx Full. De lo contrario, seleccione cualquiera Nginx HTTP para permitir HTTP solo, o Nginx HTTPS para permitir HTTPS solamente.

El siguiente comando permitirá HTTP y HTTPTráfico S en el servidor (puertos 80 y 443):

sudo ufw allow "Nginx Full"

Active Nginx profile

Permitir Apache HTTP / HTTPS

Durante la instalación el Apache El servidor web instala varios perfiles UFW diferentes dentro del servidor. Después de instalar y habilitar Apache como servicio, ejecute el siguiente comando para determinar qué perfiles están disponibles:

sudo ufw app list | grep Apache

Available Apache profiles

Para permitir HTTP y HTTPS tráfico, seleccione "Apache Completo". De lo contrario, seleccione "Apache" para HTTP o "Apache Seguro" para HTTPS.

El siguiente comando permitirá HTTP y HTTPTráfico S en el servidor (puertos 80 y 443):

sudo ufw allow "Apache Full"

Adding apache full profile to filter rules

Permitir todas las entradas HTTP (puerto 80)

servidores web como Apache y Nginx normalmente escucha por HTTP solicitudes en el puerto 80. Si su política predeterminada para el tráfico entrante está configurada para rechazar o denegar, debe crear una regla UFW para permitir el acceso externo al puerto 80. Puede usar el número de puerto o el nombre del servicio (http) como el parametro de este mandato.

Para permitir todas las entradas HTTP conexiones (puerto 80), ejecute el comando:

sudo ufw allow http

Allow incoming http traffic

un alternatLa sintaxis principal es especificar el número de puerto del HTTP servicio:

sudo ufw allow 80

Allow incoming traffic through the service port

Permitir todas las entradas HTTPS (puerto 443)

HTTPS normalmente se ejecuta en el puerto 443. Si su política predeterminada para el tráfico entrante está configurada para rechazar o denegar, debe crear una regla UFW para permitir el acceso externo en el puerto 443. Puede usar el número de puerto o el nombre del servicio (https) como el parametro de este mandato.

Para permitir todas las entradas HTTPLas conexiones S (puerto 443) ejecutan este comando:

sudo ufw allow https

Allow incoming https traffic

un alternatLa sintaxis principal es especificar el número de puerto del HTTPservicio S:

sudo ufw allow 443

Allow incoming traffic by service port number

Permitir todas las entradas HTTP y HTTPS

Si quieres permitir HTTP y HTTPS tráfico, puede crear una regla que permita ambos puertos. Este uso requiere que también definas el protocolo usando el "proto" parameter, que en este caso debe establecerse en tcp.

Para permitir todas las entradas HTTP y HTTPConexiones S (puertos 80 y 443), ejecute el comando:

sudo ufw allow proto tcp from any to any port 80,443

Allow incoming traffic for http and https

Permitir la conexión a MySQL desde una dirección IP o subred específica

MySQL escucha por cliconexiones ent en el puerto 3306. Si su MySQL servidor de base de datos es utilizado por un clien un servidor remoto, debe crear una regla UFW para permitir dicho acceso.

Para permitir la entrada MySQL conexiones desde una dirección IP o subred en particular, use el from parameter para especificar la dirección IP de origen y el "puerto" paraméter para establecer destinonatpuerto iónico 3306.

El siguiente comando permitirá que la dirección IP 91.198.174.33 se conecte al MySQL Puerto de servicio:

sudo ufw allow from 91.198.174.33 to any port 3306

Allow connection to MySQL port

Para permitir que toda la subred 91.198.174.0/24 se conecte a su MySQL servidor, ejecute el comando:

sudo ufw allow from 91.198.174.0/24 to any port 3306

Allow entire subnet to connect to MySQL port

Permitir la conexión a PostgreSQL desde una dirección IP o subred específica

PostgreSQL escucha por cliconexiones ent en el puerto 5432. Si su PostgreSQL servidor de base de datos es utilizado por un client en un servidor remoto, debe permitir este tráfico.

Para permitir la entrada PostgreSQL conexiones desde una dirección IP o subred en particular, especifique la fuente con el from parameter y configure el puerto en 5432:

sudo ufw allow from 91.198.174.33 to any port 5432

Allow connection to PostgreSQL

Para permitir que toda la subred 91.198.174.0/24 se conecte a su PostgreSQL servidor, ejecute el comando:

sudo ufw allow from 91.198.174.0/24 to any port 5432

Permitir la conexión a PostgreSQL desde una dirección IP o subred específica

Los servidores de correo como Sendmail y Postfix normalmente usan el puerto 25 para el tráfico SMTP. Si se supone que su servidor no debe enviar correo saliente, puede bloquear este tipo de tráfico. Para bloquear las conexiones SMTP salientes, ejecute el comando:

sudo ufw deny out 25

Blocking outgoing mail traffic

Esto configurará su firewall para bloquear todo el tráfico saliente en el puerto 25. Si necesita rechazar las conexiones salientes en un número de puerto diferente, puede repetir este comando y reemplazar 25 con el número de puerto que desea bloquear.

Conclusión

UFW es una poderosa herramienta que, cuando se configura correctamente, puede mejorar significativamente la seguridad de sus servidores. Esta guía cubre algunas reglas comunes de UFW que a menudo se usan para configurar el firewall in Ubuntu. La mayoría de los comandos de esta guía se pueden adaptar para diferentes casos de uso y escenarios cambiando parametros como la dirección IP de origen y/o destinonatpuerto de iones Para más información sobre cada comando parameter y los modificadores disponibles puede utilizar el hombre utilidad para consultar el manual de UFW:

man ufw
Votar:
3 de 5
Calificación promedio: 3.1
Calificado por: 29
1101 CT Ámsterdam Países Bajos, Herikerbergweg 292
+31 20 262-58-98
700 300
ITGLOBAL.COM NL
700 300
Utilizamos cookies para hacer que su experiencia en el Serverspace mejor. Al continuar navegando en nuestro sitio web, usted acepta nuestros
Uso de Cookies y Políza de Privacidad.