Páginas

9 de julio de 2015

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:
  1. Usar una contraseña fuerte.
  2. Cambiar el puerto por defecto de SSH.
  3. Usar siempre la versión 2 del protocolo SSH.
  4. Desactivar el acceso como root.
  5. Limitar el acceso de los usuarios.
  6. Usar autenticación mediante llaves.

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 y este otro.

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

Conclusiones:

Haciendo estos pasos podremos añadir un extra de seguridad a nuestros ordenadores y servidores, pero nunca debemos olvidar que hay un factor importante: lo que hay entre la silla y el teclado. Es por ello que les recomiendo la lectura de este artículo.
Fuente: HowToForge


from Desde Linux http://feedproxy.google.com/~r/UsemosLinux/~3/cafJH_D-7HI/
via IFTTT