BUENAS PRÁCTICAS CON OPENSSH
OpenSSH (Open Secure Shell) es un conjunto de aplicaciones que permiten realizar comunicaciones cifradas a través de una red, usando el protocolo SSH. Fue creado como una alternativa libre y abierta al programa Secure Shell, que es software propietario. « Wikipedia.
Puede que algunos usuarios piensan que las buenas prácticas solo deben ser aplicadas en los servidores y no es así. Muchas distribuciones GNU/Linux incluyen OpenSSH por defecto y hay algunas cosas que debemos tener en cuenta.
SEGURIDAD
Estos son los 6 puntos más importantes a tener en cuenta a la hora de configurar SSH:
- Usar una contraseña fuerte.
- Cambiar el puerto por defecto de SSH.
- Usar siempre la versión 2 del protocolo SSH.
- Desactivar el acceso como root.
- Limitar el acceso de los usuarios.
- Usar autenticación mediante llaves.
- Otras opciones
UNA CONTRASEÑA FUERTE
Un buen password es aquel que contiene caracteres alfanuméricos o especiales, espacios, mayúsculas y minúsculas… etc. Acá en DesdeLinux hemos mostrado varios métodos para generar buenas contraseñas. Pueden visitar este artículo
CAMBIAR EL PUERTO POR DEFECTO
El puerto por defecto de SSH es el 22. Para cambiarlo lo único que debemos hacer es editar el fichero /etc/ssh/sshd_config. Buscamos la línea que dice:
#Port 22
la descomentamos y cambiamos el 22 por otro número.. por ejemplo:
Port 7022
Para saber los puertos que no estamos usando en nuestro ordenador/servidor podemos ejecutar en el terminal:
$ netstat -ntap
Ahora para acceder a nuestro ordenador o servidor debemos hacerlo con la opción -p de la siguiente forma:
$ ssh -p 7022 usuario@servidor
USAR PROTOCOLO 2
Para asegurarnos de que estamos usando la versión 2 del protocolo SSH, debemos editar el fichero /etc/ssh/sshd_config y buscar la línea que dice:
# Protocol 2
Lo descomentamos y reiniciamos el servicio SSH.
NO PERMITIR ACCESO COMO ROOT
Para evitar que el usuario root pueda acceder de forma remota por SSH, buscamos en el fichero/etc/ssh/sshd_config la línea:
#PermitRootLogin no
y la descomentamos. Creo que vale aclarar que antes de hacer esto debemos asegurarnos que nuestro usuario tenga los permisos necesarios para realizar tareas administrativas.
LIMITAR ACCESO POR USUARIOS
Tampoco está de mas permitir el acceso vía SSH solo a determinados usuarios de confianza, por lo que volvemos al fichero /etc/ssh/sshd_config y añadimos la línea:
AllowUsers elav usemoslinux kzkggaara
Donde evidentemente, los usuarios elav, usemoslinux y kzkggaara son los que podrán acceder..
USAR AUTENTICACIÓN MEDIANTE LLAVES
Aunque este método es el más recomendado, debemos tener especial cuidado pues accederemos al servidor sin poner la contraseña. Esto significa que si un usuario logra entrar a nuestra sesión o nos roban el ordenador, podemos estar en problemas. No obstante, veamos como hacerlo.
Lo primero es crear un par de llaves (pública y privada):
ssh-keygen -t rsa -b 4096
Luego le pasamos nuestra llave al ordenador/servidor:
ssh-copy-id -i ~/.ssh/id_rsa.pub elav@200.8.200.7
Por último tenemos que tener descomentada, en el fichero /etc/ssh/sshd_config la línea:
AuthorizedKeysFile .ssh/authorized_keys
OTRAS OPCIONES
Aporte de Yukiteru
Podemos reducir el tiempo de espera en el que un usuario puede loguearse satisfactoriamente al sistema a 30 segundos
LoginGraceTime 30
Para evitar ataques a ssh por medio de TCP Spoofing, dejando activo el alive encriptado del lado de ssh por un máximo de 3 minutos, podemos activar estas 3 opciones.
TCPKeepAlive no ClientAliveInterval 60 ClientAliveCountMax 3
Deshabilitar el uso de archivos rhosts o shosts, los cuales por razones de seguridad son instados a no utilizarse.
IgnoreRhosts yes IgnoreUserKnownHosts yes RhostsAuthentication no RhostsRSAAuthentication no
Chequear los permisos efectivos del usuario durante el login.
StrictModes yes
Activa la separación de privilegios.
UsePrivilegeSeparation yes
BUENAS PRÁCTICAS CON OPENSSH
Reviewed by PDFREEBOOK
on
10:30
Rating:
Post a Comment