Πώς να ρυθμίσετε τον έλεγχο ταυτότητας δύο παραγόντων για SSH στο Fedora


Καθημερινά φαίνεται να αναφέρονται πολλές παραβιάσεις ασφαλείας όπου τα δεδομένα μας βρίσκονται σε κίνδυνο. Παρά το γεγονός ότι το SSH είναι ένας ασφαλής τρόπος για τη δημιουργία μιας απομακρυσμένης σύνδεσης σε ένα σύστημα Linux, ωστόσο, ένας άγνωστος χρήστης μπορεί να αποκτήσει πρόσβαση στον υπολογιστή σας Linux εάν κλέψει τα κλειδιά SSH σας, ακόμα κι αν απενεργοποιήσετε τους κωδικούς πρόσβασης ή επιτρέψετε μόνο συνδέσεις SSH δημόσια και ιδιωτικά κλειδιά.

Σε αυτό το άρθρο, θα εξηγήσουμε πώς να ρυθμίσετε τον έλεγχο ταυτότητας δύο παραγόντων (2FA) για SSH σε διανομή Fedora Linux χρησιμοποιώντας τον Google Authenticator για πρόσβαση ένα απομακρυσμένο σύστημα Linux με πιο ασφαλή τρόπο παρέχοντας έναν αριθμό TOTP (Ο κωδικός πρόσβασης μίας χρήσης που βασίζεται στον χρόνο) που δημιουργείται τυχαία από μια εφαρμογή ελέγχου ταυτότητας σε μια κινητή συσκευή.

Σημειώστε ότι, μπορείτε να χρησιμοποιήσετε οποιαδήποτε εφαρμογή αμφίδρομου ελέγχου ταυτότητας για την κινητή συσκευή σας που είναι συμβατή με τον αλγόριθμο TOTP. Υπάρχουν πολλές δωρεάν εφαρμογές διαθέσιμες για Android ή IOS που υποστηρίζουν TOTP και Google Authenticator, αλλά αυτό το άρθρο χρησιμοποιεί τον Google Authenticator ως παράδειγμα.

Εγκατάσταση του Google Authenticator στο Fedora

Αρχικά, εγκαταστήστε την εφαρμογή Google Authenticator στον διακομιστή σας Fedora χρησιμοποιώντας την ακόλουθη εντολή dnf.

$ sudo dnf install -y google-authenticator

Μόλις εγκατασταθεί ο Google Authenticator, μπορείτε πλέον να εκτελέσετε την εφαρμογή.

$ google-authenticator

Η εφαρμογή σας προτρέπει με μια σειρά από ερωτήσεις. Τα παρακάτω αποσπάσματα σάς δείχνουν πώς να απαντήσετε για μια αρκετά ασφαλή ρύθμιση.

Do you want authentication tokens to be time-based (y/n) y Do you want me to update your "/home/user/.google_authenticator" file (y/n)? y

Η εφαρμογή σάς παρέχει ένα μυστικό κλειδί, κωδικό επαλήθευσης και κωδικούς ανάκτησης. Φυλάξτε αυτά τα κλειδιά σε ασφαλή και ασφαλή τοποθεσία, καθώς αυτά τα κλειδιά είναι ο μόνος τρόπος πρόσβασης στον διακομιστή σας εάν χάσετε την κινητή συσκευή σας.

Ρύθμιση ελέγχου ταυτότητας κινητού τηλεφώνου

Στο κινητό σας τηλέφωνο, μεταβείτε στο κατάστημα εφαρμογών Google Play ή iTunes και αναζητήστε Google Authenticator και εγκαταστήστε την εφαρμογή.

Τώρα ανοίξτε την εφαρμογή Google Authenticator στο κινητό σας τηλέφωνο και σαρώστε τον κωδικό QR που εμφανίζεται στην οθόνη του τερματικού Fedora. Μόλις ολοκληρωθεί η σάρωση του κώδικα QR, θα λάβετε έναν αριθμό που δημιουργείται τυχαία από την εφαρμογή ελέγχου ταυτότητας και θα χρησιμοποιείτε αυτόν τον αριθμό κάθε φορά που συνδέεστε εξ αποστάσεως στον διακομιστή σας Fedora.

