Instalacion automatizada de Fail2Ban con Ansible: Protege tu servidor de forma eficiente

Mantener la seguridad de tu servidor es fundamental para prevenir ataques y proteger tus datos. Fail2Ban es una herramienta esencial que te ayuda a defender tu servidor de ataques por fuerza bruta. En este post, te mostraremos cómo automatizar la instalación y configuración básica de Fail2Ban utilizando Ansible, una herramienta de administración y aprovisionamiento de servidores ampliamente utilizada.

  1. Requisitos previos

Antes de comenzar, asegúrate de tener lo siguiente:

  • Un servidor o grupo de servidores que desees proteger con Fail2Ban.
  • Ansible instalado en tu máquina local o en un servidor de control.
  • Acceso SSH a los servidores en los que deseas instalar Fail2Ban.
  1. Crear el playbook de Ansible

Crea un nuevo archivo llamado fail2ban_playbook.yml en tu máquina local o en tu servidor de control. A continuación, agrega el siguiente contenido al archivo:

---
- name: Instalar y configurar Fail2Ban
  hosts: all
  become: yes
  tasks:
    - name: Instalar Fail2Ban
      package:
        name: fail2ban
        state: present

    - name: Crear archivo de configuración jail.local
      copy:
        src: jail.local
        dest: /etc/fail2ban/jail.local
        owner: root
        group: root
        mode: '0644'
        notify: reiniciar fail2ban


  handlers:
     - name: reiniciar fail2ban
        systemd:
        name: fail2ban
        state: restarted

Este playbook automatiza la instalación de Fail2Ban y crea un archivo de configuración básica llamado jail.local en el servidor.

  1. Crear el archivo de configuración básica de Fail2Ban

En la misma ubicación que el playbook, crea un archivo llamado jail.local con la siguiente configuración básica:

[DEFAULT]
bantime = 3600
findtime = 600
maxretry = 5

[sshd]
enabled = true

Esta configuración básica establece un tiempo de bloqueo de 3600 segundos (1 hora), un período de búsqueda de 600 segundos (10 minutos) y un límite de 5 intentos fallidos antes de bloquear una dirección IP en el servicio SSH.

  1. Configurar el inventario de Ansible

Asegúrate de que tu archivo de inventario de Ansible (generalmente llamado hosts o inventory.ini) esté configurado con los servidores en los que deseas instalar Fail2Ban. Por ejemplo:

[servidores]
192.168.1.10
192.168.1.20

 

  1. Ejecutar el playbook

Ejecuta el siguiente comando para iniciar el playbook y comenzar la instalación de Fail2Ban en los servidores configurados en tu archivo de inventario:

ansible-playbook -i /ruta/al/inventario/hosts fail2ban_playbook.yml

Ansible se conectará a los servidores y realizará las tareas especificadas en el playbook, como instalar Fail2Ban y crear el archivo de configuración jail.local.

Conclusión:

La instalación y configuración automatizada de Fail2Ban con Ansible facilita la protección de tus servidores contra ataques por fuerza bruta. Utilizando el playbook proporcionado, Fail2Ban se instala y se crea un archivo de configuración básica jail.local en el servidor.

Ten en cuenta que cuando se utiliza el archivo jail.local, cualquier configuración en jail.conf que no esté presente en jail.local seguirá siendo activa. Esto significa que cualquier jail adicional en jail.conf que no se mencione en jail.local seguirá funcionando. La configuración en jail.local tiene prioridad sobre la configuración en jail.conf. Por lo tanto, si deseas personalizar la configuración de Fail2Ban, es recomendable que realices los cambios en jail.local en lugar de modificar jail.conf.

Al utilizar este método, podrás mantener la configuración predeterminada de Fail2Ban en jail.conf y solo realizar cambios específicos en jail.local. Esto facilita la gestión de la configuración de Fail2Ban y garantiza que cualquier actualización futura del paquete Fail2Ban no sobrescrita tus configuraciones

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *