Inloggen met PAM#

(Nitrokey Pro 2 - Linux)

Hoe de login instellen#

U hebt twee mogelijkheden: pam_p11 of Poldi.

De oplossing met pam_p11 is moeilijker te bereiken en is gebaseerd op S/MIME certificaten. Kijk eens naar de documentatie voor meer informatie.

Poldi 0.4.1 werkt feilloos met Nitrokey voor PAM authenticatie met RSA sleutels (zie Problemen oplossen voor informatie over ECC sleutels). Naast de installatie van poldi (b.v. sudo apt-get install libpam-poldi op Ubuntu) zijn de volgende stappen nodig om het werkend te krijgen.

Het is noodzakelijk om al sleutels op de Nitrokey gegenereerd te hebben, aangezien de authenticatiesleutel door PAM wordt gebruikt.

  1. Eerst moet je de “Application ID” van je Nitrokey te weten komen. U kunt gpg --card-status | grep Application gebruiken om erachter te komen wat’van u is. Het lijkt op D00600012401020000000000xxxxxxxx of iets dergelijks.

  2. Nu moet je een regel toevoegen aan /etc/poldi/localdb/users die de volgende informatie bevat

    <YourApplicationID> <YourUsername>

    Dit zou er uit kunnen zien als ‘D00600012401020000000000xxxxxxxx nitrokeyuser’. Dump nu de publieke sleutel van de Nitrokey in de lokale db van poldi:

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

Let op dat u in de regel hierboven uw Applicatie ID invult met die van uw stokje!

Dan moet je PAM configureren. Voeg gewoon “auth sufficient pam_poldi.so” toe aan pam configuratiebestanden volgens uw behoeften:

  • /etc/pam.d/common-auth voor grafische gebruikersaanmelding

  • /etc/pam.d/login voor console login

  • /etc/pam.d/sudo voor sudo authenticatie

  • /etc/pam.d/gnome-screensaver om terug in te loggen van een vergrendeld scherm,

  • enz.

Notitie

Pam is gevaarlijk om mee te spelen, dus zorg ervoor dat je een manier hebt om toegang te krijgen tot de machine als je de authenticatie volledig verbreekt. Onthoud dat voor het booten in rescue mode vanuit Grub een root wachtwoord nodig is, dus houd dat of een live CD die je bestandssystemen kan lezen bij de hand.

Hier vindt u verdere instructies (in het Duits, deels verouderd).

Problemen oplossen#

Als u een fout krijgt gelijkaardig aan ‘ERR 100663414 Invalid ID <SCD>’ moet u in plaats daarvan proberen

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

Let op dat u in de regel hierboven uw Applicatie ID invult met die van uw stokje!

ECC Sleutels#

Helaas heeft poldi nog geen ondersteuning voor ECC keys. Maar er is een patch voor ECC sleutels die gebruikt worden met Nitrokey Start. Deze is al opgenomen in de master branch van de poldi development repository en zal dus uiteindelijk in een nieuwere versie worden uitgebracht. In de tussentijd is de enige optie om poldi vanaf broncode te bouwen.