31Aug
Για πρόσθετη ασφάλεια, μπορείτε να απαιτήσετε ένα διακριτικό ελέγχου ταυτότητας με βάση το χρόνο καθώς και έναν κωδικό πρόσβασης για να συνδεθείτε στον υπολογιστή σας Linux.Αυτή η λύση χρησιμοποιεί το Google Authenticator και άλλες εφαρμογές TOTP.
Αυτή η διαδικασία εκτελέστηκε στο Ubuntu 14.04 με τον τυπικό διαχειριστή σύνδεσης Unity desktop και LightDM, αλλά οι αρχές είναι οι ίδιες στις περισσότερες διανομές Linux και επιτραπέζιους υπολογιστές.
Σας γνωρίζαμε προηγουμένως πώς να απαιτήσετε τον Google Authenticator για απομακρυσμένη πρόσβαση μέσω SSH και αυτή η διαδικασία είναι παρόμοια.Αυτό δεν απαιτεί την εφαρμογή "Επαληθευτής Google", αλλά συνεργάζεται με οποιαδήποτε συμβατή εφαρμογή που εφαρμόζει το σύστημα ελέγχου ταυτότητας TOTP, συμπεριλαμβανομένης της αυθεντικότητας.
Εγκαταστήστε το PAM του Google Authenticator
Όπως και όταν ρυθμίζετε αυτό το θέμα για πρόσβαση SSH, θα πρέπει πρώτα να εγκαταστήσετε το κατάλληλο λογισμικό PAM( "pluggable-module authentication").Το PAM είναι ένα σύστημα που μας επιτρέπει να συνδέουμε διαφορετικούς τύπους μεθόδων ελέγχου ταυτότητας σε ένα σύστημα Linux και να τους απαιτούμε.
Στο Ubuntu, η ακόλουθη εντολή θα εγκαταστήσει το PAM Google Authenticator.Ανοίξτε ένα παράθυρο τερματικού, πληκτρολογήστε την ακόλουθη εντολή, πατήστε Enter και δώστε τον κωδικό πρόσβασής σας.Το σύστημα θα κατεβάσει το PAM από τα αποθετήρια λογισμικού της διανομής του Linux και θα το εγκαταστήσει:
sudo apt-get install libpam-google-authenticator
Άλλες διανομές Linux θα πρέπει να διαθέσουν το πακέτο αυτό για εύκολη εγκατάσταση -εκτελέστε μια αναζήτηση για αυτό.Σε ένα σενάριο χειρότερης περίπτωσης, μπορείτε να βρείτε τον πηγαίο κώδικα για τη μονάδα PAM στο GitHub και να τον συντάξετε μόνοι σας.
Όπως υποδείξαμε προηγουμένως, αυτή η λύση δεν εξαρτάται από την "τηλεφωνική επικοινωνία" με τους διακομιστές της Google.Εφαρμόζει τον τυπικό αλγόριθμο TOTP και μπορεί να χρησιμοποιηθεί ακόμη και όταν ο υπολογιστής σας δεν διαθέτει πρόσβαση στο Internet.
Δημιουργήστε τα κλειδιά ελέγχου ταυτότητας
Θα χρειαστεί να δημιουργήσετε ένα μυστικό κλειδί ελέγχου ταυτότητας και να το εισαγάγετε στην εφαρμογή Google Authenticator( ή παρόμοια) στο τηλέφωνό σας.Αρχικά, συνδεθείτε ως λογαριασμός χρήστη στο σύστημα Linux.Ανοίξτε ένα παράθυρο τερματικού και εκτελέστε την εντολή google-authenticator .Πληκτρολογήστε y και ακολουθήστε τις υποδείξεις εδώ.Αυτό θα δημιουργήσει ένα ειδικό αρχείο στον κατάλογο του τρέχοντος λογαριασμού χρήστη με τις πληροφορίες του Google Authenticator.
Θα περάσετε επίσης τη διαδικασία λήψης αυτού του κώδικα επαλήθευσης δύο στοιχείων σε μια εφαρμογή Google Authenticator ή παρόμοια εφαρμογή TOTP στο smartphone σας.Το σύστημά σας μπορεί να δημιουργήσει έναν κώδικα QR που μπορείτε να σαρώσετε ή να τον πληκτρολογήσετε με μη αυτόματο τρόπο.
Φροντίστε να σημειώσετε τους κωδικούς έκτακτης ανάγκης που μπορείτε να χρησιμοποιήσετε για να συνδεθείτε εάν χάσετε το τηλέφωνό σας.
Πραγματοποιήστε αυτήν τη διαδικασία για κάθε λογαριασμό χρήστη που χρησιμοποιεί τον υπολογιστή σας.Για παράδειγμα, αν είστε το μόνο άτομο που χρησιμοποιεί τον υπολογιστή σας, μπορείτε να το κάνετε μόνο μία φορά στον κανονικό λογαριασμό χρήστη.Εάν έχετε κάποιον άλλο που χρησιμοποιεί τον υπολογιστή σας, θα θελήσετε να συνδεθείτε στον δικό του λογαριασμό και να δημιουργήσετε έναν κατάλληλο κωδικό δύο παράγοντα για δικό του λογαριασμό, ώστε να μπορούν να συνδεθούν.
Ενεργοποίηση ελέγχου ταυτότητας
Εδώ είναι όπουτα πράγματα παίρνουν λίγο dicy.Όταν εξηγήσαμε πώς μπορούμε να ενεργοποιήσουμε δύο συντελεστές για τις συνδέσεις SSH, το απαιτήσαμε μόνο για τις συνδέσεις SSH.Με αυτόν τον τρόπο διασφαλίσατε ότι θα μπορούσατε να συνδεθείτε τοπικά αν χάσατε την εφαρμογή ελέγχου ταυτότητας ή αν κάτι πήγε στραβά.
Από τη στιγμή που θα επιτρέπουμε τον έλεγχο ταυτότητας δύο παραγόντων για τοπικές συνδέσεις, υπάρχουν δυνητικά προβλήματα εδώ.Εάν κάτι πάει στραβά, ίσως να μην μπορείτε να συνδεθείτε. Λαμβάνοντας αυτό υπόψη, θα σας καθοδηγήσουμε μόνο για τη δημιουργία γραφικών συνδέσεων.Αυτό σας δίνει μια θυρίδα διαφυγής, αν το χρειάζεστε.
Ενεργοποίηση του Google Authenticator για γραφικές συνδέσεις στο 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.