Logowanie przy użyciu PAM#

(Nitrokey Storage 2 - Linux)

Jak skonfigurować logowanie#

Masz dwie opcje: pam_p11 lub PAM Poldi.

Rozwiązanie z pam_p11 jest trudniejsze do osiągnięcia i jest oparte na certyfikatach S/MIME. Proszę zajrzeć do ` dokumentacji <https://opensc.github.io/pam_pkcs11/doc/pam_pkcs11.html>`__ po więcej informacji.

PAM Poldi 0.4.1 działa bezbłędnie z Nitrokey dla uwierzytelniania PAM z kluczami RSA (zobacz Troubleshooting dla informacji o kluczach ECC). Poza instalacją Poldi (np. sudo apt-get install libpam-poldi na Ubuntu), następujące kroki są potrzebne, aby zacząć działać.

Konieczne jest posiadanie już wygenerowanych kluczy na Nitrokey, ponieważ klucz uwierzytelniający jest używany przez PAM.

  1. Na początku musisz znaleźć ID aplikacji Twojego Nitrokey. Wygląda ono jak lub jest podobne do D00600012401020000000000xxxxxxxx.

gpg --card-status | grep Application
  1. Teraz musisz dodać linię do /etc/poldi/localdb/users, która zawiera następujące informacje <YourApplicationID> <YourUsername>.

    Może to wyglądać jak D00600012401020000000000xxxxxxxx nitrokeyuser. Teraz zrzuć klucz publiczny z Nitrokey do lokalnego db Poldis:

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

Pamiętaj, że w powyższym wierszu musisz wstawić swoje ID Aplikacji wraz z tym, które posiada Twój Nitrokey!

Następnie musisz skonfigurować PAM. Wystarczy dodać auth sufficient pam_poldi.so do plików konfiguracyjnych PAM w zależności od potrzeb:

  • /etc/pam.d/common-auth dla graficznego logowania użytkowników

  • /etc/pam.d/login dla logowania do konsoli

  • /etc/pam.d/sudo dla uwierzytelnienia sudo

  • /etc/pam.d/gnome-screensaver do ponownego zalogowania się z zablokowanego ekranu

  • i inne pliki w /etc/pam.d

Informacja

PAM jest niebezpieczny do zabawy, więc upewnij się, że masz sposób na uzyskanie dostępu do maszyny, jeśli całkowicie złamiesz uwierzytelnianie. Pamiętaj, że uruchomienie trybu ratunkowego z GRUB-a wymaga hasła roota, więc trzymaj go lub płytę live CD, która może odczytać system plików.

Tutaj znajdziesz ` dalsze instrukcje <https://wiki.ubuntuusers.de/Archiv/Authentifizierung_OpenPGP_SmartCard>`__ (w języku niemieckim, częściowo nieaktualne).

Rozwiązywanie problemów#

Jeśli otrzymasz błąd podobny do ERR 100663414 Invalid ID <SCD> powinieneś spróbować zamiast tego

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

Pamiętaj, że w powyższym wierszu musisz wpisać swój identyfikator wniosku wraz z identyfikatorem swojego patyczka!

Klucze ECC#

Niestety, Poldi nie ma jeszcze wsparcia dla kluczy ECC. Ale istnieje łatka dla kluczy ECC używanych z Nitrokey Start. Jest to już zawarte w głównej gałęzi repozytorium rozwojowego Poldi, a zatem zostanie wydane w nowszej wersji ostatecznie. W międzyczasie jedyną opcją jest zbudowanie Poldi ze źródła.