Πατήστε Export σε έναν πελάτη VPN για Mac και καταλήγετε με ένα αρχείο που περιγράφει μια σύνδεση χωρίς να είναι μία. Η διεύθυνση του διακομιστή, η θύρα, το πρωτόκολλο και συχνά τα πιστοποιητικά βρίσκονται μέσα του. Ο κωδικός σύνδεσης, η φράση πρόσβασης ενός ιδιωτικού κλειδιού και η εγγραφή που εξουσιοδοτεί ακριβώς αυτό το Mac συνήθως δεν βρίσκονται. Γι' αυτό ένα προφίλ μπορεί να εισαχθεί καθαρά, να εμφανιστεί στη λίστα του πελάτη και παρ' όλα αυτά να αποτύχει στο πρώτο αίτημα ελέγχου ταυτότητας· το κενό είναι ιδιότητα της μορφής, όχι χαλασμένη λήψη.

Part of the connectionWhere it lives on the old MacWhat an export does with it
Server, port, protocol, routesClient profile or managed settingsUsually included when the client exports configuration
Client certificate and private keyInside the package, the login keychain, or issued by MDMIncluded only if the format packs it; a keychain-held key stays behind
Login password, key passphraseLogin keychainLeft out by design
Device authorization or enrollmentServer side, bound to the certificate or the device recordNot transferable; the new device has to enroll

Τι περιέχει πραγματικά το εξαγόμενο αρχείο

Μια εξαγωγή είναι ένα δοχείο, και η επέκταση του αρχείου λέει λιγότερα από τα περιεχόμενα. Τα προφίλ OpenVPN είναι κείμενο: οδηγίες, συν προαιρετικά ενσωματωμένα μπλοκ <ca>, <cert> και <key>. Οι ρυθμίσεις Tunnelblick είναι συμπιεσμένα αρχεία ρυθμίσεων και παραμέτρων. Ένα διαχειριζόμενο .mobileconfig είναι ένα plist από ωφέλιμα φορτία. Δύο καταγραφές απαντούν στο μεγαλύτερο μέρος της ερώτησης πριν εισαγάγετε οτιδήποτε.

Για ένα προφίλ κειμένου, μετρήστε τα μπλοκ PEM που μεταφέρει: grep -c "PRIVATE KEY" your-profile.ovpn. Ένα αποτέλεσμα διάφορο του μηδενός σημαίνει ότι το αρχείο περιέχει υλικό κλειδιού και πρέπει να αντιμετωπίζεται ως κωδικός από εκείνο το σημείο. Για ένα αρχείο συμπίεσης, καταγράψτε το χωρίς αποσυμπίεση: tar -tf export.tbz, ή unzip -l export.zip αν ο πελάτης παρήγαγε zip. Τα αρχεία κλειδιών, πιστοποιητικών και τα σενάρια ενεργοποίησης ή απενεργοποίησης σε αυτή την καταγραφή είναι τα μέρη που η επανέκδοση ενός λογαριασμού χρήστη δεν θα αναδημιουργήσει.

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

Γιατί το μισό της κλειδοθήκης δεν ταξιδεύει ποτέ

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

Μπορείτε να επιβεβαιώσετε πού ζει το διαπιστευτήριο πριν σχεδιάσετε τη μετακίνηση. security find-internet-password -s vpn.example.com εκτυπώνει ιδιότητες για ένα ταιριαστό στοιχείο και τερματίζει με μη μηδενικό κωδικό όταν δεν υπάρχει κανένα· η ίδια εντολή με -g θα ζητούσε αποκάλυψη του κωδικού, γι' αυτό το ερώτημα χωρίς αυτήν είναι ο ασφαλέστερος έλεγχος. Ένα εύρημα εκεί σημαίνει ότι το προφίλ δεν μεταφέρει τον κωδικό και δεν μπορεί να εξαναγκαστεί να το κάνει. Σημαίνει επίσης ότι ο κωδικός θα ζητηθεί ξανά στο νέο Mac, και μια άδεια «Να επιτρέπεται πάντα» στο παλιό δεν μετράει εκεί καθόλου.

Δεν είναι όμως κάθε μυστικό στοιχείο της κλειδοθήκης. Η τεκμηρίωση του ίδιου του πακέτου Tunnelblick σημειώνει ότι ένα πακέτο μπορεί να περιέχει αρχεία κλειδιών, πιστοποιητικών και σεναρίων. Άρα το ότι η εξαγωγή αποκλείει στοιχεία της κλειδοθήκης δεν είναι ο ίδιος ισχυρισμός με το ότι η εξαγωγή είναι ασφαλής για αποστολή με email· αντιμετωπίστε το αρχείο ως ευαίσθητο μέχρι να καταγράψετε τι περιέχει.

Τα εγγενή και διαχειριζόμενα VPN δεν έχουν διαδρομή εξαγωγής

Οι συνδέσεις που διαμορφώνονται μέσω Ρυθμίσεων Συστήματος δεν προσφέρουν υποστηριζόμενη εξαγωγή. Το scutil --nc list δείχνει τις υπηρεσίες που γνωρίζει το σύστημα, και το scutil --nc show "Work VPN" εκτυπώνει τη διαμόρφωση μιας υπηρεσίας, αρκετό για να διαβάσετε τον διακομιστή και το πρωτόκολλό της. Κανένα δεν είναι εργαλείο μετεγκατάστασης. Τα αναγνωριστικά υπηρεσιών που αποθηκεύονται στο /Library/Preferences/SystemConfiguration/preferences.plist είναι αναφορές μέσα σε εκείνο το αρχείο, οπότε η αντιγραφή του αρχείου και η επανεγγραφή αναγνωριστικών δεν είναι υποστηριζόμενη μεταφορά και μπορεί να διαταράξει άσχετες υπηρεσίες δικτύου στον προορισμό.

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

Επαληθεύστε την αποκατάσταση αντί να εμπιστεύεστε τη λίστα

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

ifconfig | grep -A3 utun δείχνει τη διεπαφή της σήραγγας και τις διευθύνσεις της. scutil --dns | grep nameserver δείχνει ποιοι επιλυτές είναι ενεργοί μετά τη σύνδεση, και εκεί συνήθως αποκλίνουν τα προφίλ split-DNS. Στη συνέχεια φτάστε στον πόρο που πραγματικά έχει σημασία: curl -sS -o /dev/null -w "%{http_code}" https://intranet.example.com. Αν περάσουν και τα τρία, οι ρυθμίσεις, το DNS και οι διαδρομές έφτασαν· ένα πράσινο εικονίδιο στον πελάτη δεν σημαίνει τίποτα από αυτά από μόνο του.

Δύο αποτυχίες εμφανίζονται συχνά μετά από μια εισαγωγή και και οι δύο χρεώνονται στο αρχείο. Το ότι τα δημόσια ονόματα επιλύονται ενώ τα εσωτερικά όχι συνήθως σημαίνει ότι οι διακομιστές DNS του προφίλ χάθηκαν ή ότι το split-DNS δεν διατηρήθηκε. Μια σήραγγα που ανεβαίνει και δεν περνά κίνηση συνήθως σημαίνει ότι οι διαδρομές ή η εξουσιοδότηση από την πλευρά του διακομιστή δεν ακολούθησαν το προφίλ. Η επανεισαγωγή του ίδιου αρχείου αναπαράγει και τα δύο.

Πριν αποσύρετε το παλιό Mac

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

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

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