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

Δύο μυστικά, δύο διαφορετικοί κάτοχοι

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

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

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

Τρεις ερωτήσεις που καθορίζουν τον διαχωρισμό

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

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

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

Τι χρειάζεται πραγματικά ένας πελάτης

Ένας πελάτης χρειάζεται το δημόσιο πιστοποιητικό ή το δημόσιο κλειδί ομοτίμου, το υλικό CA ή το αποτύπωμα που πρέπει να εμπιστεύεται, το δικό του ιδιωτικό κλειδί και τις λεπτομέρειες του τελικού σημείου. Αυτή η λίστα δεν περιέχει τίποτα που ανήκει στην ιδιωτική ταυτότητα της πύλης.

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

Ανακαλέστε έναν χρήστη χωρίς να αγγίξετε την πύλη

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

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

Οι παρακάτω εντολές εξετάζουν ένα πιστοποιητικό πελάτη και στη συνέχεια το ανακαλούν μέσω μιας αρχής τύπου OpenSSL, που είναι η ροή που τυλίγει το easy-rsa:

openssl x509 -in client.crt -noout -subject -serial
openssl ca -config openssl.cnf -revoke client.crt
openssl ca -config openssl.cnf -gencrl -out crl.pem

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

Κρατήστε τα αντίγραφα ασφαλείας τόσο χωριστά όσο τα μυστικά

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

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

Σχετικά άρθρα