Accesso con PAM#

(Nitrokey Pro 2 - Linux)

Come impostare il login#

Avete due opzioni: pam_p11 o Poldi.

La soluzione con pam_p11 è più difficile da realizzare e si basa sui certificati S/MIME. Per ulteriori informazioni, consultare ` la documentazione <https://opensc.github.io/pam_pkcs11/doc/pam_pkcs11.html>`__.

Poldi 0.4.1 funziona perfettamente con Nitrokey per l’autenticazione PAM con chiavi RSA (vedere Risoluzione dei problemi per informazioni sulle chiavi ECC). Oltre all’installazione di poldi (ad esempio sudo apt-get install libpam-poldi su Ubuntu) sono necessari i seguenti passi per farlo funzionare.

È necessario avere già le chiavi generate su Nitrokey, poiché la chiave di autenticazione è usata da PAM.

  1. Per prima cosa è necessario scoprire l“«Application ID» della propria Nitrokey. Si può usare gpg --card-status | grep Application per scoprire qual è il proprio. Sembra che D00600012401020000000000xxxxxxxx o simili.

  2. Ora bisogna aggiungere una riga a /etc/poldi/localdb/users che contenga le seguenti informazioni

    YourApplicationID> YourUsername>

    Questo potrebbe apparire come “D00600012401020000000000xxxxxxxxxx nitrokeyuser”. Ora scaricate la chiave pubblica dalla Nitrokey nel db locale di Poldi:

sudo sh -c 'gpg-connect-agent "/datafile /etc/poldi/localdb/keys/<YourApplicationID>" "SCD READKEY --advanced OPENPGP.3" /bye'

Tieni presente che devi inserire il tuo Application ID nella riga qui sopra con quello del tuo bastone!

Poi dovete configurare PAM. Basta aggiungere «auth sufficient pam_poldi.so» ai file di configurazione di pam secondo le vostre esigenze:

  • /etc/pam.d/common-auth per il login grafico degli utenti

  • /etc/pam.d/login per l’accesso alla console

  • /etc/pam.d/sudo per l’autenticazione sudo

  • /etc/pam.d/gnome-screensaver per il login da uno schermo bloccato,

  • ecc.

Nota

È pericoloso giocare con Pam, quindi assicuratevi di avere un modo per accedere alla macchina se interrompete completamente l’autenticazione. Ricordate che l’avvio in modalità di ripristino da Grub richiede una password di root, quindi tenete a portata di mano quella o un CD live che possa leggere i vostri filesystem.

Qui trovate ulteriori istruzioni (in tedesco, parzialmente obsolete).

Risoluzione dei problemi#

Se ottieni un errore simile a “ERR 100663414 Invalid ID <SCD>” dovresti provare invece

poldi-ctrl -k > <YourApplicationID>; sudo mv <YourApplicationID> /etc/poldi/localdb/keys

Tieni presente che devi inserire il tuo Application ID nella riga qui sopra con quello del tuo bastone!

Chiavi ECC#

Purtroppo, poldi non supporta ancora le chiavi ECC. Esiste però un patch per le chiavi ECC utilizzate con Nitrokey Start. Questo è già incluso nel ramo master del repository di sviluppo di poldi e quindi prima o poi verrà rilasciato in una versione più recente. Nel frattempo l’unica possibilità è quella di compilare poldi dai sorgenti.