Instalar Fail2Ban en tu VPS Linux

Ayuda
Asegura tu VPS ante accesos no permitidos instalando Fail2Ban, un simple programa que va a proteger el acceso SSH.
La forma más simple es ejecutando el script Fail2Ban desde el panel de Afro VPS. En caso de que quieras hacerlo manualmente, sigue estos pasos:

1. Conéctate a tu VPS vía SSH, o abre una conexión VNC e ingresa tu usuario y contraseña.

2. Actualiza tu servidor.
(Si no has cambiado los mirrors por defecto, te recomendamos encarecidamente que lo hagas ANTES de seguir. Son 3 simples comandos, y las instrucciones las tienes acá.)

Si usas Ubuntu o Debian, ingresa este comando:
apt update -y && apt upgrade -y

Si usas CentOS 8-9, Rocky Linux 8-9, Alma Linux 8-9 u Oracle Linux 8-9, ingresa este comando:
dnf update -y && dnf install epel-release -y

Si usas CentOS 7, ingresa este comando:
yum update -y && yum install epel-release -y

3. Instala Fail2Ban.

Si usas Ubuntu o Debian, ingresa este comando:
apt install -y fail2ban

Si usas CentOS Stream 8-9, Rocky Linux 8-9, Alma Linux 8-9 u Oracle Linux 8-9, ingresa este comando:
dnf install -y fail2ban

Si usas CentOS 7, ingresa este comando:
yum install -y fail2ban

4. Inicia y deja activado Fail2Ban. Ingresa estos comandos:
systemctl start fail2ban
systemctl enable fail2ban

5. Copia las configuraciones para que no se sobreescriban con las actualizaciones. Ingresa estos comandos:
cp /etc/fail2ban/fail2ban.conf /etc/fail2ban/fail2ban.local
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

6. Finalmente reinicia Fail2Ban. Ingresa este comando:
systemctl restart fail2ban

7. Verifica que el programa está funcionando correctamente escribiendo este comando:
fail2ban-client status

Si muestra algo como esto:
Status
|- Number of jail: 1
`- Jail list: sshd

Entonces está funcionando correctamente. Ya tienes el acceso SSH a tu servidor asegurado contra ataques de fuerza bruta.
Puedes crear diferentes reglas para lo que necesites. Más información sobre Fail2Ban en la página oficial: https://www.fail2ban.org

Si muestra algo como esto:
ERROR Failed to access socket path: /var/run/fail2ban/fail2ban.sock. Is fail2ban running?
Tienes que modificar la configuración que viene por defecto:

1. En el terminal abre la configuración:
vi /etc/fail2ban/jail.local

2. Busca esta parte:
[sshd]

# To use more aggressive sshd modes set filter parameter "mode" in jail.local:
# normal (default), ddos, extra or aggressive (combines all).
# See "tests/files/logs/sshd" or "filter.d/sshd.conf" for usage example and details.
#mode = normal
port = ssh
logpath = %(sshd_log)s
backend = %(sshd_backend)s


3. Cambia la última línea por esto:
backend = systemd

4. Tiene que quedar así:
[sshd]

# To use more aggressive sshd modes set filter parameter "mode" in jail.local:
# normal (default), ddos, extra or aggressive (combines all).
# See "tests/files/logs/sshd" or "filter.d/sshd.conf" for usage example and details.
#mode = normal
port = ssh
logpath = %(sshd_log)s
backend = systemd

5. Guarda y cierra el editor:
:wq

6. Reinicia Fail2Ban:
systemctl restart fail2ban

7. Verifica que el programa está funcionando correctamente escribiendo este comando:
fail2ban-client status

Si muestra algo como esto:
Status
|- Number of jail: 1
`- Jail list: sshd


Listo! Ya tienes el acceso SSH a tu servidor asegurado contra ataques de fuerza bruta.
Puedes crear diferentes reglas para lo que necesites. Más información sobre Fail2Ban en la página oficial: https://www.fail2ban.org