LinuxParty

Ratio: 5 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio activado
 

Un firewall que funcione correctamente es la parte más crucial de la seguridad completa del sistema Linux. Por defecto, la distribución de Debian y Ubuntu viene con una herramienta de configuración de firewall llamada UFW ( Firewall sin complicaciones ), es una herramienta de línea de comandos más popular y fácil de usar para configurar y administrar un firewall en las distribuciones de Ubuntu y Debian .

En este artículo, explicaremos cómo instalar y configurar un firewall UFW en distribuciones Ubuntu y Debian .

Prerrequisitos

Antes de comenzar con este artículo, asegúrese de haber iniciado sesión en su servidor Ubuntu o Debian con el usuario sudo o con la cuenta root. Si no tiene un usuario sudo, puede crear uno utilizando las siguientes instrucciones como usuario root.

# adduser username
# usermod -aG sudo username 
# su - username
$ sudo whoami

Instale UFW Firewall en Ubuntu y Debian

El UFW ( cortafuegos no complicado ) debe instalarse de manera predeterminada en Ubuntu y Debian; de lo contrario, instálelo con el administrador de paquetes APT con el siguiente comando.

$ sudo apt install ufw
(O también)
$ sudo apt-get install ufw

Compruebe el firewall de UFW

Una vez que se completa la instalación, puede verificar el estado de UFW escribiendo.

$ sudo ufw status verbose

En la primera instalación, el cortafuegos UFW está deshabilitado de forma predeterminada, la salida será similar a la siguiente.

 Estado: inactivo

Habilitar Firewall UFW

Puede activar o habilitar el firewall UFW con el siguiente comando, que debe cargar el firewall y permitir que se inicie en el arranque.

$ sudo ufw enable

Para deshabilitar el firewall de UFW, use el siguiente comando, que descarga el firewall y deshabilita su inicio en el arranque.

$ sudo ufw disable 

Políticas predeterminadas de UFW

Por defecto, el firewall UFW niega todas las conexiones entrantes y solo permite todas las conexiones salientes del servidor. Esto significa que nadie puede acceder a su servidor, a menos que abra específicamente el puerto, mientras que todos los servicios o aplicaciones en ejecución en su servidor pueden acceder a la red externa.

Las políticas de firewall UFW predeterminadas se colocan en el  /etc/default/ufw  y se pueden modificar con el siguiente comando.

$ sudo ufw default deny incoming
$ sudo ufw default allow outgoing

Perfiles de aplicación UFW

Al instalar un paquete de software utilizando el administrador de paquetes APT, incluirá un perfil de aplicación en el directorio /etc/ufw/applications.d que define el servicio y mantiene la configuración de UFW.

Puede enumerar todos los perfiles de aplicación disponibles en su servidor utilizando el siguiente comando.

$ sudo ufw app list

Dependiendo de las instalaciones del paquete de software en su sistema, el resultado será similar al siguiente:

Aplicaciones disponibles:
  APACHE
  APACHE Full
  APACHE SECURE
  CUPS
  OpenSSH
  Postfix
  Postfix SMTPS
  Postfix Submission

Si desea obtener más información sobre un perfil particular y reglas definidas, puede usar el siguiente comando.

$ sudo ufw app info 'Apache'
Profile: Apache
Title: Web Server 
Description: Apache V2 is the next generation f the omnipresent Apache web server.

Ports:
  80/tcp

Habilite IPv6 con UFW

Si su servidor está configurado con IPv6 , asegúrese de que su UFW esté configurado con soporte para IPv6 e IPv4 . Para verificarlo, abra el archivo de configuración UFW con su editor favorito.

$ sudo vi /etc/default/ufw

Luego, asegúrese de que "IPV6" esté configurado en "yes" en el archivo de configuración como se muestra.

IPV6=yes

Guardar y Salir. Luego reinicie su firewall con los siguientes comandos:

$ sudo ufw disable
$ sudo ufw enable

Permitir conexiones SSH en UFW

Si ya ha habilitado el firewall UFW, bloquearía todas las conexiones entrantes y si está conectado a su servidor a través de SSH desde una ubicación remota, ya no podrá volver a conectarlo.

Habilitemos las conexiones SSH a nuestro servidor para evitar que eso suceda usando el siguiente comando:

$ sudo ufw allow ssh

Si está utilizando un puerto SSH personalizado (por ejemplo, el puerto 2222 ), debe abrir ese puerto en el firewall UFW con el siguiente comando.

$ sudo ufw allow 2222/tcp

Para bloquear todas las conexiones SSH, escriba el siguiente comando.

$ sudo ufw deny ssh/tcp
$ sudo ufw deny 2222/tcp   [Si usa un puerto SSH personalizado]

Habilitar puertos específicos en UFW

También puede abrir un puerto específico en el firewall para permitir conexiones a través de él a un determinado servicio. Por ejemplo, si desea configurar un servidor web que escuche en el puerto 80 ( HTTP ) y 443 ( HTTPS ) de forma predeterminada.

A continuación se muestran algunos ejemplos de cómo permitir conexiones entrantes a los servicios de Apache.

