Contraseñas de un solo uso en Linux

    OTP son las siglas de 'One Time Password' es decir, contraseñas de un solo uso. Habitualmente empleadas en entornos con elevados requerimientos de seguridad, fueron popularizadas a través de los tokens 'RSA SecureID' como herramientas para hacer logins empleando factor doble de autenticación. OTP son las siglas de 'One Time Password' es decir, contraseñas de un solo uso. Habitualmente empleadas en entornos con elevados requerimientos de seguridad, fueron popularizadas a través de los tokens 'RSA SecureID' como herramientas para hacer logins empleando factor doble de autenticación.

    Groso modo, el sistema funciona de la siguiente manera:

    •No existe un concepto de contraseña inmutable
    •Cada vez que se quiera acceder al sistema se necesita una contraseña nueva
    Es decir, en cada momento el servidor espera una contraseña que va cambiando de forma que si esa contraseña fuera interceptada, apenas serviría para un corto periodo de tiempo.

    Existen varias implementaciones de OTP, en este caso vamos a usar Mobile-OTP ya que se integra perfectamente en el subsistema PAM de linux y además tiene clientes para Iphone, Android o Windows mobile.

    Mobile-OTP es bastante sencillo y funciona de la siguiente manera:

    1.El cliente genera el valor de md5(PIN+SECRET+TIME)

    2.Envía el valor al servidor

    3.El servidor calcula el valor de md5(PIN+SECRET+TIME) en un intervalo de 3 minutos hacia atrás

    4.Si el valor suministrado por el cliente coincide con alguno de los generados por el servidor, la autenticación será positiva

    Para instalarlo necesitamos dos cosas, un cliente para generar las contraseñas y el módulo PAM para el servidor.

    Como cliente, podemos usar cualquiera de los disponibles para teléfonos móviles (interesante tener el generador de tokens en el móvil) o bien un sencillo cliente hecho en Javascript que podemos ejecutar en casi cualquier navegador (e instalarlo en nuestro servidor).

    Para el servidor descargamos el módulo PAM desde aquí y lo compilamos de la forma habitual:

    # make

    Si todo ha ido bien (necesitarás pam-devel instalado en tu sistema) se habrá creado el fichero pam_mobile_otp.so que debemos copiar en /lib/security/

    # cp pam_mobile_otp.so /lib/security/

    Después de eso copiamos el fichero de configuración con el listado de usuarios + PIN + Token:

    # cp motp.conf /etc/security/

    Un ejemplo de fichero de configuración para tener acceso OTP para el usuario root sería el siguiente:

    # cat /etc/security/motp.conf

    root 1234567890abcdef 1234 0

    Lo que significa que el PIN del usuario root es 1234 (el módulo PAM tiene una limitación de 4 caracteres en el PIN) y su semilla 1234567890abcdef. Estos datos deben ser cambiados en tu instalación.

    Con esto hecho, procedemos a configurar el servicio SSH para que acepte esta nueva fórmula de autenticación editando /etc/pam.d/sshd dejándolo así:

    #%PAM-1.0

    auth sufficient /lib/security/pam_mobile_otp.so not_set_pass
    password required /lib/security/pam_mobile_otp.so debug
    account required /lib/security/pam_mobile_otp.so

    auth required pam_sepermit.so
    auth include system-auth
    account required pam_nologin.so
    account include system-auth
    password include system-auth
    # pam_selinux.so close should be the first session rule
    session required pam_selinux.so close
    session required pam_loginuid.so
    # pam_selinux.so open should only be
    followed by sessions to be executed in the user context
    session required pam_selinux.so open env_params
    session optional pam_keyinit.so force revoke
    session include system-auth
    Con esta configuración seguimos aceptando autenticación 'normal' basada en contraseña mapeada en /etc/shadow y además passwords OTP. Si únicamente pretendemos aceptar contraseñas OTP podemos modificar /etc/pam.d/sshd

    Una vez configurado el servidor, si volvemos a la pagina web generadora de contraseñas, podemos rellenar los campos

    PIN --> 1234
    Secret --> 1234567890abcdef

    y nos dará como respuesta una contraseña temporal para acceder con el usuario root al sistema vía SSH.

    Notas: Esta configuración ha sido probada en una Fedora Core 11. Es MUY IMPORTANTE que la hora del cliente y la del servidor estén sincronizadas, de lo contrario las contraseñas temporales NO funcionaran, asegúrate que el comando

    # date +%s

    devuelve valores parecidos en cliente y servidor

    Fuente: securitybydefault.com además puede ver: Contraseñas de un solo uso en Apache

    Noticias Linux y más

    ¿Qué es Kali NetHunter y por qué deberías conocerlo?

    kali Linux NetHunter Seguramente ya has escuchado hablar de Kali Linux, la popular distribución diseñada especialmente para la seguridad informática y las pruebas de penetración. Pero, ¿sabías que también existe una versión optimizada específicamente para dispositivos móviles Android? Esa versión se llama Kali NetHunter.

    Leer más...

    10 trucos increíbles que puedes hacer con FFmpeg en Linux

    ffmpegFFmpeg es una potente herramienta de línea de comandos en Linux, ampliamente utilizada para convertir, editar, procesar y manipular contenido multimedia. Gracias a su versatilidad, FFmpeg permite realizar tareas complejas con vídeos y audios de forma rápida y sencilla, utilizando comandos directos desde tu terminal.

    Leer más...

    5 herramientas gratuitas para leer y gestionar tus archivos PDF en Linux

    PDF LinuxEn Linux, la gestión y visualización de archivos PDF es fundamental tanto para estudiantes como profesionales. Aunque existen muchas alternativas, no todas ofrecen la misma calidad o comodidad. Por suerte, en Linux disponemos de herramientas gratuitas que facilitan enormemente esta tarea.

    Leer más...

    Las grandes diferencias entre los escritorios Linux COSMIC y KDE Plasma

    Cosmic versus KDEAl hablar de entornos de escritorio en Linux, las opciones son variadas y constantemente en evolución. KDE Plasma lleva décadas siendo uno de los entornos de escritorio más completos, personalizables y reconocidos, apreciado por usuarios que buscan flexibilidad y eficiencia visual.

    Leer más...

    Please publish modules in offcanvas position.