Hace ya tiempo Google sacó un sistema novedoso, la autenticación en 2 pasos para todo su sistema. Para aquellos que no lo conozcáis, no es más que un extra se seguridad a tu contraseña basado en un código temporal que deberás de introducir cada vez que quieras iniciar sesión en Google. Puesto que el código es aleatorio y se cambia cada 30 segundos, es extremadamente complicado que alguien que esté a la escucha (ataque made in the middle) pueda capturar la contraseña y aprovecharse de ello. Ya no digamos, adivinarla directamente.
Recientemente encontré un proyecto, Google Authenticator que lleva la misma filosofía a nuestro servidor SSH, permitiendo así tener un segundo paso de autenticación. Imaginaros un servidor SSH expuesto a Internet, pues nunca está demás tener un extra de seguridad, así que esta autenticación en dos pasos, es muy interesante.
En este post vamos a ver cómo configurar este nuevo software con nuestro servidor SSH y cómo poder enlazarlo en nuestro móvil (Android, iPhone o Blackberry). Para ello, vamos a seguir unos sencillos pasos.
- Descargar la aplicación Google Authenticator
Está disponible en los market's de vuestro sistema. Por lo menos en Google Play, como "Google Authenticator". También necesitamos tener instalado un lector de códigos QR, para hacer los pasos más sencillos. Yo os recomiendo Barcode Scanner. - Instalar el software necesario en el servidor GNU/LinuxSi estás empleando Ubuntu, puedes añadir directamente el repositorio,
shell> add-apt-repository ppa:failshell/stable shell> apt-get update shell> apt-get install libpam-google-authenticator
En caso de emplear otra distribución, puedes descargar el código desde aquí y compilarlo.Una vez tengas el software instalado, sólo quedará por realizar los pequeños cambios en los ficheros de configuración oportunos.- /etc/pam.d/sshd
auth required pam_google_authenticator.so ... ...
- /etc/ssh/sshd_config
ChallengeResponseAuthentication yes
- Reiniciar el servidor ssh
shell> service ssh restart
- /etc/pam.d/sshd
- Generar la clave para el usuarioAhora que ya el administrador hizo todo su trabajo, sólo queda generar una nueva clave. Para ello habrá que ejecutar el comando 'google-authenticator' como usuario, lo que generará un código QR que será el que tengamos que leer con nuestro teléfono. A mayores, nos ofrece un 5 códigos de emergencia, los cuales debería de ser guardados en un lugar seguro y también una clave secreta, por si no tienes un lector de códigos QR, poder crear la nueva cuenta en la aplicación móvil.
shell> google-authenticator
Your new secret key is: GSDRTAHDMEHZ5545 Your verification code is 785634 Your emergency scratch codes are: 62294539 67649794 80559805 17028096 57642341 Do you want me to update your "~/.google_authenticator" file (y/n) y ... ...
- Añadirla en el teléfono
Antes de cerrar la consola, necesitamos abrir la aplicación Authenticator de nuestro móvil y configurar una nueva cuenta. Ahí nos permite añadirla desde un código QR o desde un clave manual. Elegimos la primera opción y escaneamos el código que obtuvimos. Automáticamente se nos añadirá la cuenta a la aplicación y como veréis hay un pequeño reloj en la parte derecha que indica el tiempo de validez de la contraseña. Una vez termina, se genera una nueva clave. - Acceder al sistemaSi todo está correcto, la próxima vez que se intente acceder al sistema recién configurado veremos que para hacer efectivo el acceso será necesario la verificación en dos pasos. La contraseña y la clave aleatoria.
javier@local> ssh remote_host Verification code: Password: Welcome to Ubuntu 12.10 (GNU/Linux 3.5.0-18-generic i686) * Documentation: https://help.ubuntu.com/ javier@remote>
En caso de que alguna de las dos no sea correcta, el sistema no permitirá el acceso.
Sin duda es una forma muy útil de tener un extra se seguridad a muy bajo precio y aparte del software aquí comentado, lo único que se necesita es que ambos equipos (móvil y equipo) estén con la hora sincronizada (NTP), para que la clave generada - clave esperada coincidan.
Más información en, www.howtogeek.com y en Google-authenticator wiki
Más información en, www.howtogeek.com y en Google-authenticator wiki
La entrada SSH en dos pasos la puedes leer en Puppet Linux.
No hay comentarios :
Publicar un comentario