Accesso con PAM#

(Nitrokey Pro 2 - Linux)

Come impostare il login#

Sono disponibili due opzioni: pam_p11 o PAM 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>`__.

PAM 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 (per 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’ID applicazione di Nitrokey. L’aspetto è simile a D00600012401020000000000xxxxxxxx.

gpg --card-status | grep Application
  1. Ora si deve aggiungere una riga a /etc/poldi/localdb/users che contenga le seguenti informazioni <YourApplicationID> <YourUsername>.

    Questo potrebbe apparire come D00600012401020000000000xxxxxxxx nitrokeyuser. Ora scaricare la chiave pubblica da Nitrokey nel db locale di Poldis:

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

Si prega di notare che nella riga precedente è necessario inserire l’ID dell’applicazione con quello della propria Nitrokey!

Poi si deve configurare PAM. Basta aggiungere auth sufficient pam_poldi.so ai file di configurazione di PAM in base alle proprie 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 tornare al login da una schermata bloccata.

  • e altri file in /etc/pam.d

Nota

PAM è pericoloso da usare, 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 tenetela a portata di mano o un CD live che possa leggere i vostri filesystem.

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

Risoluzione dei problemi#

Se si ottiene un errore simile a ERR 100663414 Invalid ID <SCD> si dovrebbe provare invece a

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ò una patch di per le chiavi ECC utilizzate con Nitrokey Start. Questa è già inclusa nel ramo master del repository di sviluppo di Poldi e quindi prima o poi verrà rilasciata in una versione più recente. Nel frattempo l’unica possibilità è quella di compilare Poldi dai sorgenti.