Μια φράση πρόσβασης κλειδιού SSH προστατεύει το αρχείο, όχι τη διαδρομή
Η φράση πρόσβασης κρυπτογραφεί το αρχείο ιδιωτικού κλειδιού· δεν ανακαλεί την ταυτότητα ούτε ασφαλίζει τη διαδρομή. Ξεχωριστή αποθήκευση, διάρκεια ζωής πράκτορα και χρήση χωρίς επίβλεψη.
Ένας δίσκος αντιγράφου ασφαλείας από παλιό φορητό υπολογιστή περιέχει ακόμη ένα ιδιωτικό κλειδί SSH, και κάποιος ρωτά αν το VPN το προστατεύει. Δεν το προστατεύει, και ποτέ δεν το έκανε. Το VPN προστατεύει μια διαδρομή ανάμεσα σε δύο δίκτυα· η φράση πρόσβασης προστατεύει το αρχείο· ο πράκτορας προστατεύει μια ενεργή συνεδρία. Τρεις διαφορετικοί μηχανισμοί, τρεις διαφορετικοί τρόποι αποτυχίας, και ένα κλεμμένο αντίγραφο ενδιαφέρεται μόνο για τους δύο πρώτους.
Η φράση πρόσβασης ανήκει στο αρχείο
Μια φράση πρόσβασης κλειδιού SSH κρυπτογραφεί το υλικό του ιδιωτικού κλειδιού σε ηρεμία. Δεν είναι ο κωδικός του λογαριασμού που αποστέλλεται στον διακομιστή, και δεν είναι το διαπιστευτήριο που χρησιμοποιείται για να συνδεθείτε στο VPN. Η σύγχυσή τους οδηγεί σε αλλαγές που δεν αντιμετωπίζουν την έκθεση.
Το εγχειρίδιο του ssh-keygen του OpenSSH καλύπτει τον χειρισμό φράσεων πρόσβασης, συμπεριλαμβανομένου του διακόπτη -p που ορίζει νέα φράση πρόσβασης σε κλειδί που υπάρχει ήδη.
Για ένα υπάρχον κλειδί η μορφή της εντολής είναι απλή, και ξαναγράφει το αρχείο:
ssh-keygen -p -f ~/.ssh/id_ed25519
Χρησιμοποιήστε την εγκεκριμένη διαδικασία συντήρησης και αποκατάστασης του κατόχου του κλειδιού, γιατί αυτό είναι εγγραφή, όχι επιθεώρηση. Μην δημοσιεύετε το ιδιωτικό αρχείο και μην βάζετε πραγματική φράση πρόσβασης σε κοινόχρηστη γραμμή εντολών. Μια αλλαγή φράσης πρόσβασης δεν επανακρυπτογραφεί αντίγραφο που ελήφθη νωρίτερα. Καταγράψτε τη θέση του παλιού αντιγράφου στο δελτίο, ώστε ο κάτοχος να αποφασίσει αν θα το καταστρέψει.
Ένα αντίγραφο ζει περισσότερο από τον φορητό και τη σήραγγα
Μόλις αντιγραφεί ένα αρχείο κλειδιού, η ενεργή σύνδεση VPN του φορητού δεν λέει πλέον τίποτα γι’ αυτό. Αυτό που μετρά είναι πόσο καλά προστατεύεται το ίδιο το αρχείο, και ποιοι διακομιστές εξακολουθούν να εμπιστεύονται το αντίστοιχο δημόσιο κλειδί.
Η αλλαγή της φράσης πρόσβασης στο τρέχον αρχείο δεν αγγίζει το αντίγραφο, και δεν αφαιρεί το ίδιο δημόσιο κλειδί από το authorized_keys σε έναν διακομιστή. Η ανάκληση και η επανακρυπτογράφηση είναι ξεχωριστές ενέργειες.
Αντιμετωπίστε λοιπόν ένα ιδιωτικό κλειδί που διέρρευσε ως γεγονός ταυτότητας, όχι ως γεγονός δικτύου. Αφαιρέστε ή αντικαταστήστε το αποδεκτό κλειδί μέσω των διακομιστών και της διαδικασίας εγγραφής που το κατέχουν. Η διακοπή του VPN περιορίζει μία διαδρομή σε μία στιγμή· δεν είναι ανάκληση.
Το ξεκλείδωμα μεταφέρει το μυστικό σε έναν πράκτορα
Ένας πράκτορας κρατά αποκρυπτογραφημένες ταυτότητες για μεταγενέστερη ταυτοποίηση, ώστε ο χρήστης να μην ξαναπληκτρολογεί τη φράση πρόσβασης σε κάθε σύνδεση. Αυτό είναι ένα χαρακτηριστικό ευχρηστίας με δικό του όριο ασφαλείας.
Το ssh-agent μπορεί να περιορίσει πόσο καιρό μια ταυτότητα παραμένει φορτωμένη μέσω της επιλογής -t, και μια ρύθμιση ανά ταυτότητα μπορεί να υπερβεί αυτό το όριο. Επιλέξτε την πολιτική για τον πράκτορα που εκτελείτε πραγματικά, αντί να υποθέτετε ότι μια αποσύνδεση VPN ξεχνά κάθε φορτωμένο κλειδί.
Μια διεργασία που παραβιάζεται αφού ξεκλειδωθεί το κλειδί είναι διαφορετικό πρόβλημα από ένα κλεμμένο κρυπτογραφημένο αρχείο. Η προώθηση του πράκτορα σε άλλον κεντρικό υπολογιστή αναθέτει δυνατότητα ταυτοποίησης χωρίς αντιγραφή του αρχείου κλειδιού, γι’ αυτό ενεργοποιήστε την μόνο για εγκεκριμένη ανάγκη.
Καταγράψτε τι κρατά ο πράκτορας αυτή τη στιγμή πριν και μετά από μια αλλαγή:
ssh-add -l
Οι εργασίες χωρίς επίβλεψη χρειάζονται το δικό τους σχέδιο
Μια προγραμματισμένη εργασία δεν μπορεί να απαντήσει σε προτροπή. Χρειάζεται εγκεκριμένη ρύθμιση διαπιστευτηρίων μηχανής, και το να κρατάτε το μυστικό ξεκλειδώματος στον ίδιο κατάλογο με το κλειδί, αναγνώσιμο από τον ίδιο λογαριασμό, δεν δημιουργεί δεύτερο όριο.
Συνεργαστείτε με τον ιδιοκτήτη της υπηρεσίας για υποστηριζόμενη παράδοση μυστικών ή λειτουργία με υλικό, και καλύψτε ανανέωση, αστοχία και αποκατάσταση. Η επιθυμία για άνθρωπο στο πληκτρολόγιο αλλάζει την εικόνα της αστοχίας σε σύγκριση με έναν κεντρικό υπολογιστή που εκκινεί χωρίς κανέναν να παρακολουθεί.
Διατηρήστε επίσης τον έλεγχο ταυτότητας κεντρικού υπολογιστή στον διακομιστή και τους περιορισμούς λογαριασμού του. Μια διαδρομή VPN σάς δίνει μια ιδιωτική διαδρομή· δεν αποδεικνύει ότι κάθε ακροατής SSH που μπορείτε να φτάσετε είναι ο κεντρικός υπολογιστής που σκοπεύατε. Καταγράψτε τον ακροατή και το αποτύπωμα του κλειδιού του κεντρικού υπολογιστή στο ίδιο ευρετήριο με το ίδιο το κλειδί.
Επαληθεύστε τα όρια χωριστά
Δοκιμάστε κάθε όριο με τη δική του ερώτηση. Ανοίγει το αρχείο χωρίς τη φράση πρόσβασης; Κρατά ο πράκτορας την ταυτότητα μετά από αποσύνδεση; Δέχεται ο διακομιστής ακόμη το δημόσιο κλειδί;
Δύο εντολές απαντούν στο πρώτο και στο τρίτο:
ssh-keygen -y -f ~/.ssh/id_ed25519
ssh -v [email protected]
Καταγράψτε την προστασία του αρχείου, την επιτρεπόμενη χρήση κλειδιού και την αφαίρεση στην πλευρά του διακομιστή ως τρεις ξεχωριστές γραμμές. Μια σήραγγα, μια φράση πρόσβασης και ένας πράκτορας φυλάσσουν καθένα διαφορετικό κομμάτι της σχέσης, και μόνο ένα από αυτά αφορά το δίκτυο.