Πώς να συνδεθείτε στην επιφάνεια εργασίας του Linux με το Google Authenticator
Για πρόσθετη ασφάλεια, μπορείτε να ζητήσετε ένα διακριτικό ελέγχου ταυτότητας με βάση το χρόνο καθώς και έναν κωδικό πρόσβασης για να συνδεθείτε στον υπολογιστή σας Linux. Αυτή η λύση χρησιμοποιεί το Google Authenticator και άλλες εφαρμογές TOTP.
Αυτή η διαδικασία εκτελέστηκε στο Ubuntu 14.04 με τον τυπικό διαχειριστή σύνδεσης Unity desktop και LightDM, αλλά οι αρχές είναι οι ίδιες στις περισσότερες διανομές Linux και στους επιτραπέζιους υπολογιστές.
Σας δείξαμε προηγουμένως πώς να απαιτήσετε τον Google Authenticator για απομακρυσμένη πρόσβαση μέσω SSH και αυτή η διαδικασία είναι παρόμοια. Αυτό δεν απαιτεί την εφαρμογή "Επαληθευτής Google", αλλά συνεργάζεται με οποιαδήποτε συμβατή εφαρμογή που εφαρμόζει το σχήμα ελέγχου ταυτότητας TOTP, συμπεριλαμβανομένου του Authy.
Εγκαταστήστε το PAM του Google Authenticator
Όπως και κατά τη ρύθμιση αυτού για πρόσβαση SSH, θα πρέπει πρώτα να εγκαταστήσετε το κατάλληλο λογισμικό PAM ("pluggable-authentication module"). Το PAM είναι ένα σύστημα που μας επιτρέπει να συνδέουμε διαφορετικούς τύπους μεθόδων ελέγχου ταυτότητας σε ένα σύστημα Linux και να τους απαιτούμε.
Στο Ubuntu, η ακόλουθη εντολή θα εγκαταστήσει το PAM Google Authenticator. Ανοίξτε ένα παράθυρο τερματικού, πληκτρολογήστε την ακόλουθη εντολή, πατήστε Enter και δώστε τον κωδικό πρόσβασής σας. Το σύστημα θα κατεβάσει το PAM από τα αποθετήρια λογισμικού της διανομής του Linux και θα το εγκαταστήσει:
sudo apt-get να εγκαταστήσετε το libpam-google-authenticator
Άλλες διανομές Linux θα πρέπει να έχουν το πακέτο αυτό διαθέσιμο για εύκολη εγκατάσταση - ανοίξτε τα αποθετήρια λογισμικού της διανομής του Linux και εκτελέστε μια αναζήτηση για αυτό. Σε μια χειρότερη περίπτωση, μπορείτε να βρείτε τον πηγαίο κώδικα για τη μονάδα PAM στο GitHub και να τον συντάξετε μόνοι σας.
Όπως επισημάναμε προηγουμένως, αυτή η λύση δεν εξαρτάται από την "τηλεφωνική επικοινωνία" με τους διακομιστές της Google. Εφαρμόζει τον τυπικό αλγόριθμο TOTP και μπορεί να χρησιμοποιηθεί ακόμα και όταν ο υπολογιστής σας δεν διαθέτει πρόσβαση στο Internet.
Δημιουργήστε τα κλειδιά ελέγχου ταυτότητας
Θα πρέπει τώρα να δημιουργήσετε ένα μυστικό κλειδί ελέγχου ταυτότητας και να το εισαγάγετε στην εφαρμογή Google Authenticator (ή παρόμοια) στο τηλέφωνό σας. Αρχικά, συνδεθείτε ως λογαριασμός χρήστη στο σύστημα Linux. Ανοίξτε ένα παράθυρο τερματικού και εκτελέστε το google-authenticator εντολή. Τύπος y και ακολουθήστε τις υποδείξεις εδώ. Αυτό θα δημιουργήσει ένα ειδικό αρχείο στον κατάλογο του τρέχοντος λογαριασμού χρήστη με τις πληροφορίες του Google Authenticator.
Θα περάσετε επίσης στη διαδικασία λήψης αυτού του κωδικού επαλήθευσης δύο στοιχείων σε μια εφαρμογή Google Authenticator ή παρόμοια εφαρμογή TOTP στο smartphone σας. Το σύστημά σας μπορεί να δημιουργήσει έναν κώδικα QR που μπορείτε να σαρώσετε ή να τον πληκτρολογήσετε με μη αυτόματο τρόπο.
Φροντίστε να σημειώσετε τους κωδικούς ξυστότητας επείγουσας ανάγκης, τους οποίους μπορείτε να χρησιμοποιήσετε για να συνδεθείτε εάν χάσετε το τηλέφωνό σας.
Πραγματοποιήστε αυτήν τη διαδικασία για κάθε λογαριασμό χρήστη που χρησιμοποιεί τον υπολογιστή σας. Για παράδειγμα, εάν είστε ο μόνος χρήστης που χρησιμοποιεί τον υπολογιστή σας, μπορείτε να το κάνετε μόνο μία φορά στον κανονικό λογαριασμό χρήστη. Εάν έχετε κάποιον άλλο που χρησιμοποιεί τον υπολογιστή σας, θα θελήσετε να συνδεθείτε στον δικό του λογαριασμό και να δημιουργήσετε έναν κατάλληλο κωδικό δύο στοιχείων για τον δικό του λογαριασμό, ώστε να μπορούν να συνδεθούν.
Ενεργοποίηση ελέγχου ταυτότητας
Εδώ είναι όπου τα πράγματα παίρνουν λίγο dicy. Όταν εξηγήσαμε πώς μπορούμε να ενεργοποιήσουμε δύο συντελεστές για τις συνδέσεις SSH, το απαιτήσαμε μόνο για τις συνδέσεις SSH. Με αυτόν τον τρόπο διασφαλίσατε ότι θα μπορούσατε να συνδεθείτε τοπικά εάν χάσατε την εφαρμογή ελέγχου ταυτότητας ή εάν κάτι πήγε στραβά.
Από τη στιγμή που θα επιτρέπουμε τον έλεγχο ταυτότητας δύο παραγόντων για τοπικές συνδέσεις, υπάρχουν δυνητικά προβλήματα εδώ. Εάν κάτι πάει στραβά, ίσως να μην είστε σε θέση να συνδεθείτε. Λαμβάνοντας αυτό υπόψη, θα σας καθοδηγήσουμε για να το ενεργοποιήσετε μόνο για γραφικές συνδέσεις. Αυτό σας δίνει μια θυρίδα διαφυγής, αν το χρειάζεστε.
Ενεργοποιήστε τον Επαληθευτή Google για γραφικές συνδέσεις στο Ubuntu
Μπορείτε πάντα να ενεργοποιήσετε έλεγχο ταυτότητας σε δύο βήματα μόνο για γραφικές συνδέσεις, παρακάμπτοντας την απαίτηση όταν συνδέεστε από την προτροπή κειμένου. Αυτό σημαίνει ότι θα μπορούσατε εύκολα να μεταβείτε σε ένα εικονικό τερματικό, να συνδεθείτε εκεί και να επαναφέρετε τις αλλαγές σας έτσι ώστε το Gogole Authenciator να μην απαιτείται εάν αντιμετωπίσετε κάποιο πρόβλημα.
Σίγουρα, αυτό ανοίγει μια τρύπα στο σύστημα ελέγχου ταυτότητας, αλλά ένας εισβολέας με φυσική πρόσβαση στο σύστημά σας μπορεί ήδη να την εκμεταλλευτεί ούτως ή άλλως. Αυτός είναι ο λόγος για τον οποίο ο έλεγχος ταυτότητας δύο παραγόντων είναι ιδιαίτερα αποτελεσματικός για την απομακρυσμένη σύνδεση μέσω SSH.
Δείτε πώς μπορείτε να το κάνετε αυτό για το Ubuntu, το οποίο χρησιμοποιεί το διαχειριστή σύνδεσης LightDM. Ανοίξτε το αρχείο LightDM για επεξεργασία με μια εντολή όπως η παρακάτω:
sudo gedit /etc/pam.d/lightdm
(Να θυμάστε ότι αυτά τα συγκεκριμένα βήματα θα λειτουργήσουν μόνο εάν η διανομή και η επιφάνεια εργασίας του Linux χρησιμοποιούν τον διαχειριστή σύνδεσης LightDM.)
Προσθέστε την ακόλουθη γραμμή στο τέλος του αρχείου και, στη συνέχεια, αποθηκεύστε την:
auth απαιτείται pam_google_authenticator.so nullok
Το bit "nullok" στο τέλος εξηγεί στο σύστημα ότι επιτρέπει στον χρήστη να συνδεθεί ακόμα και αν δεν έχει εκτελέσει την εντολή google-authenticator για να ρυθμίσει τον έλεγχο ταυτότητας δύο παραγόντων. Αν το έχουν εγκαταστήσει, θα πρέπει να εισάγουν έναν κωδικό χρόνου-baesd - διαφορετικά δεν θα το κάνουν. Καταργήστε το "nullok" και οι λογαριασμοί χρηστών που δεν έχουν δημιουργήσει κώδικα Google Authenticator απλά δεν θα μπορούν να συνδεθούν γραφικά.
Την επόμενη φορά που ένας χρήστης θα συνδεθεί γραφικά, θα του ζητηθεί ο κωδικός πρόσβασής του και στη συνέχεια θα σας ζητηθεί ο τρέχων κωδικός επαλήθευσης που εμφανίζεται στο τηλέφωνό του. Εάν δεν εισαγάγουν τον κωδικό επαλήθευσης, δεν θα τους επιτραπεί η σύνδεση.
Η διαδικασία θα πρέπει να είναι αρκετά παρόμοια για άλλες διανομές Linux και επιτραπέζιους υπολογιστές, καθώς οι περισσότεροι συνηθισμένοι διαχειριστές περιόδου λειτουργίας Linux χρησιμοποιούν PAM. Θα χρειαστεί να επεξεργαστείτε ένα διαφορετικό αρχείο με κάτι παρόμοιο που θα ενεργοποιήσει την κατάλληλη μονάδα PAM.
Εάν χρησιμοποιείτε την αρχική κρυπτογράφηση καταλόγου
Οι παλιότερες κυκλοφορίες του Ubuntu πρόσφεραν μια εύκολη επιλογή κρυπτογράφησης "αρχικού φακέλου" που κρυπτογράφησε ολόκληρο τον αρχικό σας κατάλογο μέχρι να εισαγάγετε τον κωδικό πρόσβασής σας. Συγκεκριμένα, αυτό χρησιμοποιεί ecryptfs. Ωστόσο, επειδή το λογισμικό PAM εξαρτάται από το αρχείο του Google Authenticator που είναι αποθηκευμένο στον οικείο κατάλογό σας από προεπιλογή, η κρυπτογράφηση παρεμβαίνει στην ανάγνωση του αρχείου PAM, εκτός εάν βεβαιωθείτε ότι είναι διαθέσιμο σε μη κρυπτογραφημένη μορφή στο σύστημα πριν συνδεθείτε. Συμβουλευτείτε το README για περισσότερα πληροφορίες σχετικά με την αποφυγή αυτού του προβλήματος, αν εξακολουθείτε να χρησιμοποιείτε τις επιλογές κρυπτογράφησης που έχουν καταργηθεί.
Οι σύγχρονες εκδόσεις του Ubuntu προσφέρουν κρυπτογράφηση πλήρους δίσκου, το οποίο θα λειτουργήσει καλά με τις παραπάνω επιλογές. Δεν χρειάζεται να κάνετε κάτι ιδιαίτερο
Βοήθεια, έσπασε!
Επειδή απλά ενεργοποιήσαμε αυτό για γραφικές συνδέσεις, θα πρέπει να είναι εύκολο να απενεργοποιηθεί αν προκαλεί πρόβλημα. Πατήστε έναν συνδυασμό πλήκτρων όπως το Ctrl + Alt + F2 για να αποκτήσετε πρόσβαση σε ένα εικονικό τερματικό και συνδεθείτε εκεί με το όνομα χρήστη και τον κωδικό πρόσβασής σας. Στη συνέχεια, μπορείτε να χρησιμοποιήσετε μια εντολή όπως sudo nano /etc/pam.d/lightdm για να ανοίξετε το αρχείο για επεξεργασία σε έναν επεξεργαστή κειμένου τερματικού. Χρησιμοποιήστε τον οδηγό μας στο Nano για να καταργήσετε τη γραμμή και να αποθηκεύσετε το αρχείο και θα μπορέσετε να συνδεθείτε ξανά κανονικά.
Θα μπορούσατε επίσης να απαιτήσετε τον Επαληθευτή Google να απαιτείται για άλλους τύπους συνδέσεων - ενδεχομένως ακόμα και για όλες τις συνδέσεις συστήματος - προσθέτοντας τη γραμμή "auth required pam_google_authenticator.so" σε άλλα αρχεία ρυθμίσεων PAM. Προσέξτε αν το κάνετε αυτό. Και να θυμάστε ότι μπορεί να θέλετε να προσθέσετε το "nullok" έτσι ώστε οι χρήστες που δεν έχουν περάσει από τη διαδικασία εγκατάστασης να μπορούν να συνδεθούν.
Περαιτέρω τεκμηρίωση σχετικά με τον τρόπο χρήσης και ρύθμισης αυτής της μονάδας PAM μπορεί να βρεθεί στο αρχείο README του λογισμικού στο GitHub.