Ολοκληρώστε τη διαμόρφωση του Επαληθευτή Google

Η εφαρμογή Google Authenticator θέτει περαιτέρω ερωτήσεις και το παρακάτω παράδειγμα δείχνει πώς να τις απαντήσετε για να ρυθμίσετε την ασφαλή διαμόρφωση.

Τώρα πρέπει να διαμορφώσετε το SSH ώστε να χρησιμοποιεί τον νέο αμφίδρομο έλεγχο ταυτότητας όπως εξηγείται παρακάτω.

Διαμορφώστε το SSH για χρήση του Επαληθευτή Google

Για να διαμορφώσετε το SSH ώστε να χρησιμοποιεί την εφαρμογή authenticator, πρέπει πρώτα να έχετε μια λειτουργική σύνδεση SSH χρησιμοποιώντας δημόσια κλειδιά SSH, καθώς θα απενεργοποιήσουμε τις συνδέσεις με κωδικό πρόσβασης.

Ανοίξτε το αρχείο /etc/pam.d/sshd στον διακομιστή σας.

$ sudo vi /etc/pam.d/sshd

Σχολιάστε τη γραμμή auth substack password-auth στο αρχείο.

#auth       substack     password-auth

Στη συνέχεια, τοποθετήστε την ακόλουθη γραμμή στο τέλος του αρχείου.

auth sufficient pam_google_authenticator.so

Αποθηκεύστε και κλείστε το αρχείο.

Στη συνέχεια, ανοίξτε και επεξεργαστείτε το αρχείο /etc/ssh/sshd_config.

$ sudo vi /etc/ssh/sshd_config

Αναζητήστε τη γραμμή ChallengeResponseAuthentication και αλλάξτε την σε ναι.

ChallengeResponseAuthentication yes

Αναζητήστε τη γραμμή PasswordAuthentication και αλλάξτε την σε no.

PasswordAuthentication no

Στη συνέχεια, τοποθετήστε την ακόλουθη γραμμή στο τέλος του αρχείου.

AuthenticationMethods publickey,password publickey,keyboard-interactive

Αποθηκεύστε και κλείστε το αρχείο και, στη συνέχεια, επανεκκινήστε το SSH.

$ sudo systemctl restart sshd

Δοκιμή ελέγχου ταυτότητας δύο παραγόντων στο Fedora

Τώρα προσπαθήστε να συνδεθείτε στον διακομιστή σας από απόσταση, θα σας ζητήσει να εισαγάγετε έναν κωδικό επαλήθευσης.

$ ssh 

Verification code:

Ο κωδικός επαλήθευσης δημιουργείται τυχαία στο κινητό σας τηλέφωνο από την εφαρμογή ελέγχου ταυτότητας. Δεδομένου ότι ο κώδικας που δημιουργείται αλλάζει κάθε λίγα δευτερόλεπτα, πρέπει να τον εισάγετε γρήγορα πριν δημιουργήσει έναν νέο.

Εάν εισαγάγετε λάθος κωδικό επαλήθευσης, δεν θα μπορείτε να συνδεθείτε στο σύστημα και θα λάβετε το ακόλουθο σφάλμα άρνησης άδειας.

$ ssh 

Verification code:
Verification code:
Verification code:
Permission denied (keyboard-interactive).
συμπέρασμα

Εφαρμόζοντας αυτόν τον εύκολο αμφίδρομο έλεγχο ταυτότητας, έχετε προσθέσει ένα επιπλέον επίπεδο ασφάλειας στο σύστημά σας και επίσης δυσκολεύει έναν άγνωστο χρήστη να αποκτήσει πρόσβαση στον διακομιστή σας.