Cómo asegurar SSH con la autenticación de dos factores de Google Authenticator

¿Desea proteger su servidor SSH con autenticación de dos factores fácil de usar? Google proporciona el software necesario para integrar el sistema de contraseña de un solo uso (TOTP) basado en el tiempo de Google Authenticator con su servidor SSH.

¿Desea proteger su servidor SSH con autenticación de dos factores fácil de usar? Google proporciona el software necesario para integrar el sistema de contraseña de un solo uso (TOTP) basado en el tiempo de Google Authenticator con su servidor SSH. Deberá ingresar el código desde su teléfono cuando se conecte.

Google Authenticator no «llama a casa» a Google: todo el trabajo se realiza en su servidor SSH y en su teléfono. De hecho, Google Authenticator es completamente de código abierto, por lo que incluso puede examinar su código fuente usted mismo.

Instalar Google Authenticator

Para implementar la autenticación multifactor con Google Authenticator, necesitaremos el módulo PAM de Google Authenticator de código abierto. PAM significa «módulo de autenticación conectable»: es una forma de conectar fácilmente diferentes formas de autenticación en un sistema Linux.

Los repositorios de software de Ubuntu contienen un paquete fácil de instalar para el módulo PAM de Google Authenticator. Si su distribución de Linux no contiene un paquete para esto, deberá descargarlo de la página de descargas de Google Authenticator en Google Code y compilarlo usted mismo.

Para instalar el paquete en Ubuntu, ejecute el siguiente comando:

sudo apt-get install libpam-google-authenticator

(Esto solo instalará el módulo PAM en nuestro sistema; tendremos que activarlo manualmente para los inicios de sesión SSH).

Crear una clave de autenticación

Inicie sesión como el usuario con el que iniciará sesión de forma remota y ejecute el comando google-authenticator para crear una clave secreta para ese usuario.

Permita que el comando actualice su archivo de Google Authenticator escribiendo y. A continuación, se le indicarán varias preguntas que le permitirán restringir el uso del mismo token de seguridad temporal, aumentar el intervalo de tiempo durante el cual se pueden usar los tokens y limitar los intentos de acceso permitido para obstaculizar los intentos de craqueo por fuerza bruta. Todas estas opciones intercambian algo de seguridad por alguna facilidad de uso.

Google Authenticator le presentará una clave secreta y varios «códigos de emergencia para raspar». Anote los códigos de emergencia para raspar en un lugar seguro: solo se pueden usar una vez cada uno y están destinados a usarse si pierde su teléfono.

Ingrese la clave secreta en la aplicación Google Authenticator en su teléfono (las aplicaciones oficiales están disponibles para Android, iOS y Blackberry). También puede usar la función de escaneo de código de barras: vaya a la URL ubicada cerca de la parte superior de la salida del comando y puede escanear un código QR con la cámara de su teléfono.

Ahora tendrá un código de verificación en constante cambio en su teléfono.

Si desea iniciar sesión de forma remota como múltiples usuarios, ejecute este comando para cada usuario. Cada usuario tendrá su propia clave secreta y sus propios códigos.

Activar Google Authenticator

A continuación, deberá solicitar el Autenticador de Google para los inicios de sesión SSH. Para hacerlo, abra el archivo /etc/pam.d/sshd en su sistema (por ejemplo, con el comando sudo nano /etc/pam.d/sshd ) y agregue la siguiente línea al archivo:

se requiere autenticación pam_google_authenticator.so

A continuación, abra el archivo /etc/ssh/sshd_config , ubique la línea ChallengeResponseAuthentication y cámbiela para que lea como sigue:

ChallengeResponseAuthentication yes

(Si la línea ChallengeResponseAuthentication aún no existe, agregue la línea anterior al archivo).

Finalmente, reinicie el servidor SSH para que sus cambios surtan efecto:

sudo service ssh restart

Se le solicitará tanto su contraseña como el código de Google Authenticator cada vez que intente iniciar sesión a través de SSH.

Rate article
labsfabs.com
Add a comment