SSH + OTP c/Google

By | 2016-03-11
One Token Password Image

OTP

Si hay algo que aumenta mucho la seguridad en el acceso a los sistemas de hoy en día es el OTP ( One Time Password ) o 2-step verification ( Explicación de Google ).

Existen grandes empresas que ofrecen soluciones de este tipo, como RSA, pero que pasa si queremos usar OTP para uso personal ? Bueno, Google nos da una “solución” que es utilizar Google Authenticator, vamos a ver como es:

Para el caso de sabores de Gnu/Linux basado en APT estos son los sencillos pasos:

  1. Instalar Google Authenticator en nuestro dispositivo mobil.
  2. Instalar Google Authenticator en el “servidor”: apt-get install libpam-google-authenticator
  3. Generar nuestro “key” ( la vamos a generar con el usuario o los usuarios que vayamos a querar acceder por ssh ): google-authenticator
    1. Do you want authentication tokens to be time-based ? (Y)
    2. Actualizar el archivo “~/.google_authenticator” ? (Y)
    3. ¿Deshabilitar múltiples usos del mismo token de autenticación? (Y)
    4. Por defecto, los tokens duran 30 segundos con el fin de compensar el tiempo posible entre el cliente y el servidor, si experimenta problemas con la sincronización del tiempo , puede aumentar su valor predeterminado de 1:30 minutos a aproximadamente 4 minutos . ¿Quieres hacerlo (Y)
    5. Minimizar los intentos de fuerza bruta , de forma predeterminada se limita a un máximo de 3 intentos cada 30 segundos. ¿ Deseas limitar la actividad ? (Y)
    6. Importante: Guarden los códigos de emergencia que nos va a dar, ya que los mismos nos servirán en caso que el Google Authenticator no funcione por algún motivo.
  4. En la App de Google Authenticator generamos la cuenta: ( en los 3 puntos, lado derecho del titulo ) Configurar cuenta -> Escanear código de barras ( lo pueden ver por pantalla cuando lo generan ) / Ingresar clave brindada ( también nos la da cuando ejecutamos el software en el “servidor” ).
  5. Editar configuración de PAM.D para ssh: vi /etc/pam.d/sshd
    1. Agregar: auth required pam_google_authenticator.so
  6. Editar configuración de SSHD: vi /etc/ssh/sshd_config
    1. Agregar: ChallengeResponseAuthentication yes
  7. Reiniciar servicio de SSHD: service ssh restart
  8. Probar ( en caso de tener problemas, revisar el archivo /var/log/auth.log o /var/log/syslog )

Cualquier duda, comenten 😉

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.