5 mejores prácticas para evitar ataques de inicio de sesión de fuerza bruta SSH en Linux
- 5086
- 462
- Sra. Lorena Sedillo
Servidores en ejecución Ssh suelen ser un objetivo suave para los ataques de fuerza bruta. Los piratas informáticos están constantemente presentando herramientas y bots de software innovadoras para automatizar ataques de fuerza bruta que aumentan aún más el riesgo de intrusión.
En esta guía, exploramos algunos de los consejos que puede implementar para salvaguardar sus servidores SSH de los ataques de fuerza bruta en distribuciones de Linux con sede en RHEL y derivados de Debian.
Desactivar la autenticación de contraseña de SSH y habilitar la autenticación de Key SSH
El método de autenticación predeterminado para Ssh ¿Es la autenticación de nombre de usuario/contraseña?. Pero como hemos visto, la autenticación de contraseña es propensa a los ataques de fuerza bruta. Para estar seguro, se recomienda implementar la autenticación SSH basada en clave donde la autenticación sea posible por pares de claves SSH públicas y privadas. La clave privada permanece en la PC del cliente mientras la clave pública se copia al servidor.
Durante la autenticación de la clave SSH, el servidor verifica si la PC del cliente posee la clave privada. Si la verificación es exitosa, se crea una sesión de shell o el comando enviado al servidor remoto se ejecuta correctamente. Tenemos una guía completa sobre cómo configurar la autenticación basada en la tecla SSH.
Incluso después de configurar la autenticación basada en la clave, su servidor todavía es susceptible a los ataques de fuerza bruta por la simple razón de que la autenticación de contraseña aún está activa. Esto necesita ser deshabilitado.
Por lo tanto, edite el archivo de configuración SSH predeterminado.
$ sudo vim/etc/ssh/sshd_config
Selecciona el Contraseña parámetro No
como se muestra.
Contraseña Autenticación noDesactivar la autenticación de contraseña de SSH
Luego guarde el archivo y vuelva a cargar SSH para aplicar los cambios.
$ sudo systemctl recarga ssh
Implementar la herramienta de prevención de intrusos de Fail2Ban
Escrito en Pitón, Fail2ban es un marco de prevención de intrusos de código abierto que escanea los archivos de registro de servicios para fallas de autenticación y prohíbe IP que fallan repetidamente las verificaciones de autenticación de contraseña durante un tiempo específico de tiempo específico.
Fail2ban Constantemente monitorea los archivos de registro del servidor para intentos de intrusión y otra actividad nefasta, después de un número predefinido de fallas de autenticación, en la mayoría de los casos, 3 intentos de inicio de sesión fallidos, Fail2Ban bloquea automáticamente el host remoto para acceder al servidor, y el host se mantiene en un 'Celda'Por una duración específica del tiempo.
Al hacerlo, Fail2ban reduce significativamente la tasa de intentos de autenticación de contraseña incorrectos. Consulte nuestra guía sobre cómo puede instalar y configurar Fail2ban en Linux para asegurar su servidor de los ataques Bruteforce.
Limite el número máximo de intentos de autenticación SSH
Otra forma simple de salvaguardar su servidor de los ataques de fuerza bruta es limitar el número de intentos de inicio de sesión SSH. Por defecto, esto está configurado en 3, Pero si por casualidad esto se establece en un valor más alto, configúrelo en 3 intentos de conexión en la mayoría.
Por ejemplo, para establecer los intentos de conexión máximos en 3 establecer el Maxauthtries parámetro 3 como se muestra
Maxauthtries = 3
Una vez más, guarde los cambios y vuelva a cargar el servicio SSH.
$ sudo systemctl recarga ssh
Implementar envoltorios TCP para limitar el acceso SSH de los clientes
TCP WRAPPERS es una biblioteca que proporciona un anfitrión Lista de control de acceso (LCA) que restringe el acceso a los servicios TCP por parte de clientes remotos en función de sus direcciones IP
Hosts remotos para acceder a los servicios en el sistema. Los envoltorios TCP usan el /etc/huéspedes.permitir y /etc/huéspedes.denegar Archivos de configuración (en ese orden) para determinar si el cliente remoto puede acceder a un servicio específico o no.
Por lo general, estos archivos se comentan y todos los hosts están permitidos a través de la capa de envoltorios TCP. Las reglas para permitir el acceso a un servicio determinado se colocan en el /etc/huéspedes.permitir archivo y tener prioridad sobre las reglas en /etc/huéspedes.denegar archivo.
La mejor práctica recomienda bloquear todas las conexiones entrantes. Por lo tanto, abra el /etc/huéspedes.denegar archivo.
$ sudo vim /etc /hosts.denegar
Agregue la siguiente línea.
TODO TODO
Guarde los cambios y salga del archivo.
Luego acceda a la /etc/huéspedes.permitir archivo.
$ sudo vim /etc /hosts.permitir
Configurar los hosts o dominios que pueden conectarse al servidor a través de SSH como se muestra. En este ejemplo, estamos permitiendo que solo dos hosts remotos se conecten al servidor (173.82.227.89 y 173.82.255.55) y negando el resto.
SSHD: 173.82.227.89 173.82.255.55 SSHD: Todos: DenegarLimite el acceso SSH a los clientes
Guarde los cambios y salga del archivo de configuración.
Para probarlo, intente conectarse al servidor desde un host que no se encuentra entre los que ha permitido acceder. Debe recibir un error de permiso como se muestra.
$ ssh [correo electrónico protegido] KEX_EXCHIVE_IENTIFICATION: LEA: RESTACIÓN DE CONEXIÓN POR PEER CONEXIÓN RESET AL 173.82.235.7 Puerto 22 Conexión perdida
Implementar la autenticación de dos factores SSH
Autenticación de dos factores Proporciona una capa de seguridad adicional a la autenticación de contraseña, lo que hace que su servidor sea más seguro de los ataques de fuerza bruta. Un ampliamente utilizado Autenticación de dos factores la solución es Aplicación de autenticador de Google y tenemos una guía bien documentada sobre cómo puede configurar la autenticación de dos factores.
Conclusión
Este fue un resumen de las 5 mejores prácticas que puede implementar para prevenir Fuerza bruta ssh Iniciar sesión y asegurarse de la seguridad de su servidor. También puede leer cómo asegurar y endurecer el servidor OpenSsh.
- « Herramientas útiles para monitorear y depurar el rendimiento de E/S de disco en Linux
- Mejor Java IDE para desarrolladores de Linux »