Inloggen met PAM#

Hoe de login instellen#

U hebt twee opties: pam_p11 of PAM Poldi.

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

PAM 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 u de Application ID van uw Nitrokey achterhalen. Het ziet er uit als of vergelijkbaar met D00600012401020000000000xxxxxxxx.

gpg --card-status | grep Application
  1. Nu moet u een regel toevoegen aan /etc/poldi/localdb/users die de volgende informatie bevat <YourApplicationID> <YourUsername>.

    Dit zou eruit kunnen zien als D00600012401020000000000xxxxxxxx nitrokeyuser. Dump nu de publieke sleutel van de Nitrokey in de lokale db van Poldis:

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

Houd er rekening mee dat u in de regel hierboven uw Application ID moet invullen met die van uw Nitrokey!

Dan moet je PAM configureren. Voeg gewoon auth sufficient pam_poldi.so toe aan de 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` voor terug inloggen vanuit een vergrendeld scherm

  • en andere bestanden in /etc/pam.d

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. Vergeet niet dat voor het opstarten in reddingsmodus vanuit GRUB een root-wachtwoord nodig is, dus houd dat of een live CD die uw bestandssystemen kan lezen bij de hand.

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

Problemen oplossen#

Als u een foutmelding krijgt die lijkt op 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-sleutels. 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-ontwikkelingsrepository en zal dus uiteindelijk in een nieuwere versie worden uitgebracht. In de tussentijd is de enige optie om Poldi vanaf de broncode te bouwen.