Έλεγχος ταυτότητας δύο παραγόντων για SSH

Το "Secure Shell" SSH είναι ένα πρωτόκολλο δικτύου για τη δημιουργία ασφαλούς σύνδεσης μεταξύ κεντρικών υπολογιστών, τυπικά μέσω της θύρας 22 (η οποία είναι προτιμότερο να αλλάξει). Οι πελάτες SSH και οι διακομιστές SSH είναι διαθέσιμοι για τα περισσότερα λειτουργικά συστήματα. Σχεδόν οποιοδήποτε άλλο πρωτόκολλο δικτύου λειτουργεί μέσα στο SSH, δηλαδή, μπορείτε να εργαστείτε απομακρυσμένα σε άλλον υπολογιστή, να μεταδώσετε μια ροή ήχου ή βίντεο μέσω ενός κρυπτογραφημένου καναλιού κ.λπ. Εκτός, μέσω διακομιστή μεσολάβησης SOCKS σε έναν απομακρυσμένο κεντρικό υπολογιστή μπορείτε να συνδεθείτε με άλλους κεντρικούς υπολογιστές για λογαριασμό αυτού του απομακρυσμένου κεντρικού υπολογιστή.

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

Πώς να εφαρμόσετε τον έλεγχο ταυτότητας δύο παραγόντων

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

Οι οδηγίες προϋποθέτουν ότι έχετε έναν συγκεκριμένο βασικό κεντρικό υπολογιστή ανοιχτό στο Διαδίκτυο (προμαχώνας). Θέλετε να συνδεθείτε σε αυτόν τον κεντρικό υπολογιστή από φορητούς υπολογιστές ή υπολογιστές μέσω Διαδικτύου και να αποκτήσετε πρόσβαση σε όλες τις άλλες συσκευές που βρίσκονται πίσω από αυτόν. Το 2FA διασφαλίζει ότι ένας εισβολέας δεν μπορεί να κάνει το ίδιο ακόμα κι αν αποκτήσει πρόσβαση στον φορητό υπολογιστή σας, για παράδειγμα εγκαθιστώντας κακόβουλο λογισμικό.

Η πρώτη επιλογή είναι το OTP

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

Σε αυτήν την περίπτωση, από την πλευρά του διακομιστή, οι ακόλουθες γραμμές είναι γραμμένες στη διαμόρφωση Chef:

  • metadata.rb
  • attributes/default.rb (από attributes.rb)
  • files/sshd
  • recipes/default.rb (αντίγραφο από recipe.rb)
  • templates/default/users.oath.erb

Οποιαδήποτε εφαρμογή OTP εγκαθίσταται στην πλευρά του πελάτη: Google Authenticator, Authy, Duo, Lastpass, εγκατεστημένο brew install oath-toolkit ή apt install oathtool openssl, τότε δημιουργείται μια τυχαία συμβολοσειρά base16 (κλειδί). Μετατρέπεται στη μορφή Base32 που χρησιμοποιούν οι επαληθευτές κινητών και εισάγεται απευθείας στην εφαρμογή.

Ως αποτέλεσμα, μπορείτε να συνδεθείτε στο Bastion και να δείτε ότι τώρα απαιτεί όχι μόνο μια φράση πρόσβασης, αλλά και έναν κωδικό OTP για έλεγχο ταυτότητας:

➜ ssh -A bastion
Enter passphrase for key '[snip]': 
One-time password (OATH) for '[user]': 
Welcome to Ubuntu 18.04.1 LTS...

Η δεύτερη επιλογή είναι ο έλεγχος ταυτότητας υλικού

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

Εδώ η διαμόρφωση Chef είναι λίγο πιο περίπλοκη και η διαμόρφωση του πελάτη εξαρτάται από το λειτουργικό σύστημα. Αλλά μετά την ολοκλήρωση όλων των βημάτων, οι πελάτες στο MacOS μπορούν να επιβεβαιώσουν τον έλεγχο ταυτότητας σε SSH χρησιμοποιώντας μια φράση πρόσβασης και τοποθετώντας ένα δάχτυλο στον αισθητήρα (δεύτερος παράγοντας).

Οι κάτοχοι iOS και Android επιβεβαιώνουν τη σύνδεση πατώντας ένα κουμπί στο smartphone σας. Πρόκειται για μια ειδική τεχνολογία της Krypt.co, η οποία είναι ακόμα πιο ασφαλής από το OTP.

Σε Linux/ChromeOS υπάρχει μια επιλογή εργασίας με κουπόνια USB YubiKey. Φυσικά, ένας επιτιθέμενος μπορεί να κλέψει το διακριτικό σας, αλλά εξακολουθεί να μην γνωρίζει τη φράση πρόσβασης.

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο