CONFIGURACIÓN DE SSH PARA UNA MEJORA EN SU SEGURIDAD

By Keren Pollack, on September 12th, 2021

Secure Shell (SSH) es un protocolo de red que se utiliza para conectar dispositivos a través de Internet a través de un terminal. También se utiliza para compartir archivos entre dos dispositivos remotos de forma segura. SSH se usa ampliamente ya que encripta los datos que se transfieren, protegiéndolos de actores maliciosos. Este blog cubrirá las configuraciones recomendadas de SSH para mejorar su seguridad y prevenir vulnerabilidades conocidas.

 

SSH utiliza algoritmos de hash avanzados como AES, 3DES, etc. para cifrar los datos antes de enviarlos, y funciona en el puerto número 22 de forma predeterminada. Debido a su seguridad, SSH es ampliamente aceptado y se usa para acceder a computadoras de forma remota para ejecutar comandos. SSH utiliza diferentes métodos de autenticación, incluida la autenticación basada en contraseña, la autenticación de par de claves y una combinación de ambas. Sin embargo, SSH no puede solucionar todos los problemas de TCP ya que se ejecuta sobre la capa de aplicación del modelo OSI.

 

 RECOMENDACIONES DE CONFIGURACIÓN SSH:

Puede encontrar la configuración SSH guardada en los siguientes archivos:

Linux: /etc/ssh/sshd_config

MAC: /etc/ssh/sshd_config

Windows: %programdata%\ssh\sshd_config

 

El archivo de configuración se puede editar para cambiar la configuración SSH. La configuración recomendada para los servidores SSH puede variar entre organizaciones según sus requisitos específicos. Sin embargo, se deben tener en cuenta algunas prácticas recomendadas al configurar el servidor SSH.

 

SSH PUERTO 22:

SSH está configurado de forma predeterminada para usar el puerto 22. Se sabe que el puerto 22 es un objetivo fácil para que los atacantes realicen un ataque Man-in-the-Middle aprovechando las debilidades estructurales del puerto. Por lo tanto, debe cambiar el puerto SSH a algún puerto arbitrario.

 

PROTOCOLO SSH 2 VS 1:

El protocolo SSH 2 es más seguro que el protocolo 1, por lo que debe cambiarse. Un defecto de diseño en el protocolo 1 permite que un servidor malintencionado establezca dos sesiones paralelas, utilizando el mismo ID de sesión. Como resultado, los atacantes pueden realizar un ataque Man-in-the-Middle.

 

PERMISO SSH PARA ROOT LOGIN:

Configuración recomendada:

PermitRootLogin no

 

Deshabilitar el inicio de sesión root es una buena práctica de seguridad. Permita que los usuarios con privilegios normales o sudo puedan conectarse.

 

INTENTOS MÁXIMOS DE INICIO DE SESIÓN:

Configuración recomendada:

MaxAuthTries 3

Este valor define cuántos intentos fallidos de inicio de sesión se permiten por usuario antes de bloquear su acceso durante un período de tiempo determinado. El número de senderos puede variar según las necesidades de la organización.

 

AUTENTICACIÓN DE CONTRASEÑA SSH:

Configuración recomendada:

PasswordAuthentication No

El método de autenticación de contraseña es un imán para los ataques de fuerza bruta. Por lo tanto, recomendamos no utilizar este tipo de método de autenticación.

 

EVITAR CONEXIÓN CON CONTRASEÑA VACÍA

PermitEmptyPasswords No

Si un usuario no usa ninguna contraseña, no se le debe permitir conectarse a través de SSH.

 

AUTENTICACIÓN DE CLAVE PÚBLICA SSH:

Configuración recomendada:

ChallengeResponseAuthentication no

KerberosAuthentication no

GSSAPIAutenticación no

 

Los servidores SSH generalmente están configurados para usar solo autenticación de clave pública. SSH admite muchos otros métodos de autenticación. La autenticación de clave pública solo debe usarse si es necesario.

 

 

AUTENTICACIÓN CLAVE PÚBLICA Y PRIVADA SSH:

Configuración recomendada:

PubkeyAuthentication yes

Debe utilizar pares de claves públicas y privadas para la autenticación.

 

DESACTIVAR EL REENVÍO X11:

Configuración recomendada:

X11Forwarding no

Esta función debe desactivarse para minimizar la superficie de ataque.

 

RESTRINGIR EL ACCESO A USUARIOS ESPECÍFICOS:

Configuración recomendada:

AllowUsers *@192.168.1.1

Esta función debe usarse si se necesita acceder al servidor SSH solo desde una dirección IP específica. Cualquier otra solicitud de dirección IP será rechazada.

 

 PROTEJA EL TRÁFICO SSH CON LA HUELLA DIGITAL DEL SERVIDOR:

Configuración recomendada:

StrictHostKeyChecking ask

Esta opción requiere verificación mediante la huella digital del servidor antes de que se apruebe la comunicación. Esto puede ayudar a reducir las posibilidades de ataques Man-in-the-Middle y suplantación de IP.

 

RECOMENDACIONES ADICIONALES:

AllowAgentForwarding no

AllowTcpForwarding no

PermitTunnel no

 

Esta es solo una lista parcial. Cada organización debe crear una política de configuración segura y reforzada que incluya configuraciones SSH en ella. Es importante recordar que no puede simplemente cambiar su configuración de SSH sin probar el impacto del cambio en su ambiente de producción. Si lo hace, puede terminar con un SSH que no funciona o provocar interrupciones en la producción.

 

Recomendamos el uso de herramientas de automatización de hardening, que generarán automáticamente un informe de análisis de impacto y harán cumplir sus políticas en su ambiente de producción. El uso de estas herramientas le brindará las mejores oportunidades de lograr una infraestructura reforzada con el mínimo esfuerzo, tiempo y riesgo de inactividad.