LinuxParty

NUESTRO SITIO necesita la publicidad para costear hosting y el dominio. Por favor considera deshabilitar tu AdBlock en nuestro sitio. También puedes hacernos una donación entrando en linuxparty.es, en la columna de la derecha.
Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado
 

Los servidores que ejecutan SSH suelen ser un objetivo fácil para los ataques de fuerza bruta. Los piratas informáticos crean constantemente herramientas de software innovadoras y bots 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 proteger sus servidores SSH de ataques de fuerza bruta en distribuciones de Linux basadas en RHEL y derivados de Debian .

Deshabilite la autenticación de contraseña SSH y habilite la autenticación de clave 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 ataques de fuerza bruta. Para estar seguro, se recomienda implementar la autenticación SSH basada en claves donde la autenticación es posible mediante pares de claves SSH públicas y privadas. La clave privada permanece en la PC del cliente mientras que la clave pública se copia en el servidor.

Durante la autenticación de clave SSH, el servidor verifica si la PC cliente posee la clave privada. Si la verificación tiene éxito, se crea una sesión de shell o el comando enviado al servidor remoto se ejecuta con éxito. Tenemos una guía completa sobre cómo configurar la autenticación basada en claves SSH .

Incluso después de configurar la autenticación basada en claves, su servidor aún es susceptible a ataques de fuerza bruta por la sencilla razón de que la autenticación con contraseña aún está activa. Esto necesita ser deshabilitado.

Por lo tanto, edite el archivo de configuración de SSH predeterminado.

$ sudo vim /etc/ssh/sshd_config

Establezca el parámetro PasswordAuthentication no como se muestra.

PasswordAuthentication no

Deshabilitar la autenticación de contraseña SSH

Luego guarde el archivo y vuelva a cargar SSH para aplicar los cambios.

$ sudo systemctl reload ssh

Implementar la herramienta de prevención de intrusiones Fail2ban

Escrito en Python , Fail2ban es un marco de prevención de intrusiones de código abierto que escanea los archivos de registro de los servicios en busca de fallas de autenticación y prohíbe las IP que fallan repetidamente en las verificaciones de autenticación de contraseña durante un período de tiempo específico.

Fail2ban monitorea constantemente los archivos de registro del servidor en busca de intentos de intrusión y otras actividades nefastas. Después de una cantidad predefinida 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 acceso del host remoto al servidor y el host se mantiene en un ' Cárcel ' por un período de tiempo específico.

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 proteger su servidor de ataques de fuerza bruta.

Limite el número máximo de intentos de autenticación SSH

Otra forma sencilla de proteger su servidor de los ataques de fuerza bruta es limitar el número de intentos de inicio de sesión SSH. De forma predeterminada, está configurado en 3 , pero si por casualidad está configurado en un valor más alto, configúrelo en 3 intentos de conexión como máximo.

Por ejemplo, para establecer el número máximo de intentos de conexión en 3, establezca el parámetro MaxAuthTries en 3 como se muestra

MaxAuthTries = 3

Una vez más, guarde los cambios y vuelva a cargar el servicio SSH.

$ sudo systemctl reload ssh

Implemente contenedores TCP para limitar el acceso SSH de los clientes

TCP wrappers es una biblioteca que proporciona una lista de control de acceso ( ACL ) basada en host que restringe el acceso a los servicios TCP por parte de clientes remotos en función de sus direcciones IP

Hosts remotos de acceder a los servicios en el sistema. Los contenedores TCP utilizan los archivos de configuración /etc/hosts.allow y /etc/hosts.deny (en ese orden) para determinar si el cliente remoto puede acceder a un servicio específico o no.

Por lo general, estos archivos están comentados y todos los hosts pueden pasar por la capa de contenedores TCP. Las reglas para permitir el acceso a un servicio dado se colocan en el archivo /etc/hosts.allow y tienen prioridad sobre las reglas en el archivo /etc/hosts.deny .

Las mejores prácticas recomiendan bloquear todas las conexiones entrantes. Por lo tanto, abra el archivo /etc/hosts.deny .

$ sudo vim /etc/hosts.deny

Agregue la siguiente línea.

ALL: ALL

Guarde los cambios y salga del archivo.

Luego acceda al archivo /etc/hosts.allow .

$ sudo vim /etc/hosts.allow

Configure los hosts o dominios que pueden conectarse al servidor a través de SSH como se muestra. En este ejemplo, permitimos que solo dos hosts remotos se conecten al servidor ( 173.82.227.89 y 173.82.255.55 ) y denegamos el resto.

sshd: 173.82.227.89 173.82.255.55
sshd: ALL: DENY

Limite 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 encuentre entre aquellos a los que ha permitido el acceso. Debería obtener un error de permiso como se muestra.

$ ssh Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo..7

kex_exchange_identification: lectura: conexión restablecida por pares
Restablecimiento de conexión por 173.82.235.7 puerto 22
conexión perdida

Implementar la autenticación de dos factores SSH

La 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 frente a los ataques de fuerza bruta. Una solución de autenticación de dos factores ampliamente utilizada es la aplicación Google Authenticator 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 evitar ataques de inicio de sesión de SSH Brute Force y garantizar la seguridad de su servidor. También puede leer Cómo proteger y fortalecer el servidor OpenSSH.

Pin It

Escribir un comentario


Código de seguridad
Refescar



Redes:



 

Suscribete / Newsletter

Suscribete a nuestras Newsletter y periódicamente recibirás un resumen de las noticias publicadas.

Donar a LinuxParty

Probablemente te niegues, pero.. ¿Podrías ayudarnos con una donación?


Tutorial de Linux

Filtro por Categorías