Εγκαταστάτης πύλης VPN: πακέτο, προφίλ ή επανακατασκευή;
Μια λήψη από την πύλη μπορεί να είναι υπογεγραμμένος εγκαταστάτης προμηθευτή, πακέτο μόνο με προφίλ ή εσωτερική επανακατασκευή. Ελέγξτε τον εκδότη, το περιεχόμενο και τον υπεύθυνο ενημερώσεων πριν από την ανάπτυξη.
Το κουμπί λήψης μιας πύλης VPN επιστρέφει ακριβώς ένα αρχείο, και αυτό το αρχείο μπορεί να είναι δύο πολύ διαφορετικά πράγματα: ένας έτοιμος εγκαταστάτης του προμηθευτή με ένα προφίλ ρυθμίσεων να ταξιδεύει δίπλα του, ή μια κατασκευή που συνέθεσε η ίδια η οργάνωση. Η σελίδα φαίνεται ίδια και στις δύο περιπτώσεις, οπότε το κουμπί δεν μπορεί να σας πει ποιο έχετε. Πίσω του στέκονται τρία ερωτήματα — ποιος δημοσίευσε το εκτελέσιμο, ποια ρύθμιση γράφει η εγκατάσταση και ποιος το επισκευάζει όταν φτάσει η επόμενη έκδοση πελάτη. Το πρώτο το απαντάτε από τα μεταδεδομένα του τεχνουργήματος, το δεύτερο από τα περιεχόμενα του πακέτου και το τρίτο μόνο από την ομάδα που κατέχει την ανάπτυξη.
Το λουκέτο του προγράμματος περιήγησης καλύπτει τη μεταφορά, όχι το τεχνούργημα.
Τι επιστρέφει στην πραγματικότητα το τελικό σημείο λήψης
Οι περισσότερες πύλες παραδίδουν ένα αίτημα λήψης σε έναν μικρό χειριστή που είτε μεταδίδει ένα αποθηκευμένο αρχείο είτε συναρμολογεί ένα επί τόπου, και έπειτα ορίζει ένα όνομα αρχείου και έναν τύπο περιεχομένου πριν φύγει η απάντηση. Αυτό που φτάνει είναι ένα κοντέινερ: ένα MSI, ένα PKG, ένα DEB ή RPM, ή ένα αυτοεξαγόμενο περιτύλιγμα γύρω από ένα από αυτά. Μέσα βρίσκεται το δυαδικό του πελάτη, και τίποτα στο όνομα του αρχείου δεν λέει αξιόπιστα αν αυτό το δυαδικό ήρθε από τον προμηθευτή ή από εσωτερικό αγωγό κατασκευής. Ένα αρχείο με όνομα client-setup.exe καταγράφει μια απόφαση ονοματοδοσίας, όχι ένα γεγονός προέλευσης.
Συγκρίνετε τα ληφθέντα byte με το δημοσιευμένο άθροισμα ελέγχου του προμηθευτή. Μια ασυμφωνία δεν αποδεικνύει κακή πρόθεση· αποδεικνύει ότι το αρχείο δεν είναι η κατασκευή του προμηθευτή, και αυτή είναι η διάκριση για την οποία αξίζει να δράσετε.
Πού μπαίνει το προφίλ στον πελάτη
Οι προσυμπληρωμένες ρυθμίσεις ταξιδεύουν συνήθως ως ξεχωριστό αρχείο που ο εγκαταστάτης αντιγράφει σε μια διαδρομή ανά χρήστη ή ανά μηχάνημα: ένα προφίλ JSON ή XML στα Windows, ένα προφίλ ρυθμίσεων στο macOS, ένα απόσπασμα κάτω από /etc στο Linux. Οι τιμές σε αυτό το αρχείο — ονόματα κεντρικών υπολογιστών πύλης, άγκυρες εμπιστοσύνης, μερικές φορές υλικό εγγραφής — γίνονται οι προεπιλογές του πελάτη στην πρώτη εκκίνηση. Γι' αυτό μία λήψη μπορεί να μεταφέρει μυστικά όπως και κώδικα.
Ρωτήστε τι κάνει η διαδρομή αναβάθμισης με το προφίλ. Ανάλογα με τη συσκευασία, μπορεί να επιβιώσει από μια ενημέρωση πελάτη, να αντικατασταθεί από αυτήν ή να αποτύχει στην επικύρωση σχήματος στη νέα έκδοση.
Τι δεν αποδεικνύει η αλυσίδα υπογραφών
Η υπογραφή κώδικα δεσμεύει μια ταυτότητα εκδότη σε ένα κατακερματισμό αρχείου, και στα Windows η χρονική σφραγίδα Authenticode επιτρέπει σε μια υπογραφή να ζήσει περισσότερο από το πιστοποιητικό που τη δημιούργησε. Ένα έγκυρο αποτέλεσμα απαντά σε δύο ερωτήματα: ποιος εκδότης υπέγραψε αυτά τα byte, και αν άλλαξαν έπειτα. Δεν απαριθμεί τις υπηρεσίες του εγκαταστάτη, τις εγγραφές μητρώου ή τους ενσωματωμένους οδηγούς, και δεν αποφασίζει αν πρέπει να εμπιστευτούμε αυτόν τον εκδότη εδώ. Η τεκμηρίωση του Authenticode της Microsoft περιγράφει τον μηχανισμό και είναι σαφής για αυτό το στενό πεδίο.
Η αυθεντικοποίηση της πύλης απαντά σε ένα τρίτο ερώτημα: ότι η συνεδρία έφτασε στον προβλεπόμενο διακομιστή. Τρεις διαφορετικοί έλεγχοι, τρεις διαφορετικοί τρόποι αποτυχίας.
Επαληθεύστε το τεχνούργημα προτού το εκτελέσει κανείς
Βάλτε το αρχείο σε απομονωμένο μηχάνημα και διαβάστε τα μεταδεδομένα του πριν εκτελέσετε οτιδήποτε. Αυτές οι εντολές απαντούν στο ερώτημα του εκδότη στις τρεις κύριες πλατφόρμες.
# Windows PowerShell Get-AuthenticodeSignature .\client-setup.exe | Format-List Status, SignerCertificate, TimeStamperCertificate # macOS pkgutil --check-signature ./Client.pkg codesign -dv --verbose=4 /Applications/Client.app # Debian/Ubuntu dpkg-deb -I ./client_amd64.deb sha256sum ./client_amd64.deb
Διαβάστε το θέμα του υπογράφοντος και όχι μόνο τη λέξη κατάστασης. Μια εσωτερική αρχή πιστοποιητικών που υπογράφει εσωτερική κατασκευή είναι αναμενόμενη· το ίδιο πιστοποιητικό σε ένα πακέτο που ισχυρίζεται ότι είναι έκδοση του προμηθευτή δεν είναι.
Για ένα πακέτο μόνο με προφίλ, ανοίξτε το αρχείο και αντιμετωπίστε κάθε ενσωματωμένο όνομα κεντρικού υπολογιστή και κλειδί ως δεδομένα που πρέπει να λογιστικοποιηθούν. Αν το προφίλ περιέχει οτιδήποτε επαναχρησιμοποιήσιμο, η διανομή μέσω πύλης το μετατρέπει σε κοινό μυστικό με πρόγραμμα ανάπτυξης.
Καθορισμός ιδιοκτησίας πριν από την ανάπτυξη
Το τελευταίο ερώτημα δεν έχει καμία εντολή πίσω του. Μάθετε ποιος ενημερώνει το τεχνούργημα όταν ο προμηθευτής κυκλοφορεί νέο πελάτη, ποιος κρατά το κλειδί υπογραφής για μια εσωτερική κατασκευή και πώς περιστρέφεται το προφίλ όταν μετακινείται ένα τελικό σημείο. Γράψτε αυτά τα ονόματα δίπλα στον σύνδεσμο λήψης.
Αν κανείς δεν κατέχει αυτή την απάντηση, η λήψη είναι ένα κανάλι διανομής χωρίς σύμβαση συντήρησης, και αυτό είναι το εύρημα που αξίζει να αναφερθεί.