Guardia SSH es un demonio de código abierto que protege al host de los ataques de fuerza bruta. Lo hace monitoreando y agregando syslogs, detectando ataques y bloqueando a los atacantes usando uno de los backends de firewall de Linux: iptables, Cortafuegos D, por favor, y ipfw.
Diseñado originalmente para proporcionar una capa adicional de protección al servicio OpenSSH, Guardia SSH También protege una amplia gama de servicios como VSFTPD y sufijoReconoce múltiples formatos de registro, incluidos Syslog, Syslog-ng y archivos de registro sin formato.
[ You might also like: How to Secure and Harden OpenSSH Server ]
Guardia SSH Muy similar a Fail2ban, excepto que usa C (Fail2ban escriba en Pitón), son más ligeros y ofrecen menos funciones.
En esta guía, demostraremos cómo instalar y configurar Guardia SSH Evitar SSH Ataques de fuerza bruta en servidores Linux.
Tabla de Contenidos
Paso 1: Instale SSHGuard en Linux
Empecemos con la instalación Guardia SSH en Linux.
Instalar SSHGuard en Debian/Ubuntu
Primero, actualice la lista de paquetes, luego instale Guardia SSH Obtenlo del repositorio predeterminado usando el administrador de paquetes apt.
$ sudo apt update $ sudo apt install sshguard
Después de la instalación, Guardia SSH El servicio se inicia automáticamente, puedes verificarlo con:
$ sudo systemctl status sshguard
Instalar SSHGuard en sistemas RHEL
Para distribuciones basadas en RHEL, p. sistema operativo central, Rocoso, y AlmaLinux, primero instala EPEL Repositorio proporcionado en el siguiente comando.
$ sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm OR $ sudo dnf install epel-release
y EPEL en su lugar, continúe con la instalación Guardia SSH Utilice el administrador de paquetes dnf.
$ sudo dnf install sshguard
Después de la instalación, inicie y configure Guardia SSH Comienza en el arranque o reinicio del sistema.
$ sudo systemctl start sshguard $ sudo systemctl enable sshguard
asegúrese de confirmar Guardia SSH está funcionando como se esperaba.
$ sudo systemctl status sshguard

Paso 2: Configuración de SSHGuard en Linux
Guardia SSH Monitoreo activo /var/log/auth.log, /var/registro/seguridad registro del sistema y Registro del sistema Archivo de registro para intentos fallidos de inicio de sesión.
Por cada intento de inicio de sesión fallido, el host remoto se bloquea por un período de tiempo, el valor predeterminado es 120 segundo. A partir de entonces, el tiempo de prohibición aumenta en un factor de 1,5 por cada intento de inicio de sesión fallido consecutivo.
Es hora de prohibir hosts infractores, entre otros parámetros, en sshguard.conf documento. Puede acceder al archivo de configuración usando el editor vim como se muestra.
$ sudo vim /etc/sshguard/sshguard.conf
En las distribuciones basadas en RHEL, los archivos de configuración se encuentran en las siguientes rutas.
$ sudo vim /etc/sshguard.conf
Aquí hay un archivo de configuración de muestra cuando se ve desde Ubuntu / Debian.