Abra el puerto 80 HTTP en UFW
$ sudo ufw allow http     [Por nombre de servicio]
$ sudo ufw allow 80/tcp [Por número de puerto]
$ sudo ufw allow 'Apache' [Por perfil de aplicación]
Abra el puerto 443 HTTPS en UFW
$ sudo ufw allow https
$ sudo ufw allow 443/tcp
$ sudo ufw allow 'Apache Secure'

Permitir rangos de puertos en UFW

Suponiendo que tiene algunas aplicaciones que desea ejecutar en un rango de puertos ( 5000-5003 ), puede agregar todos estos puertos utilizando los siguientes comandos.

sudo ufw allow 5000:5003/tcp
sudo ufw allow 5000:5003/udp

Permitir direcciones IP específicas

Si desea permitir conexiones en todos los puertos desde la dirección IP específica 192.168.56.1 , debe especificar antes de la dirección IP.

$ sudo ufw allow from 192.168.56.1

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

Para permitir la conexión en un puerto específico (por ejemplo, el puerto 22 ) desde su máquina doméstica con la dirección IP 192.168.56.1 , debe agregar cualquier puerto y el número de puerto después de la dirección IP como se muestra.

$ sudo ufw allow from 192.168.56.1 to any port 22

Permitir subredes de red a puerto específico

Para permitir conexiones para direcciones IP particulares que van desde 192.168.1.1 a 192.168.1.254 al puerto 22 ( SSH ), ejecute el siguiente comando.

$ sudo ufw allow from 192.168.1.0/24 to any port 22

Permitir interfaz de red específica

Para permitir conexiones a la interfaz de red específica eth2 para un puerto 22 ( SSH ) en particular, ejecute el siguiente comando.

$ sudo ufw allow in on eth2 to any port 22

Denegar conexiones en UFW

De forma predeterminada, todas las conexiones entrantes están bloqueadas, a menos que haya abierto específicamente la conexión en UFW. Por ejemplo, ha abierto los puertos 80 y 443 y su servidor web está siendo atacado desde la red desconocida 11.12.13.0/24 .

Para bloquear todas las conexiones de este rango de red 11.12.13.0/24 en particular, puede usar el siguiente comando.

$ sudo ufw deny from 11.12.13.0/24

Si solo desea bloquear las conexiones en los puertos 80 y 443 , puede usar los siguientes comandos.

$ sudo ufw deny from 11.12.13.0/24 to any port 80
$ sudo ufw deny from 11.12.13.0/24 to any port 443

Eliminar reglas UFW

Hay 2 formas de eliminar las reglas UFW, por número de regla y por regla real .

Para eliminar una regla UFW usando el número de regla , primero debe enumerar las reglas por números usando el siguiente comando.

$ sudo ufw status numbered
Salida de muestra
Estado: Activo
     To                         Action      From
     --                         ------      ----
[ 1] 22/tcp                     ALLOW IN    Anywhere
[ 2] 80/tcp                     ALLOW IN    Anywhere

Para eliminar la regla número 1 , use el siguiente comando.

$ sudo ufw delete 1

El segundo método es eliminar una regla utilizando la regla real , por ejemplo, para eliminar una regla, especifique el número de puerto con el protocolo como se muestra.

$ sudo ufw delete allow 22/tcp

Reglas UFW de funcionamiento en seco

Puede ejecutar cualquier comando ufw sin hacer ningún cambio en el firewall del sistema utilizando el --dry-run , esto simplemente muestra los cambios que se supone que suceden.

$ sudo ufw --dry-run enable

Restablecer Firewall UFW

Por una razón u otra, si desea eliminar / restablecer todas las reglas de firewall, escriba los siguientes comandos, revertirá todos sus cambios y comenzará de nuevo.

$ sudo ufw reset
$ sudo ufw status

Funcionalidad avanzada UFW

El cortafuegos UFW puede hacer todo lo que hace iptables. Esto se puede hacer con diferentes conjuntos de archivos de reglas, que no son más que simples archivos de texto de restauración de iptables .

El ajuste del cortafuegos UFW o la adición de comandos iptables adicionales no están permitidos a través del comando ufw, solo es cuestión de alterar los siguientes archivos de texto

  • /etc/default/ufw : el archivo de configuración principal con reglas predefinidas.
  • /etc/ufw/before[6].rules : en este archivo, las reglas se calculan antes de agregarlas mediante el comando ufw.
  • /etc/ufw/after[6].rules : en este archivo, las reglas se calculan después de agregar mediante el comando ufw.
  • /etc/ufw/sysctl.conf : este archivo se utiliza para ajustar la red del kernel.
  • /etc/ufw/ufw.conf : este archivo habilita el ufw en el arranque.

¡Eso es! UFW es un excelente front-end para iptables con una interfaz fácil de usar para definir reglas complejas con un solo comando ufw.

Si tiene alguna pregunta o comentario que compartir sobre este artículo de ufw, utilice el formulario de comentarios a continuación para comunicarse con nosotros.

Pin It

Escribir un comentario


Código de seguridad
Refescar



Redes:



 

Suscribete / Newsletter

Suscribete a nuestras Newsletter y periódicamente recibirás un resumen de las noticias publicadas.

Donar a LinuxParty

Probablemente te niegues, pero.. ¿Podrías ayudarnos con una donación?


Tutorial de Linux

Nos obligan a moslestarte con la obviedad de que este sitio utiliza Cookies. Ver política