Tutoriales

Administre firewalls con el módulo UFW de Ansible

La ciberseguridad es una de las preocupaciones más importantes de nuestro tiempo. A medida que avanza la tecnología, también evolucionan el malware, los virus y todo tipo de hacks. Afortunadamente, contamos con software antivirus y firewalls para protegernos de estas amenazas.

Un firewall es responsable de monitorear el tráfico entrante y saliente a través de una red. El proceso de monitoreo está parametrizado por los requisitos de seguridad del sistema que se supone que debe defender el firewall.

Ansible tiene un módulo llamado módulo UFW que permite a los usuarios administrar los firewalls en hosts remotos. ¡Veamos qué es este módulo y cómo funciona!

¿Qué es el módulo UFW?

Antes de llegar al módulo UFW, debemos echar un vistazo a lo que realmente es UFW. UFW son las siglas de Uncomplicated Firewall, una aplicación fácil de usar diseñada para simplificar la administración del firewall en los sistemas Linux. Está preinstalado en todas las versiones de Ubuntu posteriores a la 8.04 LTS.

Lo bueno de UFW es que ofrece una interfaz intuitiva que cualquiera puede aprender rápidamente. Es un programa basado en CLI (interfaz de línea de comandos), pero también hay versiones GUI disponibles. UFW funciona particularmente bien con firewalls de host, lo que probablemente explica por qué es compatible con Ansible.

Ansible tiene un módulo UFW que es uno de los colección community.general, lo que significa que no está incluido Núcleo ansible. Sin embargo, si tiene instalado el paquete Ansible, lo más probable es que ya lo tenga. De lo contrario, consulte las instrucciones de instalación en la siguiente sección.

Instalación del módulo UFW

Puede verificar si el módulo UFW está incluido en su instalación de Ansible o no ejecutando el siguiente comando.

Compruebe la salida. Si no tiene el módulo UFW, ejecute el siguiente comando para instalarlo.

$ ansible-galaxy colección instalar comunidad.general

Con eso, todos estamos en la misma página con respecto a la instalación del módulo UFW. ¡Veamos cómo puedes usarlo!

Uso del módulo UFW

A continuación se presentan algunos parámetros importantes que todo usuario debe conocer antes de utilizar el módulo UFW.

  • Predeterminado o Política: permite o deniega o deniega y cambia la política de seguridad actual para el tráfico de red.
  • eliminar: acepta no (predeterminado) o sí. Elimina una regla.
  • Dirección: especifica la dirección de una regla, es decir, entrante, entrante, saliente, saliente o reenviado.
  • from_ip, from_port: devuelve la dirección IP y el puerto de origen, respectivamente.
  • insertar: agrega una regla identificada por su número de regla o NUM. (Los números comienzan en 1 en UFW)
  • Interfaz: especifica la interfaz (controlada por el parámetro de dirección) para la regla de asunto.
  • log: acepta no (predeterminado) o sí. Habilita y deshabilita el registro de nuevas conexiones realizadas con la regla.
  • Registro: cambia la configuración de registro de paquetes a Activado, Desactivado, Bajo, Medio, Alto o Completo.
  • ruta: acepta no (predeterminado) o sí. Aplica la regla especificada a los paquetes reenviados/enrutados.
  • Regla: agregue una nueva regla de firewall. Acepta los mismos argumentos que el parámetro predeterminado.
  • estado: Habilitado para recargar y ejecutar el firewall en el arranque, Deshabilitado para descargar y apagar el firewall en el arranque, Restablecer para deshabilitar el firewall y aplicar la configuración predeterminada, Recargado para recargar el firewall.
  • to_ip, to_port: devuelve la dirección IP y el puerto de destino, respectivamente.

Una vez que domine los entresijos de estos parámetros, estará en camino de convertirse en un experto en UFW. Si desea obtener más información, visite la documentación del módulo UFW de Ansible. Sin embargo, pasemos a algunos ejemplos que demuestran el uso de este módulo.

Ejemplo 1: habilitar UFW

Este primer ejemplo muestra cómo habilitar UFW y al mismo tiempo permitir todo el tráfico. Esto se puede hacer con el siguiente fragmento de código.

– nombre: habilitar UFW, permitir todo el tráfico
comunidad.general.ufw:
Estado: activado
Política: permitir
– Nombre: Establecer registro
comunidad.general.ufw:
Iniciar sesión’

Ahora ejecute este libro de jugadas con el siguiente comando en la terminal de Linux:

ansible-playbook testbook.yml

Como puede ver, usamos esos Condición parámetros y configurarlo activadoEncienda el cortafuegos. A continuación, nuestra política o parámetro predeterminado lo permite todo. Finalmente, habilitamos el registro.

Ejemplo 2: Denegación de tráfico

Las conexiones de un remitente se pueden rechazar de varias maneras utilizando negar y rechazar. Sin embargo, el uso de denegar no informa al remitente que ha sido denegado. En muchos casos, es posible que desee notificar a los usuarios que sus conexiones están siendo denegadas. En tal caso, utilice el argumento de rechazo.

– comunidad.general.ufw:
Regla: rechazar
Puerto: autorización
registro: si

También registramos las conexiones rechazadas configurando el registro en sí.

Ejemplo 3: Denegar y permitir el acceso a un puerto específico

En este ejemplo, veremos cómo denegar el acceso a un puerto específico. Puede hacer esto simplemente configurando la regla para denegar y pasando el número del puerto deseado.

– nombre: denegar el acceso al puerto 35
comunidad.general.ufw:
Regla: rechazar
puerto: ’35’

También podemos cambiar un poco las cosas al permitir también todos los accesos a un puerto TCP. Así es como se haría.

– nombre: permite todos los accesos al puerto 53
comunidad.general.ufw:
Regla: permitir
puerto: ’53’
prototipo: tcp

Aquí el parámetro proto se pasa a tcp, que simplemente establece el protocolo. Otros posibles valores de argumento son upp, IPv6, especialmente, Ah, ninguna, y más.

Estas técnicas también son aplicables a varios puertos. Suponga que desea permitir o denegar el acceso a una gran cantidad de puertos, pero necesita establecer una regla para cada puerto individualmente. No necesariamente. De hecho, puede atravesar una gran cantidad de puertos que necesitan la misma regla. Aquí hay un ejemplo de cómo funcionaría.

– nombre: Permitir rango de puertos 60000-61000
comunidad.general.ufw:
Regla: permitir
Puerto: 60000:61000
prototipo: tcp

Todos los puertos entre 60000 y 61000 tienen acceso completo.

Conclusión

En esta guía, examinamos el módulo UFW de Ansible. Nos permite administrar de manera eficiente los firewalls en hosts remotos. También vimos algunos ejemplos en los que mostramos cómo permitir o denegar el acceso, administrar puertos y más. ¡Espero que haya sido una lectura informativa para ti!

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Botón volver arriba