2FA mit PAM und NFC-Reader unter Ubuntu

Sat Dec 15 2018 18:40:32 GMT+0100 (Mitteleuropäische Normalzeit), Administrator

Manchmal bedarf es schon ausgetrickster Wege um eine an Sich kleine Umgestaltung vernünftig umzusetzen, ich habe hier u.a. zwischenzeitlich meinen Network Manager geschrottet, um ein am Ende doch ziemlich angenehmes Ergebnis zu kriegen.

Ziel: des ganzen ist es, mit einfachen Auflegen eines NFC-Chips auf einen NFC-Reader der am Rechner angeschlossen ist, selbigen zu entsperren. Klingt doch erstmal ganz einfach.

Es gibt Situationen in dem man am liebsten sein Passwort nicht preisgeben möchte und hierfür wäre das der ideale Weg. Zum Beispiel, wenn ein Freund an deinen Rechner will, und du nicht aufstehen möchtest.

Nachteil: Naja, man sollte eigentlich etwas was über nen USB-Anschluss geht immer misstrauen.

Vorraussetzungen: Ein Rechner mit Ubuntu 18.04, Internetanschluss, einen NFC-Reader zum Bleistift einen ACR122U (gibt es ab 23€ bei Ebay), wie ich ihn verwendet habe und einen NFC-Tag zum entsperren.

1. Treibersoftware installieren.

Total nervig und doof muss aber sein.

sudo apt-get install libusb-dev  libusb++-0.1-4c2 libccid pcscd libpcsclite1 libpcsclite-dev
EXKURS

libpcsclite1 niemals, aus Frust, weil irgendwas nicht klappt, entfernen. So habe ich mir nämlich meinen NetworkManager zerschossen. War ein Heidenspaß eine halbwegs aktuelle Ubuntu Version zu finden von der ich dann booten musste und dann entschlüsseln und dann chroot en um da irgendwie wieder Internet drauf zu kriegen, weil es zu dem Zeitpunkt mein einziger Rechner war. Tja, was lernen wir daraus: AUCH LANGE TEXTE GENAU LESEN. IMMER EINE AKTUELLE UBUNTU DVD GEBRANNT HABEN. NACHDENKEN UNTERM SUPERUSER

/EXKURS

Jetzt Treibersoftware für der Gerät installieren

sudo apt-get install pcscd pcsc-tools

Gucken wir mal obs klappt...

pcsc_scan

Passiert was wenn ihr den NFC-Tag auflegt?

WENN NEIN
sudo nano /etc/modprobe.d/rfid-blacklist.conf

und dort folgendes einwürgen....

blacklist pn533
blacklist pn533_usb
blacklist nfc

danach

Gut was fehlt? Vielleicht das??

sudo modprobe -r pn533 pn533_usb nfc

Sollte der Befehl nicht klappen versucht mal nen Neustart. In jedem Fall aber...

sudo service pcsc restart

sollte jetzt klappen, hoffentlich.
Siehe ansonsten hier

/WENN NEIN

2. PAM NFC herunterladen und installieren...

Einfach herunterladen.

git clone https://github.com/nfc-tools/pam_nfc.git
cd pam_nfc

Was machen wir jetzt mit dem ausgecheckten Repository.... kompilieren und installieren?

autoreconf -vis
./configure --prefix=/usr --sysconfdir=/etc --with-pam-dir=/lib/security
make
sudo make install

Gut Gut..

3. Setup, so ähnlich wie hier...

Wir legen zuerst als superuser eine Datei unter /usr/share/pam-configs/nfc an. Folgender Inhalt:

Name: NFC
Default: yes
Priority: 257
Auth-Type: Primary
Auth:
    sufficient    pam_nfc.so
Auth-Initial:
    sufficient    pam_nfc.so

Wenn wir das Modul also aktivieren, ist es ausreichend einen NFC-Chip aufzulegen, wie cool. Muss halt nur der richtige sein.

3a. Benutzer einrichten

Ihr legt jetzt bitte einen NFC-Tag auf euer Lesegerät und führt folgendes aus:

pam-nfc-add <user>

Wobei <user> euer Benutzername ist.

3b. PAM Konfigurationen updaten und Feinschliff.

sudo pam-auth-update

NFC auswählen und updaten, wenn ihr damit euch nichts zerschießt.

4. Testen

Sperrt doch mal euren Rechner, legt den richtigen NFC-Tag auf und schiebt den Bildschirm nach oben und wartet etwas. Normalerweise entsperrt der Rechner automatisch, ob jetzt der Reader rot, grün oder gar nicht blinkt.
Wenn es nicht klappt, versucht doch mal in einige (am besten die richtigen) der Dateien unter /usr/share/pam/*

account sufficient            pam_nfc.so    

einzutragen.

Sollte es nicht klappen, scheut euch nicht eine E-Mail zu hinterlassen.
Ansonsten viel Spaß.

Weitere Quellen

Ubuntuusers


Tags

Follow us

Latest blogs
Aus E-Books, Books basteln (2)
Sat Aug 03 2019 22:08:21 GMT+0200 (Mitteleuropäische Sommerzeit)
Aus E-Books, Books basteln (1)
Sat Aug 03 2019 05:25:04 GMT+0200 (Mitteleuropäische Sommerzeit)
2FA mit PAM und Google Authenticator unter Ubuntu
Mon Dec 31 2018 00:31:29 GMT+0100 (Mitteleuropäische Normalzeit)
Create a MeteorJS (NodeJS) service
Sat Dec 29 2018 06:31:25 GMT+0100 (Mitteleuropäische Normalzeit)
How I hacked my Pavlok to hack myself
Wed Dec 26 2018 00:39:41 GMT+0100 (Mitteleuropäische Normalzeit)