Εγκαθιστάτε υπογεγραμμένο προφίλ VPN σε iPhone; Διαβάστε τα ωφέλιμα φορτία
Ένα υπογεγραμμένο προφίλ αποδεικνύει ποιος το συσκεύασε, όχι τι εγκαθιστά. Ελέγξτε τον φάκελο, κάθε ωφέλιμο φορτίο και κάθε πιστοποιητικό πριν εμπιστευτείτε VPN ή ρίζα CA.
Τα προφίλ φτάνουν στις Ρυθμίσεις με όνομα, υπογράφοντα και κουμπί Εγκατάσταση, και η γραμμή του υπογράφοντα είναι το σημείο που διαβάζουν οι περισσότεροι. Αυτή η γραμμή απαντά σε ένα ερώτημα: ποιος συσκεύασε αυτές τις ρυθμίσεις, σύμφωνα με τους κανόνες επαλήθευσης υπογραφής. Δεν λέει ότι το ωφέλιμο φορτίο VPN δείχνει στην πύλη του εργοδότη σας, ούτε ότι ένα ενσωματωμένο πιστοποιητικό ρίζας ανήκει στο χώρο εμπιστοσύνης TLS σας. Η περιήγηση παρακάτω ανοίγει το πακέτο με τη σειρά που θα το εφαρμόσει η συσκευή.
Ξεκινήστε από τον φάκελο: ποιος υπέγραψε αυτό το προφίλ
Στο iOS το προφίλ εμφανίζεται στις Ρυθμίσεις, Γενικά, VPN και Διαχείριση συσκευής, με τον υπογράφοντα πάνω από το κουμπί Εγκατάσταση. Διαβάστε αυτό το όνομα πριν πατήσετε οτιδήποτε και ρωτήστε αν είναι ο οργανισμός από τον οποίο περιμένατε ρυθμίσεις. Μια έγκυρη υπογραφή από μέρος που δεν γνωρίζετε παραμένει έγκυρη υπογραφή και εξουσιοδοτεί τη δική του διαμόρφωση, όχι τη δική σας. Η ίδια οθόνη σάς λέει επίσης αν το προφίλ είναι υπογεγραμμένο καθόλου.
Αν έχετε το αρχείο σε Mac, εξετάστε το πριν φτάσει στο τηλέφωνο. Το εργαλείο ασφαλείας αποκωδικοποιεί τον φάκελο CMS και εκτυπώνει το plist που θα διαβάσει η συσκευή, δηλαδή το ίδιο περιεχόμενο χωρίς κουμπί Εγκατάσταση στη μέση. Η τεκμηρίωση της Apple για την επιβολή διαμόρφωσης περιγράφει την υπογραφή ως επικύρωση προέλευσης, που είναι ακριβώς το πεδίο που περιγράφεται εδώ.
security cms -D -i corp-vpn.mobileconfig -o corp-vpn.plist
plutil -p corp-vpn.plist
Σταματήστε εδώ αν ο υπογράφων δεν είναι αυτός που περιμένατε, ή αν το αρχείο είναι ανυπόγραφο και έφτασε από κανάλι που δεν μπορεί να εγγυηθεί γι' αυτό. Τίποτα παρακάτω σε αυτή την περιήγηση δεν κάνει έναν αναξιόπιστο φάκελο αξιόπιστο.
Ανοίξτε κάθε ωφέλιμο φορτίο και ονομάστε τι εγκαθιστά
Ένα προφίλ είναι δοχείο, και το ενδιαφέρον μέρος είναι PayloadContent ο πίνακας μέσα του. Κάθε καταχώριση φέρει ένα PayloadType , που λέει τι θα εγκαταστήσει η συσκευή: διαχειριζόμενη διαμόρφωση VPN, ταυτότητα PKCS#12, πιστοποιητικό ρίζας ή εγγραφή διαχείρισης. Εκτυπώστε τους τύπους πριν διαβάσετε οποιαδήποτε ρύθμιση.
plutil -extract PayloadContent xml1 -o - corp-vpn.plist |
grep -E 'PayloadType|PayloadDisplayName'
Ένα ωφέλιμο φορτίο VPN ονομάζει μια σύνδεση: διεύθυνση διακομιστή, μέθοδο ελέγχου ταυτότητας και ενδεχομένως κανόνα ανά εφαρμογή ή κατ' απαίτηση. Ένα ωφέλιμο φορτίο ταυτότητας παρέχει τα διαπιστευτήρια πελάτη που θα παρουσιάσει αυτή η σύνδεση. Ένα ωφέλιμο φορτίο πιστοποιητικού ρίζας προσθέτει άγκυρα εμπιστοσύνης, και ένα ωφέλιμο φορτίο διαχείρισης παραδίδει συνεχή έλεγχο σε διακομιστή. Πρόκειται για τέσσερις διαφορετικές δεσμεύσεις, και η υπογραφή καλύπτει το πακέτο αντί να εγγυάται καθεμία χωριστά. Διαβάστε τα με αυτή τη σειρά, γιατί το VPN είναι άχρηστο χωρίς την ταυτότητα, και η ταυτότητα σημαίνει λίγα χωρίς να ξέρει κανείς ποιος την εξέδωσε.
Η προστασία του αρχείου με κωδικό πρόσβασης είναι πάλι ξεχωριστή ιδιότητα. Ένα κρυπτογραφημένο πακέτο κρύβει το περιεχόμενο από όποιον δεν έχει τον κωδικό· δεν αποφασίζει αν πρέπει να εξουσιοδοτήσετε ό,τι υπάρχει μέσα. Αντιμετωπίστε τον κωδικό ως μηχανισμό παράδοσης, όχι ως έλεγχο.
Ιχνηλατήστε τα πιστοποιητικά στη σύνδεση που τα χρησιμοποιεί
Καταγράψτε τα πιστοποιητικά του πακέτου και αντιστοιχίστε καθένα με μια εργασία. Το πιστοποιητικό πελάτη αναγνωρίζει αυτή τη συσκευή στην πύλη, η CA που το εξέδωσε ανήκει στην αλυσίδα εμπιστοσύνης εκείνης της σύνδεσης, και μια ρίζα που εγκαταστάθηκε για διακομιστή μεσολάβησης ή εσωτερική υπηρεσία δεν είναι αυτόματα άγκυρα για κάθε τοποθεσία HTTPS. Στο iOS μια ρίζα που εγκαθίσταται με το χέρι παραμένει μη έμπιστη για TLS έως ότου την ενεργοποιήσετε στις Ρυθμίσεις, Πληροφορίες, Ρυθμίσεις εμπιστοσύνης πιστοποιητικών, ενώ μια ρίζα που παραδίδεται από διαχείριση είναι έμπιστη χωρίς αυτό το βήμα. Αυτή η διαφορά είναι ακριβώς ο λόγος που ο σκοπός του ωφέλιμου φορτίου έχει σημασία.
openssl pkcs7 -inform DER -in corp-vpn.mobileconfig -print_certs -noout
security find-certificate -a -c "Corp Root" -p | openssl x509 -noout -subject -dates
Ένας πάροχος που μεταφέρει την κίνησή σας δεν είναι, για αυτόν τον λόγο, το τελικό σημείο TLS κάθε τοποθεσίας που επισκέπτεστε. Η υποκλοπή χρειάζεται τη διαδρομή της κίνησης και μια άγκυρα εμπιστοσύνης που δέχεται η εφαρμογή, και ένα προφίλ που φέρει ένα πιστοποιητικό δεν αποδεικνύει κανένα από τα δύο. Ρωτήστε ποια σύνδεση χρησιμοποιεί το πιστοποιητικό και ποιες εφαρμογές θα το δεχτούν, αντί να υποθέτετε ότι η εγκατάσταση του προφίλ αποκρυπτογραφεί τα πάντα.
Μετά την εγκατάσταση: επαληθεύστε και μάθετε τι κάνει η αφαίρεση
Μόλις εγκατασταθεί το προφίλ, επιβεβαιώστε το από τη συσκευή και όχι από το αρχείο που κατεβάσατε. Η οθόνη ρυθμίσεων απαριθμεί το εγκατεστημένο προφίλ, τον υπογράφοντα και τα ωφέλιμα φορτία του, και η οθόνη VPN δείχνει αν η σύνδεση έχει διαμορφωθεί όπως προοριζόταν. Η διαγραφή του αρχείου που κατεβάσατε δεν αφαιρεί τίποτα· η εγκατεστημένη διαμόρφωση είναι ξεχωριστό αντικείμενο.
profiles show -type configuration
scutil --nc list
Αν το προφίλ περιλαμβάνει εγγραφή διαχείρισης, διαβάστε τις συνέπειες της αφαίρεσης πριν το εγκαταστήσετε, όχι μετά. Η αφαίρεση αυτής της εγγραφής παίρνει μαζί τις σχετικές διαμορφώσεις και μπορεί να αφαιρέσει διαχειριζόμενες εφαρμογές, ανάλογα με το πώς εγγράφηκε η συσκευή. Δεν είναι βήμα επισκευής για να δοκιμάσετε όταν ένα πιστοποιητικό φαίνεται λάθος. Ρωτήστε τον διαχειριστή ποιο ωφέλιμο φορτίο έχει το πρόβλημα πριν αφαιρέσετε οτιδήποτε.
Η περιήγηση τελειώνει με τέσσερις ξεχωριστές απαντήσεις: ποιος υπέγραψε το πακέτο, ποια ωφέλιμα φορτία εγκαθιστά, ποια ταυτότητα και εμπιστοσύνη χρησιμοποιεί κάθε σύνδεση και τι θα πάρει μαζί της η αφαίρεση. Κρατήστε τις ξεχωριστές, και ένα υπογεγραμμένο προφίλ γίνεται απόφαση που εξετάστηκε αντί για πράσινο σημάδι.