Centrémonos en las principales opciones.
- Esta extremo posterior La directiva apunta a la ruta completa al ejecutable de back-end.En este ejemplo, vemos tablas de IP Establecer como servidor de seguridad predeterminado.
- Esta punto crítico Directivas para bloquear a los atacantes cuando su puntuación de ataque supera un valor especificado.
- Esta BLOCK_TIME La opción es la cantidad de segundos para bloquear al atacante después de cada intento de inicio de sesión fallido consecutivo. De forma predeterminada, se establece en 120 después del primer intento. Esto aumenta con cada intento de inicio de sesión fallido sucesivo.
- Esta DETECCIÓN_HORA Las opciones se refieren a la cantidad de tiempo (en segundos) que el sistema registra o recuerda a un atacante antes de que se restablezca su puntaje.
- Esta WHITELIST_archivo La opción apunta a la ruta completa a un archivo de lista blanca que contiene hosts que no deberían estar en la lista negra. /li>
Paso 3: Configure SSHGuard para bloquear ataques de fuerza bruta SSH
para evitar Fuerza bruta ataque, necesita configurar en el siguiente firewall para usar protector de pantalla.
Bloquee ataques SSH con UFW
Si tiene UFW instalado y habilitado en su dispositivo Ubuntu / Debian sistema, modificar /etc/ufw/before.rules documento.
$ sudo vim etc/ufw/before.rules
Agregue la siguiente línea después allow all on loopback
parte.
# allow all on loopback -A ufw-before-input -i lo -j ACCEPT -A ufw-before-output -o lo -j ACCEPT # hand off control for sshd to sshguard :sshguard - [0:0] -A ufw-before-input -p tcp --dport 22 -j sshguard
Guarde el archivo y reinicie UFW.
$ sudo systemctl restart ufw
Ahora intente iniciar sesión en el servidor desde un sistema diferente con las credenciales incorrectas y tenga en cuenta que quedará bloqueado durante 120 segundos después del primer intento fallido de inicio de sesión.
Puedes consultar por Registro de autorizaciones archivo de registro.
$ sudo tail -f /var/log/auth.log

Después del siguiente intento fallido de registro, el tiempo de bloqueo aumenta a 240 segundos, entonces 480 segundos, entonces 960 segundos, y así sucesivamente.
Bloquee los ataques SSH con Firewalld
Si está ejecutando firewalld, asegúrese de que esté configurado y habilitado.Luego ejecute el siguiente comando para habilitar protector de pantalla en tu zona preferida.
$ sudo firewall-cmd --permanent --zone=public --add-rich-rule="rule source ipset=sshguard4 drop"
Para aplicar cambios, recargar cortafuegos y protector de pantalla.
$ sudo firewall-cmd --reload $ sudo systemctl restart sshguard
Entonces las reglas de validación son las siguientes:
$ sudo firewall-cmd —-info-ipset=sshguard4

Bloquea ataques SSH con iptables
Si todavía está usando iptables, primero, por protector de pantalla existe iptables Empieza a detener a los malos.
# iptables -N sshguard
A continuación, actualice ingresar cadena para dirigir el tráfico a protector de pantalla y bloquear todo el tráfico de las partes malvadas.
# iptables -A INPUT -j sshguard
Bloquear puertos específicos, p. SSH, Música pop, y IMAP Ejecutar comando del abusador:
# iptables -A INPUT -m multiport -p tcp --destination-ports 22,110,143 -j sshguard
Finalmente, guarde la regla para que los cambios surtan efecto.
# iptables-save > /etc/iptables/iptables.rules
Paso 4: Cómo incluir en la lista blanca los hosts bloqueados por SSH
Para incluir en la lista blanca un host bloqueado, simplemente especifique su nombre de host o dirección IP en el archivo de la lista blanca ubicado en:
/etc/sshguard/whitelist - Ubuntu/Debian /etc/sshguard.whitelist - RHEL-based distros
Después de eso, asegúrese de reiniciar protector de pantalla Daemon y backend de firewall para aplicar cambios.
En esta guía, demostramos cómo bloquear SSH Uso de ataques de fuerza bruta Guardia SSH Un demonio en un servidor Linux. Tus comentarios son bienvenidos.
Si aprecia lo que estamos haciendo en TecMint, debe considerar:
TecMint es el sitio comunitario de más rápido crecimiento y más confiable para artículos, guías y libros de Linux de cualquier tipo en la web. ¡Millones de personas visitan TecMint! Busque o explore miles de artículos publicados que están disponibles gratuitamente para todos.
Si le gusta lo que está leyendo, considere invitarnos a un café (o dos) como agradecimiento.
Agradecemos su apoyo interminable.
.