Σύνδεση σε επιφάνεια εργασίας και πιστοποίηση χρηστών Linux#
Εισαγωγή#
Αυτός ο οδηγός θα σας καθοδηγήσει στη διαμόρφωση του Linux για τη χρήση του FIDO Universal 2nd Factor, δηλαδή του FIDO U2F με libpam-u2f
και Nitrokey FIDO2.
Αν θέλετε να συνδεθείτε στον υπολογιστή σας χρησιμοποιώντας Nitrokey Pro 2, Nitrokey Storage 2 και Nitrokey Start μπορείτε να επισκεφθείτε τις οδηγίες που είναι διαθέσιμες εδώ.
Απαιτήσεις#
Ubuntu 20.04 με Gnome Display Manager.
Διαμόρφωση του Nitrokey FIDO2 σύμφωνα με τις ακόλουθες οδηγίες ` <https://docs.nitrokey.com/fido2/linux>` __.
Οδηγίες#
Μέθοδος GUI#
Στην κάτω αριστερή γωνία κάντε κλικ στο
Show Applications
και πληκτρολογήστε ρυθμίσεις στη γραμμή αναζήτησης ως εξής:Μετακινηθείτε προς τα κάτω στη δεξιά μπάρα για να δείτε
Users
Στην αριστερή γωνία κάντε κλικ στο
Unlock
και θα σας ζητηθεί ο κωδικός πρόσβασηςΕπιλέξτε
Administrator
και πληκτρολογήστε το όνομα χρήστη και τον κωδικό πρόσβασης της επιλογής σαςΜόλις ολοκληρώσετε το βήμα 4 θα πρέπει να έχετε τελειώσει
Μέθοδος CLI#
Δημιουργήστε έναν εφεδρικό χρήστη και δώστε του δικαιώματα root
Μπορείτε να το κάνετε χρησιμοποιώντας αυτές τις εντολές:
$ sudo adduser <backup_user> $ sudo usermod -aG sudo <backup_user>
Σε περίπτωση που προτιμάτε να ρυθμίσετε το U2F για έναν μεμονωμένο χρήστη και έχετε κλειδωθεί από τη σύνοδο χρήστη, θα μπορείτε να συνδεθείτε με το
<backup_user>
και να προχωρήσετε με τη συντήρηση.Προειδοποίηση
Ο παρακάτω οδηγός μπορεί ενδεχομένως να σας αποκλείσει από τον υπολογιστή σας. Θα πρέπει να γνωρίζετε αυτούς τους κινδύνους, καθώς συνιστάται να χρησιμοποιήσετε τις παρακάτω οδηγίες πρώτα σε έναν δευτερεύοντα υπολογιστή ή μετά από ένα πλήρες αντίγραφο ασφαλείας.
Ενδέχεται να χάσετε την πρόσβαση στα δεδομένα σας μετά τη διαμόρφωση των μονάδων PAM.
Ρυθμίστε το
rules
για να αναγνωρίζει το Nitrokey FIDO2Under
/etc/udev/rules.d
download41-nitrokey.rules
$ cd /etc/udev/rules.d/ $ sudo wget https://raw.githubusercontent.com/Nitrokey/libnitrokey/master/data/41-nitrokey.rules
Και επανεκκινήστε την υπηρεσία
udev
.$ sudo systemctl restart udev
Εγκατάσταση
libpam-u2f
Στο Ubuntu 20.04 είναι δυνατό να κατεβάσετε απευθείας
libpam-u2f
από τα επίσημα αποθετήρια$ sudo apt install libpam-u2f
Σημείωση
Κάντε κλικ για περισσότερες επιλογές
Εναλλακτικά, μπορείτε να δημιουργήσετε το
libpam-u2f
από το Git.Για να επαληθεύσετε ότι η βιβλιοθήκη έχει εγκατασταθεί σωστά, εισαγάγετε την ακόλουθη εντολή:
$ file /lib/x86_64-linux-gnu/security/pam_u2f.so
Η έξοδος θα πρέπει να είναι κάτι σαν το ακόλουθο:
/lib/x86_64-linux-gnu/security/pam_u2f.so: \ ELF 64-bit LSB shared object, x86-64, version 1 (SYSV),\ dynamically linked, BuildID[sha1]=1d55e1b11a97be2038c6a139579f6c0d91caedb1, stripped
Προετοιμάστε τον κατάλογο
Δημιουργήστε
.config/Nitrokey/
κάτω από τον κεντρικό σας κατάλογο$ mkdir ~/.config/Nitrokey
Και συνδέστε το Nitrokey FIDO2.
Μόλις τελειώσουμε με την προετοιμασία, μπορούμε να αρχίσουμε να ρυθμίζουμε τον υπολογιστή ώστε να χρησιμοποιεί το Nitrokey FIDO2 για τον έλεγχο ταυτότητας 2ου παράγοντα κατά την είσοδο και
sudo
.Δημιουργία του αρχείου ρυθμίσεων U2F
Για τη δημιουργία του αρχείου ρυθμίσεων θα χρησιμοποιήσουμε το βοηθητικό πρόγραμμα
pamu2fcfg
που συνοδεύει τοlibpam-u2f
. Για λόγους ευκολίας, θα γράψουμε απευθείας την έξοδο του βοηθητικού προγράμματος στο αρχείοu2f_keys
κάτω από το.config/Nitrokey
. Πρώτα συνδέστε το Nitrokey FIDO2 (αν δεν το έχετε ήδη κάνει) και πληκτρολογήστε την ακόλουθη εντολή:$ pamu2fcfg > ~/.config/Nitrokey/u2f_keys
Μόλις εκτελέσετε την παραπάνω εντολή, θα πρέπει να αγγίξετε το πλήκτρο ενώ αυτό αναβοσβήνει. Μόλις το κάνετε, το
pamu2fcfg
θα προσαρτήσει στην έξοδό του τοu2f_keys
με την ακόλουθη μορφή:<username>:Zx...mw,04...0a
Σημειώστε ότι η έξοδος θα είναι πολύ μεγαλύτερη, αλλά τα ευαίσθητα σημεία έχουν αφαιρεθεί εδώ. Για καλύτερη ασφάλεια, και αφού δημιουργηθεί το αρχείο config, θα μετακινήσουμε τον κατάλογο
.config/Nitrokey
κάτω από τον κατάλογοetc/
με αυτή την εντολή:$ sudo mv ~/.config/Nitrokey /etc
Πρακτική συμβουλή
Το αρχείο κάτω από το
.config/Nitrokey
πρέπει να ονομάζεταιu2f_keys
Συνιστάται να δοκιμάσετε πρώτα τις οδηγίες με έναν μόνο χρήστη. Για το σκοπό αυτό η προηγούμενη εντολή λαμβάνει την επιλογή
-u
, για να καθορίσετε έναν χρήστη, όπως στο παρακάτω παράδειγμα:$ pamu2fcfg -u <username> > ~/.config/Nitrokey/u2f_keys
Για τη διαμόρφωση μεμονωμένων χρηστών θα πρέπει να δείξετε τον κατάλογο home στο επόμενο βήμα ή να μην συμπεριλάβετε την επιλογή
authfile
στη διαμόρφωση PAM.
Backup
Αυτό το βήμα είναι προαιρετικό, ωστόσο συνιστάται να έχετε ένα εφεδρικό κλειδί Nitrokey σε περίπτωση απώλειας, κλοπής ή καταστροφής του Nitrokey FIDO.
Για να ρυθμίσετε ένα εφεδρικό κλειδί, επαναλάβετε την παραπάνω διαδικασία και χρησιμοποιήστε
pamu2fcfg -n
. Αυτό θα παραλείψει το πεδίο<username>
, και η έξοδος μπορεί να προσαρτηθεί στη γραμμή με το<username>
ως εξής:<username>:Zx...mw,04...0a:xB...fw,04...3f
Τροποποίηση της Pluggable Authentication Module
PAM
Το τελευταίο βήμα είναι η ρύθμιση των αρχείων της ενότητας PAM στο πλαίσιο
/etc/pam.d/
. Σε αυτόν τον οδηγό θα τροποποιήσουμε το αρχείοcommon-auth
καθώς διαχειρίζεται τις ρυθμίσεις αυθεντικοποίησης που είναι κοινές για όλες τις υπηρεσίες, αλλά είναι δυνατές και άλλες επιλογές. Μπορείτε να τροποποιήσετε το αρχείο με την ακόλουθη εντολή:$ cd /etc/pam.d $ sudo $editor common-auth
Και προσθέστε τις ακόλουθες γραμμές στην αρχή του αρχείου:
#Nitrokey FIDO2 config auth sufficient pam_u2f.so authfile=/etc/Nitrokey/u2f_keys cue prompt nouserok
Πρακτική συμβουλή
Εφόσον χρησιμοποιούμε την Κεντρική αντιστοίχιση ελέγχου ταυτότητας, πρέπει να δηλώσουμε στο
pam_u2f
τη θέση του αρχείου που θα χρησιμοποιηθεί με την επιλογήauthfile
.Εάν ξεχνάτε συχνά να τοποθετήσετε το κλειδί,
prompt
η επιλογή κάνειpam_u2f
εκτύπωσηInsert your U2F device, then press ENTER.
και σας δίνει την ευκαιρία να εισάγετε το κλειδί Nitrokey.Εάν θέλετε να σας ζητηθεί να αγγίξετε το κλειδί Nitrokey,
cue
η επιλογή θα κάνειpam_u2f
την εκτύπωσηPlease touch the device.
μηνύματος.Η επιλογή nouserok θα διασφαλίσει ότι μπορείτε να εξακολουθείτε να συνδέεστε χρησιμοποιώντας το όνομα χρήστη και τον κωδικό πρόσβασης, ίσως θελήσετε να την αφαιρέσετε κάποια στιγμή όταν η ρύθμιση λειτουργήσει και δεν θέλετε κανονικές συνδέσεις με βάση το όνομα χρήστη και τον κωδικό πρόσβασης.
Μόλις τροποποιήσουμε το
common-auth
, μπορούμε να αποθηκεύσουμε και να βγούμε από το αρχείο.Μπορείτε να δοκιμάσετε τη διαμόρφωση πληκτρολογώντας
sudo ls
στο τερματικό. Θα πρέπει να σας ζητηθεί το μήνυμαPlease touch the device.
και να έχετε μια παρόμοια έξοδο στο τερματικό:nitrouser@nitrouser:~$ sudo ls [sudo] password for nitrouser: Please touch the device.
Μπορείτε επίσης να δοκιμάσετε τη διαμόρφωσή σας αποσυνδεόμενοι από τη σύνοδο χρήστη και επανερχόμενοι. Μια παρόμοια οθόνη θα εμφανιστεί μόλις αποσυνδέσετε/ανασυνδέσετε το Nitrokey FIDO2 και πληκτρολογήσετε τον κωδικό πρόσβασής σας:
Χρήση#
Μετά την τροποποίηση της μονάδας PAM, θα μπορείτε να δοκιμάσετε τη διαμόρφωσή σας αμέσως, αλλά συνιστάται να επανεκκινήσετε τον υπολογιστή σας και να αποσυνδέσετε/ανασυνδέσετε το Nitrokey FIDO2.
Αφού ελέγξετε σωστά τις οδηγίες αυτού του οδηγού (και δημιουργήσετε ένα αντίγραφο ασφαλείας), συνιστάται η χρήση είτε της σημαίας ελέγχου required
είτε της σημαίας ελέγχου requisite
αντί της σημαίας ελέγχου sufficient
.
Οι σημαίες required
και requisite
παρέχουν αυστηρότερο έλεγχο πρόσβασης και καθιστούν το Nitrokey FIDO2 απαραίτητο για τη σύνδεση ή/και τη χρήση της διαμορφωμένης υπηρεσίας.
Αν χρειάζεστε περισσότερες πληροφορίες σχετικά με τις Σημαίες ελέγχου στη γραμμή διαμόρφωσης PAM
, μπορείτε να δείτε την τελευταία ενότητα αυτού του οδηγού για να κατανοήσετε τη διαφορά και τις συνέπειες της χρήσης καθεμιάς από αυτές.
Ενότητες PAM#
Υπάρχουν διάφορα αρχεία ενοτήτων PAM που μπορούν να τροποποιηθούν ανάλογα με τις ανάγκες σας:
Τροποποιώντας το αρχείο
/etc/pam.d/common-auth
, θα μπορείτε να χρησιμοποιήσετε το Nitrokey FIDO για τον έλεγχο ταυτότητας 2ου παράγοντα για τη γραφική σύνδεση καιsudo
. Σημείωση: Τοcommon-auth
θα πρέπει να τροποποιηθεί με την προσθήκη της πρόσθετης γραμμής διαμόρφωσης στο τέλος του αρχείου.Αν θέλετε να χρησιμοποιήσετε τον έλεγχο ταυτότητας FIDO U2F αποκλειστικά για τη γραφική σύνδεση του Gnome, ίσως προτιμήσετε να τροποποιήσετε το
/etc/pam.d/gdm-password
Εναλλακτικά, μπορείτε απλώς να τροποποιήσετε το αρχείο
/etc/pam.d/sudo
εάν επιθυμείτε να χρησιμοποιήσετε το FIDO U2F όταν χρησιμοποιείτε την εντολήsudo
.
Σημαίες ελέγχου#
Στο βήμα 7 χρησιμοποιήσαμε τη σημαία ελέγχου sufficient
για να καθορίσουμε τη συμπεριφορά της μονάδας PAM όταν το Nitrokey είναι συνδεδεμένο ή όχι. Ωστόσο, είναι δυνατό να αλλάξετε αυτή τη συμπεριφορά χρησιμοποιώντας τις ακόλουθες σημαίες ελέγχου:
required
: Αυτή είναι η πιο κρίσιμη σημαία. Το αποτέλεσμα της ενότητας πρέπει να είναι επιτυχές για να συνεχιστεί ο έλεγχος ταυτότητας. Αυτή η σημαία μπορεί να σας αποκλείσει από τον υπολογιστή σας, εάν δεν έχετε πρόσβαση στο Nitrokey.requisite
: Παρόμοια με τοrequired
, ωστόσο, στην περίπτωση που μια συγκεκριμένη ενότητα επιστρέφει αποτυχία, ο έλεγχος επιστρέφεται απευθείας στην εφαρμογή ή στην ανώτερη στοίβα PAM. Αυτή η σημαία μπορεί επίσης να σας αποκλείσει από τον υπολογιστή σας, εάν δεν έχετε πρόσβαση στο κλειδί Nitrokey.sufficient
: Το αποτέλεσμα της ενότητας αγνοείται εάν αποτύχει. Η σημαίαsufficient
θεωρείται ασφαλής για σκοπούς δοκιμών.optional
: Η επιτυχία ή η αποτυχία αυτής της μονάδας είναι σημαντική μόνο εάν είναι η μόνη μονάδα στη στοίβα που σχετίζεται με αυτό το service+type. Η σημαίαoptional
θεωρείται ασφαλής για χρήση για σκοπούς δοκιμών.
Προειδοποίηση
Εάν έχει οριστεί
required
ήrequisite
, η αποτυχία του ελέγχου ταυτότητας U2F θα προκαλέσει αποτυχία του συνολικού ελέγχου ταυτότητας. Η αποτυχία θα συμβεί όταν το ρυθμισμένο Nitrokey FIDO δεν είναι συνδεδεμένο, χαμένο ή καταστραμμένο.Θα χάσετε την πρόσβαση στον υπολογιστή σας εάν έχετε ρυθμίσει λάθος τη μονάδα PAM και έχετε χρησιμοποιήσει τις σημαίες
required
ήrequisite
.Θα χάσετε επίσης τη δυνατότητα χρήσης του
sudo
εάν ρυθμίσετε την αντιστοίχιση κεντρικού ελέγχου ταυτότητας. και χρησιμοποιήσατε τις σημαίεςrequired
ήrequisite
.