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

Το Raspberry Pi είναι πλέον παντού, γι’ αυτό και έχει τραβήξει τα βλέμματα των απειλών και των εγκληματιών του κυβερνοχώρου. Θα σας δείξουμε πώς να ασφαλίσετε το Pi σας με έλεγχο ταυτότητας δύο παραγόντων.

Το καταπληκτικό Raspberry Pi

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

Παρέχει έξοδο HDMI, θύρες USB, συνδεσιμότητα δικτύου και τρέχει Linux. Οι μεταγενέστερες προσθήκες στη σειρά περιελάμβαναν ακόμη μικρότερες εκδόσεις που είχαν σχεδιαστεί για να ενσωματώνονται σε προϊόντα ή να λειτουργούν ως συστήματα χωρίς κεφαλή. Οι τιμές κυμαίνονται από 5 $ για το μινιμαλιστικό Pi Zero, στα 75 $ για το Pi 4 B/8 GB.

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

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

Ακόμα κι αν δεν έχετε πολύτιμα δεδομένα ή λογισμικό στο Pi σας, πρέπει να το προστατεύσετε επειδή το Pi σας δεν είναι ο πραγματικός στόχος — είναι απλώς ένας τρόπος για να μπείτε στο δίκτυό σας. Μόλις ένας ηθοποιός απειλής αποκτήσει βάση σε ένα δίκτυο, θα στραφεί στις άλλες συσκευές για τις οποίες πραγματικά ενδιαφέρεται.

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

Ο έλεγχος ταυτότητας—ή η απόκτηση πρόσβασης σε ένα σύστημα—απαιτεί έναν ή περισσότερους παράγοντες. Οι παράγοντες κατηγοριοποιούνται ως εξής:

Κάτι που γνωρίζετε: Όπως ένας κωδικός πρόσβασης ή μια φράση.
Κάτι που έχετε: Όπως ένα κινητό τηλέφωνο, φυσικό διακριτικό ή dongle.
Κάτι που είσαι: Μια βιομετρική ένδειξη, όπως ένα δακτυλικό αποτύπωμα ή σάρωση αμφιβληστροειδούς.

Ο έλεγχος ταυτότητας πολλαπλών παραγόντων (MFA) απαιτεί κωδικό πρόσβασης και ένα ή περισσότερα στοιχεία από τις άλλες κατηγορίες. Για το παράδειγμά μας, θα χρησιμοποιήσουμε κωδικό πρόσβασης και κινητό τηλέφωνο. Το κινητό τηλέφωνο θα εκτελεί μια εφαρμογή ελέγχου ταυτότητας Google και το Pi θα εκτελεί μια ενότητα ελέγχου ταυτότητας Google.

Μια εφαρμογή κινητού τηλεφώνου συνδέεται με το Pi σας σαρώνοντας έναν κωδικό QR. Αυτό μεταβιβάζει ορισμένες βασικές πληροφορίες στο κινητό σας τηλέφωνο από το Pi, διασφαλίζοντας ότι οι αλγόριθμοι παραγωγής αριθμών παράγουν τους ίδιους κωδικούς ταυτόχρονα. Οι κωδικοί αναφέρονται ως κωδικούς πρόσβασης που βασίζονται σε χρόνο, μιας χρήσης (TOTP).

  5 καλύτερες εναλλακτικές λύσεις Spiceworks για ακόμα καλύτερη παρακολούθηση

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

Διαμόρφωση του Pi

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

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

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

Η απόλυτη κύρωση, φυσικά, είναι να ανανεώσετε το λειτουργικό σύστημα στην κάρτα micro SD του Pi, αλλά ας προσπαθήσουμε να το αποφύγουμε.

Πρώτα, πρέπει να κάνουμε τις δύο συνδέσεις μας με το Pi. Και οι δύο εντολές έχουν την ακόλουθη μορφή:

ssh [email protected]

Το όνομα αυτού του Pi είναι “watchdog”, αλλά θα πληκτρολογήσετε το όνομα δικό σας. Εάν έχετε αλλάξει το προεπιλεγμένο όνομα χρήστη, χρησιμοποιήστε το επίσης. το δικό μας είναι “pi”.

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

