Nitrokey FIDO U2F in der Praxis unter open SUSE leap 15.2
In diesem Kapitel befassen wir uns mit der zusätzlichen Absicherung beim Login z.B. bei unserer Nextcloud-Installation mit Hilfe eines Sicherheitstoken im Speziellen mit U2F1). Hierzu verwenden wir den Nitrokey FIDO U2F (Daten-/Infoblatt) welcher hier für einen überschaubaren Betrag von etwas mehr als 20€ erstanden werden kann. In dem folgenden Beitrag gehen wir auf die Besonderheiten bei der Verwendung unter openSUSE Leap 15.2 ein.
Der Nitrokey FIDO U2F Cryptostick vereint in einem kleinen Plastikgehäuse ein vollständig FIDO Universal 2nd Factor (U2F) kompatibles zu 100% Open Source und Open Hardware Device mit einer Sensortaste/Knopf welches zum zusätzlichen Absichern einer unbegrenzte Anzahl von Benutzerkonten verwendet werden kann. Weitere Informationen zum Nitrokey-Stick findet findet man auch hier bzw. im Support Forum.
Hardwareinformationen
Informationen über den Stick können wir mit Hilfe des Befehls usb-devices
aus dem RPM-Paket usbutils dem System abverlangen.
# usb-devices
T: Bus=01 Lev=02 Prnt=23 Port=01 Cnt=02 Dev#= 29 Spd=12 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=20a0 ProdID=4287 Rev=01.00
S: Manufacturer=Nitrokey
S: Product=Nitrokey FIDO U2F
S: SerialNumber=0000000000000000
C: #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA
I: If#= 0 Alt= 0 #EPs= 2 Cls=03(HID ) Sub=00 Prot=00 Driver=usbhid
Mit dem Befehl lshw
können wir uns ebenso anzeigen lassen, ob der Stick angesteckt und erkannt wird. Da der USB-Stick unter die Klasse input
fällt suchen wir gezielt nach diesen Geräte-Typus.
# lshw -short -C input
H/W path Device Class Description ================================================================ /0/100/14/0/3/1 input Das Keyboard P13 /0/100/14/0/3/2 input Nitrokey FIDO U2F /0/100/14/0/3/3/4 input USB Optical Mouse
Mit Hilfe des Befehls lsusb
aus dem RPM-Paket usbutils können wir auch die Produkt- und Hersteller-Identifikationsnummer des Nitrokey-Sticks ermitteln.
# lsusb Bus 001 Device 029: ID 20a0:4287 Clay Logic
Im Syslog wird uns beim Anstecken des Sticks dies entsprechend protokolliert:
2020-08-03T21:57:13.634871+02:00 localhost kernel: [45777.699345] usb 1-3.2: new full-speed USB device number 30 using xhci_hcd
2020-08-03T21:57:13.842754+02:00 localhost kernel: [45777.907278] usb 1-3.2: New USB device found, idVendor=20a0, idProduct=4287, bcdDevice= 1.00
2020-08-03T21:57:13.842805+02:00 localhost kernel: [45777.907288] usb 1-3.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
2020-08-03T21:57:13.842813+02:00 localhost kernel: [45777.907294] usb 1-3.2: Product: Nitrokey FIDO U2F
2020-08-03T21:57:13.842817+02:00 localhost kernel: [45777.907298] usb 1-3.2: Manufacturer: Nitrokey
2020-08-03T21:57:13.842820+02:00 localhost kernel: [45777.907303] usb 1-3.2: SerialNumber: 0000000000000000
2020-08-03T21:57:13.850999+02:00 localhost kernel: [45777.918858] hid-generic 0003:20A0:4287.0017: hiddev98,hidraw4: USB HID v1.11 Device [Nitrokey Nitrokey FIDO U2F] on usb-0000:00:14.0-3.2/input0
2020-08-03T21:57:13.862814+02:00 localhost mtp-probe: checking bus 1, device 30: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3.2"
2020-08-03T21:57:13.864647+02:00 localhost mtp-probe: bus: 1, device: 30 was not an MTP device
udev-Regeln
Für den Betrieb unter openSUSE Leap 15.2 müssen wir uns noch passende udev-Definitionen hier besorgen.
Wir wechseln also erst einmal in das entsprechende Konfigurationsverzeichnis /etc/udev/rules.d/
.
# cd /etc/udev/rules.d/
Dann holen wir uns die entsprechende Musterdatei auf unseren Rechner.
# wget https://www.nitrokey.com/sites/default/files/41-nitrokey.rules
Zum Aktivieren unserer neuen udev-Regeldatei lassen wir diese nun erneut einlesen; hierzu verwenden wir folgenden Befehl:
# udevadm control --reload-rules
Browser
Verwenden wir den Browser Google Chrome bzw. Chromium müssen wir nichts besonderes unternehmen, da diese bereits bestens vorbereitet sind. Auch beim Browser Firefox 78.0.2esr (64-bit) bedarf es keiner gesonderten Konfiguration mehr. Im Zweifelsfall kann man sich aber auch vergewissern, ob die Option hier richtig gesetzt ist.
Im Zweifelsfall geben wir also in der Adresszeile about:config
ein und suchen dann nach der Option u2f.
Mit einem Doppelklick würden wir die Option aktivieren indem wir den Parameter auf auf true setzen..
Webserver/Anwendung
Melden wir uns nun an einer Webseite an, werden wir wie gewohnt aufgefordert uns mit unserem Benutzer und dem zugehörigen Passwort anzumelden.
Nach dem Bestätigen der Daten werden wir nun gebeten unseren Nitrokey FIDO U2F-Stick anzustecken bzw. die Touch-Taste darauf zu drücken bzw. genauer gesagt zu berühren.
Nach einer Sekunde werden wir automatisch angemeldet und wir können den Stick wieder vom USB-Port abziehen.