Fuera de la caja, la carcasa segura es bastante segura. Con la ayuda de la autenticación de clave ssh, puede bloquear el shell seguro para que sólo puedan iniciar sesión máquinas específicas. Aquí está el cómo.
Si usted es un administrador de Linux, seguramente está utilizando el shell seguro para obtener acceso a sus servidores remotos. Por qué? Secure Shell es mucho más confiable que muchos otros medios para acceder a sus servidores remotos. Cuando intente iniciar sesión en un servidor remoto, se le pedirá un nombre de usuario y una contraseña. Al transmitir esa información, está encriptada, por lo que no hay necesidad de preocuparse. Sin embargo, ¿qué pasaría si pudieras añadir otra capa de seguridad? Esto no sólo es posible, sino que además es muy sencillo.
Más información sobre ciberseguridad
Quiero guiarte a través del proceso de configuración de la autenticación de clave ssh para la autenticación segura de shell y desactivar la autenticación de contraseña. Con esto configurado, sólo aquellos con la clave ssh adecuada podrán acceder a sus servidores. Estaré haciendo demostraciones en la plataforma Ubuntu Server 16.04, pero esto funciona en cualquier plataforma Linux que utilice shell seguro. Asumiré que ya tiene instalado un shell seguro tanto en un servidor como en al menos un cliente. Por último, pero no por ello menos importante, utilizaré las siguientes direcciones IP para mi ejemplo:
- Cliente – 192.168.1.198
- Servidor – 192.168.1.162
También es importante que el usuario que generará la clave ssh también tenga cuentas en ambas máquinas, así como ser miembro del grupo sudoers en ambas máquinas.
Generar la clave ssh
Lo primero que debemos hacer es generar la clave ssh en el servidor. Inicie sesión en su servidor y emita el siguiente comando (como el usuario que iniciará sesión desde el cliente):
ssh-keygen -t rsa
Durante la creación de la clave, tiene la opción de crear una contraseña asociada o no. La ventaja de no configurar una contraseña es que no se le pedirá cuando vaya a iniciar sesión en el servidor. A menos que tenga que tener una autenticación sin contraseña para su clave ssh, no se lo recomendaría.
Copiar la clave al cliente
Una vez que el comando se haya completado, deberá copiar la clave del servidor al cliente. El comando para hacer esto es:
ssh-copy-id -i $HOME/.ssh/id_rsa.pub USER@192.168.1.198
Donde USUARIO es el nombre de usuario que ingresará al servidor.
Comprobación de la conexión
Cuando esto termine, es hora de probar la conexión. Vuelva al cliente y emita el comando:
ssh -v USER@192.168.1.162
Donde USUARIO es el nombre de usuario.
Si ha configurado su clave ssh sin contraseña, iniciará inmediatamente la sesión en el servidor. Si configura su clave ssh con una contraseña, se le pedirá que lo haga. Escriba la contraseña de la clave ssh y estará conectado.
Desactivación de la autenticación de contraseña
Si ha logrado iniciar sesión correctamente, configuremos ahora el shell seguro de forma que no permita la autenticación de contraseñas. Para ello, abra el archivo /etc/ssh/sshd_config en su editor favorito y añada la siguiente línea al final del archivo:
ContraseñaAutenticación no
Guarde y cierre ese archivo.
Finalmente, reinicie ssh con el comando:
sudo service ssh reiniciar
Ahora, si intenta iniciar sesión en su servidor, no podrá hacerlo sin la clave ssh añadida. Ahora que está seguro de que todo funciona, puede utilizar el comando ssh-copy-id (desde el servidor) para cada equipo cliente que necesite poder iniciar sesión en el servidor.
Disfrute de la seguridad
¡Eso es todo lo que hay que hacer! Ahora sólo puede iniciar sesión en su servidor desde máquinas que incluyan su clave ssh. Disfrute de la capa de seguridad añadida, que le ofrece el shell seguro y las claves de autenticación seguras de shell.
Boletín informativo de consejotecnologico.com
Refuerce las defensas de seguridad de TI de su organización manteniéndose al día de las últimas noticias, soluciones y mejores prácticas en materia de ciberseguridad.
Entregado los martes y jueves