Introducción ###
SSHGuard es una excelente herramienta de código abierto para proteger servidores SSH contra ataques de fuerza bruta y ataques de denegación de servicio mediante el monitoreo y filtrado de conexiones SSH entrantes. Puede monitorear registros SSH, bloquear direcciones IP después de exceder fallas de autenticación y bloquear puertos, detectar y bloquear escaneo de puertos, proteger claves SSH, ataques de fuerza bruta al prohibir a los infractores temporalmente, y es fácil de configurar y usar.
En esta guía, aprenderá cómo instalar SSHGuard en su servidor y configurarlo para bloquear ataques de fuerza bruta en su servidor SSH. Estaremos trabajando en un servidor CentOS 8.
Requisitos previos ##
Acceso SSH
- Debes tener un servidor ejecutando CentOS 8.
- Un usuario con privilegios sudo o root.
Actualizar el sistema
Antes de instalar cualquier paquete, actualice su sistema:
```golpecito
actualización sudo yum -y
```
1. Instalar SSHGuard ###
Para instalar SSHGuard, use el administrador de paquetes yum:
```golpecito
sudo yum instalar sshguard
```
2. Configurar SSHGuard ###
Una vez instalado SSHGuard, abra su archivo de configuración:
```golpecito
sudo vi /etc/sshguard/sshguard.conf
```
- Encuentra la siguiente línea y descomentala:
```
habilitado =si
```
Esta línea permite que SSHGuard se inicie automáticamente al iniciar el sistema.
- Ahora, configure el número máximo de intentos fallidos de inicio de sesión permitidos antes de que SSHGuard bloquee la dirección IP infractora. Busque la siguiente línea:
```
max_intentos=5
```
De forma predeterminada, SSHGuard permite cinco intentos fallidos de inicio de sesión. Puede aumentar o disminuir este valor según sus requisitos de seguridad.
- Establezca la cantidad de tiempo (en minutos) que la dirección IP infractora será bloqueada después de exceder el número máximo de intentos de inicio de sesión. Busque la siguiente línea:
```
tiempo_bloque =300
```
El tiempo de bloqueo predeterminado es de 5 horas, que se puede personalizar según sea necesario.
- SSHGuard puede enviar notificaciones por correo electrónico cuando las direcciones IP están bloqueadas. Para habilitar esta función, busque la siguiente línea y descoméntela:
```
email_alert_cmd=/usr/sbin/sshalert
```
Si no hay ningún comando al final de la línea, especifique uno. Por ejemplo:
```
email_alert_cmd=/usr/bin/mailx
```
Reemplace /usr/bin/mailx o un comando similar con la ruta a su cliente de correo.
- De forma predeterminada, SSHGuard solo alerta al usuario root. Para enviar alertas por correo electrónico a otras direcciones de correo electrónico, agréguelas así:
```
sshalert_recipients=root,usuario1@ejemplo.com,usuario2@ejemplo.com
```
- Encuentra la línea:
```
sshalert_cmdline_options=""
```
- Modifíquelo para incluir -r para recibir correos electrónicos. Por ejemplo:
```
sshalert_cmdline_options="-r"
```
- Guarde y cierre el archivo sshguard.conf.
3. Habilitar SSHGuard ###
Para habilitar SSHGuard, ejecute el siguiente comando:
```golpecito
sudo systemctl iniciar sshguard
```
4. Habilite SSHGuard en el inicio del sistema ###
Para asegurarse de que SSHGuard se inicie automáticamente al iniciar el sistema, ejecute el siguiente comando:
```golpecito
sudo systemctl habilitar sshguard
```
5. Pruebe SSHGuard ###
Para probar si SSHGuard funciona correctamente, intente iniciar sesión en su servidor SSH desde otra máquina usando una contraseña incorrecta más veces que el límite establecido en sshguard.conf. Debería ver un mensaje de error similar al siguiente:
```
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@
Su cuenta ha sido bloqueada. Inténtalo de nuevo en xx minutos.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@
```
6. Verificar direcciones IP bloqueadas ###
Para ver la lista de IP bloqueadas, use el siguiente comando:
```golpecito
registro-sshguard -e 1
```
Esto mostrará una lista de IP bloqueadas y el motivo por el que fueron bloqueadas, junto con la hora en que se desbloquearán.
7. Desbloquear direcciones IP ###
Si desea desbloquear una dirección IP, puede utilizar el siguiente comando:
```golpecito
sshguard-unblock
```
Reemplace
SSHGuard es una poderosa herramienta para proteger servidores SSH contra ataques de fuerza bruta y ataques de denegación de servicio. Si sigue los pasos de esta guía, podrá instalar y configurar fácilmente SSHGuard para mejorar la seguridad de su servidor.
Conclusión ###