Αφού συνδεθείτε, θα δείτε το μήνυμα χαιρετισμού. Η προτροπή θα εμφανίσει το όνομα χρήστη (σε αυτήν την περίπτωση, “pi”) και το όνομα του Pi (σε αυτήν την περίπτωση, “watchdog”).

Πρέπει να επεξεργαστείτε το αρχείο “sshd_config”. Θα το κάνουμε στο nano πρόγραμμα επεξεργασίας κειμένου:

sudo nano /etc/ssh/sshd_config

Κάντε κύλιση στο αρχείο μέχρι να δείτε την ακόλουθη γραμμή:

ChallengeResponseAuthentication no

Αντικαταστήστε το «όχι» με «ναι».

  Πώς να προσθέσετε ή να αφαιρέσετε σειρές και στήλες στα Φύλλα Google

Πατήστε Ctrl+O για να αποθηκεύσετε τις αλλαγές σας στο nano και, στη συνέχεια, πατήστε Ctrl+X για να κλείσετε το αρχείο. Χρησιμοποιήστε την ακόλουθη εντολή για επανεκκίνηση του δαίμονα SSH:

sudo systemctl restart ssh

Πρέπει να εγκαταστήσετε το Google authenticator, το οποίο είναι α Συνδεόμενη μονάδα ελέγχου ταυτότητας (PAM) βιβλιοθήκη. Η εφαρμογή (SSH) θα καλέσει τη διεπαφή PAM του Linux και η διεπαφή βρίσκει την κατάλληλη μονάδα PAM για να εξυπηρετήσει τον τύπο ελέγχου ταυτότητας που ζητείται.

Πληκτρολογήστε τα εξής:

sudo apt-get install libpam-google-authenticator

Εγκατάσταση της εφαρμογής

Η εφαρμογή Google Authenticator είναι διαθέσιμη για iPhone και Android, οπότε απλά εγκαταστήστε την κατάλληλη έκδοση για το κινητό σας. Μπορείτε επίσης να χρησιμοποιήσετε το Authy και άλλες εφαρμογές που υποστηρίζουν αυτόν τον τύπο κωδικού ελέγχου ταυτότητας.

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

Στον λογαριασμό που θα χρησιμοποιείτε όταν συνδέεστε στο Pi μέσω SSH, εκτελέστε την ακόλουθη εντολή (μην συμπεριλάβετε το πρόθεμα sudo):

google-authenticator

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

ΕΝΑ Γρήγορη απάντηση Ο κώδικας (QR) δημιουργείται, αλλά είναι κωδικοποιημένος επειδή είναι ευρύτερος από το παράθυρο τερματικού των 80 στηλών. Σύρετε το παράθυρο ευρύτερα για να δείτε τον κωδικό.

Θα δείτε επίσης ορισμένους κωδικούς ασφαλείας κάτω από τον κωδικό QR. Αυτά είναι γραμμένα σε ένα αρχείο που ονομάζεται “.google_authenticator”, αλλά ίσως θελήσετε να δημιουργήσετε ένα αντίγραφό τους τώρα. Εάν χάσετε ποτέ τη δυνατότητα να αποκτήσετε ένα TOTP (εάν χάσετε το κινητό σας τηλέφωνο, για παράδειγμα), μπορείτε να χρησιμοποιήσετε αυτούς τους κωδικούς για έλεγχο ταυτότητας.

Πρέπει να απαντήσετε σε τέσσερις ερωτήσεις, η πρώτη από τις οποίες είναι:

Do you want me to update your "/home/pi/.google_authenticator" file? (y/n)

Πατήστε Y και μετά πατήστε Enter.

Θέλετε να ενημερώσω το δικό σας

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

Πατήστε Y και μετά πατήστε Enter.

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

Πατήστε N ως απάντηση σε αυτό και, στη συνέχεια, πατήστε Enter.

Η τελευταία ερώτηση είναι: “Θέλετε να ενεργοποιήσετε τον περιορισμό τιμών;”

