Utilizzo di Yubikey Neo per l'accesso 2FA e la schermata di blocco


13

Voglio usare il mio Yubikey Neo per accedere a Ubuntu 14.04. Inoltre, sarebbe comodo se lo schermo si bloccasse automaticamente ogni volta che scollegavo Yubikey.

Risposte:


11

Innanzitutto, dobbiamo configurare Yubikey per la risposta alla sfida. Un buon manuale per Linux è fornito da Yubico sotto https://developers.yubico.com/yubico-pam/Authentication_Using_Challenge-Response.html

Ora dovresti essere in grado di utilizzare yubikey per l'autenticazione al login. Manca un pezzo comodo: il blocco automatico dello schermo quando viene rimosso il dado Yubikey.

Ho adattato leggermente HowTo dai forum di Yubico ( http://forum.yubico.com/viewtopic.php?f=23&t=1143 ) per abbinarlo a LightDM in 14.04 e Yubikey Neo.

Prima di tutto, crea un nuovo file con i comandi per bloccare lo schermo quando Yubikey non è presente:

sudo nano /usr/local/bin/yubikey

Scrivi quanto segue nel file:

#!/bin/bash 
# Double checking if the Yubikey is actually removed, Challenge-Response won't trigger the screensaver this way.

if [ -z "$(lsusb | grep Yubico)" ]; then
        logger "YubiKey Removed or Changed"
        # Running the LightDM lock command
        export XDG_SEAT_PATH="/org/freedesktop/DisplayManager/Seat0" 
        /usr/bin/dm-tool lock
fi

Le maggiori differenze rispetto al file originale sono l'uso dello strumento dm (per bloccare lo schermo con lightdm) e il termine di ricerca Yubico, poiché Yubikey Neo è registrato con "Yubico.com" in lsusb.

Chiudi e salva il file. Inoltre, dobbiamo rendere eseguibile il file:

sudo chmod +x /usr/local/bin/yubikey

Successivamente, dobbiamo trovare le proprietà dello Yubikey per un incarico adeguato.

Per questo è necessario attivare il descrittore USB. I dettagli sono disponibili sul forum Yubico .

In un nuovo terminale digitare il comando

udevadm monitor --environment --udev

Ora (dis-) collega il tuo yubikey e ottieni un elenco di ID. Cercando

ID_VENDOR_ID
ID_MODEL_ID
ID_SERIAL_SHORT

Saranno utilizzati nel file udev per il riconoscimento di Yubikey.

Suggerimento: l'ID fornitore cambia se si riconfigura lo stick (ad es. Con CCID)

Inoltre, crea un file con

sudo nano /etc/udev/rules.d/85-yubikey.rules

e digitare quanto segue

# Yubikey Udev Rule: running a bash script in case your Yubikey is removed 
ACTION=="remove", ENV{ID_VENDOR_ID}=="1050", ENV{ID_MODEL_ID}=="0010", ENV{ID_SERIAL_SHORT}=="0001711399", RUN+="/usr/local/bin/yubikey"

Cambia l'ID in base alla tua chiave. Nota: puoi aggiungere altro yubikey semplicemente copiando la linea con altri ID!

Chiudi e salva il file. Infine, il servizio udev deve ricaricare le regole:

sudo udevadm control --reload-rules
sudo service udev reload

L'ho provato il 14.04 e non ce n'era, ID_SERIAL_SHORTquindi l'ho saltato.
Paweł Prażak,

So che questa discussione è vecchia, ma è comunque il risultato migliore durante la ricerca. La rimozione di ID_SERIAL_SHORT è pericolosa quando si rimuove un identificatore univoco per la chiave. Supponendo ovviamente che tu voglia creare anche uno script per lo sblocco. Se ID_SERIAL_SHORT non è presente, probabilmente non hai abilitato i flag corretti con lo strumento personalizzatore.
Indice

0

Puoi anche aggiungere l'uccisione di tutti i TTY usando pkill -KILL -t:

if [ -z "$(lsusb | grep Yubico)" ]; then
    logger "YubiKey Removed or Changed"
    # Running the LightDM lock command
    export XDG_SEAT_PATH="/org/freedesktop/DisplayManager/Seat0" 
    /usr/bin/dm-tool lock

    ACTIVE_TTY=$(who | awk '{ print $2 }' | grep tty | uniq)
    echo $ACTIVE_TTY | xargs -I {} pkill -KILL -t {}
fi

Inoltre sembra esserci un problema con le autorizzazioni dei file da lightdm, per risolverlo:

sudo chown lightdm:root /etc/yubico/[user]-[number]
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.