Configuración OpenSSH
OpenSSH es una herramienta que nos permite administrar ordenadores de manera remota. En esta ocasión presentamos algunas configuraciones básicas que pueden ser de utilidad.
OpenSSH es una herramienta que utilizamos en servidores Linux / Unix para administrar de manera remota, recientemente, Microsoft tambien ha agregado esta herramienta a sus servidores Windows.
Compartiremos 3 juegos de configuraciones que nos pueden ayudar en la configuración inicial del servicio. Para este laboratorio se utilizó Ubuntu 22.04 y OpenSSH 8.2p1
Etapa 1.- Parametros de sshd_config.
- Habilitar Protocolo 2
- Cambiar el puerto 'default'.
- Evitar inicio de sesión del usuario 'root'
- Establecer un máximo para errores de autenticación.
- Establecer un máximo para sesiones simultaneas del mismo usuario.
- Evitar inicio de sesión de usuarios sin contraseña.
- Deshabilitar X11forwarding.
- Establecer un tiempo máximo para periodos de inactividad.
- Establecer un máximo para conexiones no autenticadas (MaxStartUps)
Tal vez el parametro mas confuso es "MaxStartUps". Esta propiedad se establece, por ejemplo, 8;30;100 Esto nos indica que:
- 8 conexiones no autenticadas simultaneas están permitidas.
- Al tener 8 conexiones no autenticadas simultaneas, comenzará a no permitir conexiones nuevas (drop) en una tasa del 30% de las nuevas conexiones y continuará subiendo conforme aparecen nuevas conexiones.
- Cuando se cumpla el parametro de contar con 100 conexiones no autenticadas simultaneas, el 100% de las nuevas conexiones no autenticadas será rechazado, hasta que disminuyan.
Este parametro trata de evitar una denegación de servicios al recibir una inundación de conexiones no autenticadas.
Etapa 2.- Establecer un banner de advertencia.
Aunque un banner de advertencia para el uso de las conexiones SSH no es una garantía en caso de una medida legal contra un usuario que ha ingresado sin autorización, si es importante configurarlo y por supuesto que es un valor de peso para este tipo de acciones, aunque dependiendo del desarrollo del caso, puede ser o no decisivo. Es importante que para elaborarlo se pueda tener la opinión de un abogado en materia.
Etapa 3.- Mejorar la seguridad al iniciar sesión sin contraseña (Passwordless Login)
Cuando iniciamos sesión sin contraseña, utilizando las llaves de cifrado, no es posible que se pueda vulnerar el acceso mediante fuerza bruta o ataque de diccionario. Este es el metodo de inicio de sesión recomendado por preferencia.
Aunque estas recomendaciones tienen como objetivo mejorar la seguridad de nuestro servicio, existen muchos otros metodos complementarios, como fail2ban, así mismo tambien existen otras vulnerabilidades que pueden debilitar la seguridad ,como lo son el software obsoleto.