Πληκτρολογήστε Y και, στη συνέχεια, πατήστε Enter.

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

Στο κινητό σας τηλέφωνο, ανοίξτε την εφαρμογή ελέγχου ταυτότητας και, στη συνέχεια, πατήστε το σύμβολο συν (+) κάτω δεξιά στην οθόνη. Επιλέξτε «Σάρωση κωδικού QR» και, στη συνέχεια, σαρώστε τον κωδικό QR στο παράθυρο του τερματικού.

  Τα καλύτερα πρόσθετα φύλλων Google

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

Ένας κινούμενος κύκλος δίπλα στον κωδικό υποδεικνύει πόσο περισσότερο θα ισχύει ο κωδικός: ένας πλήρης κύκλος σημαίνει 30 δευτερόλεπτα, ένας μισός κύκλος σημαίνει 15 δευτερόλεπτα κ.λπ.

Συνδέοντας τα όλα μαζί

Έχουμε ένα ακόμη αρχείο για επεξεργασία. Πρέπει να πούμε στο SSH ποια μονάδα ελέγχου ταυτότητας PAM θα ​​χρησιμοποιήσει:

sudo nano /etc/pam.d/sshd

Πληκτρολογήστε τις ακόλουθες γραμμές κοντά στην κορυφή του αρχείου:

#2FA

auth required pam_google_authenticator.so

Μπορείτε επίσης να επιλέξετε πότε θέλετε να σας ζητηθεί το TOTP:

Αφού εισαγάγετε τον κωδικό πρόσβασής σας: Πληκτρολογήστε τις προηγούμενες γραμμές παρακάτω “@include common-auth”, όπως φαίνεται στην παραπάνω εικόνα.
Προτού σας ζητηθεί ο κωδικός πρόσβασής σας: Πληκτρολογήστε τις προηγούμενες γραμμές πάνω από το “@include common-auth”.

Σημειώστε τις κάτω παύλες (_) που χρησιμοποιούνται στο “pam_google_authenticator.so”, αντί για τις παύλες (-) που χρησιμοποιήσαμε νωρίτερα με την εντολή apt-get για την εγκατάσταση της λειτουργικής μονάδας.

Πατήστε Ctrl+O για να γράψετε τις αλλαγές στο αρχείο και, στη συνέχεια, πατήστε Ctrl+X για να κλείσετε το πρόγραμμα επεξεργασίας. Πρέπει να επανεκκινήσουμε το SSH μια τελευταία φορά και μετά τελειώσαμε:

sudo systemctl restart ssh

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

Βεβαιωθείτε ότι η εφαρμογή ελέγχου ταυτότητας είναι ανοιχτή και έτοιμη στο κινητό σας και, στη συνέχεια, ανοίξτε μια νέα σύνδεση SSH στο Pi:

ssh [email protected]

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

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

Καλύτερα ασφαλέστερα παρά συγγνώμη

Προσέξατε το “r” στο “safer” παραπάνω;

Πράγματι, τώρα είστε πιο ασφαλείς από ό,τι ήσασταν στο παρελθόν όταν συνδέεστε σε ένα Raspberry Pi, αλλά τίποτα δεν είναι ποτέ 100 τοις εκατό ασφαλές. Υπάρχουν τρόποι για να παρακάμψετε τον έλεγχο ταυτότητας δύο παραγόντων. Αυτά βασίζονται στην κοινωνική μηχανική, στις επιθέσεις man-in-the-middle και man-at-the-endpoint, στην εναλλαγή SIM και σε άλλες προηγμένες τεχνικές που, προφανώς, δεν πρόκειται να περιγράψουμε εδώ.

Λοιπόν, γιατί να ασχοληθείτε με όλα αυτά αν δεν είναι τέλεια; Λοιπόν, για τον ίδιο λόγο που κλειδώνετε την εξώπορτά σας όταν φεύγετε, παρόλο που υπάρχουν άνθρωποι που μπορούν να μαζέψουν κλειδαριές — οι περισσότεροι δεν μπορούν.