Πηγή APT για VPN: τι παρέχει και πώς να την περιορίσετε
Μια πηγή APT για VPN είναι μόνιμη άδεια, όχι λήψη. Περιορίστε το κλειδί σε αυτή την πηγή, διαβάστε τη συναλλαγή και γράψτε το βήμα αφαίρεσης πριν την προσθέσετε.
Η λήψη ενός πελάτη VPN είναι μια εφάπαξ απόφαση· η προσθήκη του αποθετηρίου APT του δεν είναι. Το δεύτερο λέει στον διαχειριστή πακέτων από πού μπορεί να προέλθει μελλοντικό λογισμικό, και αυτό είναι μόνιμη μεταβίβαση εξουσίας, όχι λήψη. Μπορεί να είναι η σωστή ρύθμιση όταν ο προμηθευτής συντηρεί σωστά ένα αποθετήριο. Παρόλα αυτά αξίζει συνειδητή απόφαση, και οι περισσότεροι οδηγοί εγκατάστασης την παραλείπουν.
Μια υπογραφή επικυρώνει ένα αρχείο, όχι τον κώδικά του
Το APT επαληθεύει τα υπογεγραμμένα μεταδεδομένα του αποθετηρίου και μετά εμπιστεύεται τα αθροίσματα ελέγχου μέσα σε αυτά για τα πακέτα που κατεβάζει. Αυτό αποδεικνύει ότι το αρχείο αντιστοιχεί σε ό,τι δημοσίευσε ο κάτοχος του κλειδιού, και τίποτα για τον κώδικα μέσα του. Ένα σωστά υπογεγραμμένο πακέτο μπορεί ακόμη να φέρει μη ασφαλή σενάρια συντηρητή, και αυτά τα σενάρια εκτελούνται ως root κατά την εγκατάσταση του πακέτου. Το εγχειρίδιο apt-secure χαράζει ακριβώς αυτή τη γραμμή ανάμεσα στην επικύρωση του αρχείου και σε μια εξέταση του λογισμικού.
Άρα το χρήσιμο ερώτημα δεν είναι αν η υπογραφή επικυρώνεται, αφού μια σπασμένη υπογραφή σταματά την εγκατάσταση ούτως ή άλλως. Είναι σε ποια υπογραφή επιλέγετε να εμπιστεύεστε από εδώ και πέρα. Ένα κλεμμένο κλειδί υπογραφής είναι χειρότερο από ένα κλεμμένο πακέτο, γιατί ο επιτιθέμενος συνεχίζει να παράγει έγκυρα μεταδεδομένα πολύ μετά την πρώτη κακή έκδοση. Η εναλλαγή είναι η μόνη επισκευή, και εξαρτάται από το αν ο προμηθευτής δημοσιεύει νέο κλειδί μέσω καναλιού που μπορείτε να επαληθεύσετε ανεξάρτητα.
Γι’ αυτό η ταυτότητα του κλειδιού αξίζει τόση προσοχή όση και η διεύθυνση URL του αποθετηρίου. Ένα κλειδί παρμένο από μια διεύθυνση σε παλιά απάντηση φόρουμ δεν αποδεικνύει τίποτα για τον εκδότη, ενώ το HTTPS προστατεύει τη μεταφορά προς όποιον απάντησε στο τηλέφωνο. Η ασφάλεια μεταφοράς και η ταυτότητα του εκδότη είναι ξεχωριστά ζητήματα, και μόνο το πρώτο λύνεται με πιστοποιητικό.
Περιορίστε το κλειδί στην πηγή, όχι στο σύστημα
Το σύγχρονο APT δέχεται αναφορά Signed-By ειδική για την πηγή. Ένα κλειδί που διαχειρίζεται ο χειριστής μπορεί να βρίσκεται κάτω από το /etc/apt/keyrings/, και η καταχώριση της πηγής ονομάζει το κλειδί που επιτρέπεται να επικυρώσει αυτό το αρχείο. Αυτό είναι στενότερο από το να ρίξετε το ίδιο κλειδί σε ένα παγκόσμια έμπιστο σύνολο, όπου μπορεί να εγγυηθεί για πηγές που ποτέ δεν θέλατε να επιτρέψετε. Ακολουθήστε την εγκατεστημένη έκδοση του APT και τις τρέχουσες οδηγίες του προμηθευτή αντί να ανακατεύετε αποσπάσματα από διαφορετικές γενιές οδηγών.
curl -fsSL https://repo.example.com/vpn-key.gpg -o /etc/apt/keyrings/vpn.gpg
echo "deb [signed-by=/etc/apt/keyrings/vpn.gpg] https://repo.example.com/debian stable main" > /etc/apt/sources.list.d/vpn.listΜην επισκευάζετε ποτέ μια αποτυχία υπογραφής απενεργοποιώντας την επαλήθευση ή σημειώνοντας ένα άγνωστο αρχείο ως έμπιστο. Αυτό ανταλλάσσει ένα ορατό σφάλμα με ένα αόρατο, και το αόρατο διαρκεί μέχρι κάποιος να ελέγξει τη λίστα πηγών. Αν το κλειδί δεν ταιριάζει, η σωστή διόρθωση είναι να βρείτε το σωστό κλειδί, όχι να αφαιρέσετε τον έλεγχο.
Πάρτε τις λεπτομέρειες του αποθετηρίου και την ταυτότητα του κλειδιού από το έργο ή από έναν διαχειριζόμενο διαχειριστή. Ένα κλειδί αντιγραμμένο από ανάρτηση ιστολογίου είναι ισχυρισμός για την πατρότητα, όχι απόδειξή της. Όταν ένας προμηθευτής δημοσιεύει κανάλι εναλλαγής, καταγράψτε το μαζί με το κλειδί, γιατί αυτό το κανάλι είναι που καθιστά δυνατή την επόμενη εναλλαγή.
Το κάρφωμα της πηγής δεν είναι λίστα επιτρεπόμενων πακέτων
Ο περιορισμός ενός κλειδιού σε μία πηγή περιορίζει ποιο αρχείο μπορεί να επικυρώσει, όχι ποια πακέτα επιτρέπεται να δημοσιεύσει αυτό το αρχείο. Το αποθετήριο μπορεί να στείλει πολύ περισσότερα από τον πελάτη VPN που θέλατε, και η επιλογή υποψηφίων και οι προτεραιότητες του APT αποφασίζουν ποια κατάλληλη έκδοση κερδίζει. Εξετάστε την προτεινόμενη συναλλαγή πριν την επιβεβαιώσετε, μαζί με τη λίστα εξαρτήσεων, γιατί οι εξαρτήσεις έρχονται από το ίδιο αρχείο. Το εύρος ενός κλειδιού δεν μπορεί να εκφράσει ’μόνο αυτό το πακέτο’.
Αν χρειάζεστε ισχυρότερο έλεγχο, εκφράστε τον ως πολιτική σε ονόματα ή εκδόσεις πακέτων και κρατήστε αυτή την πολιτική υπό διαχείριση ρυθμίσεων. Η ανάγνωση μιας συναλλαγής παίρνει ένα λεπτό· η ανακάλυψη ενός απρόσμενου πακέτου έξι μήνες αργότερα παίρνει μια εξέταση.
Τα απρόσμενα πακέτα είναι η στιγμή να σταματήσετε αντί να προχωρήσετε, και το ερώτημα προς τον ιδιοκτήτη του αρχείου είναι γιατί χρειάζονται. Ένα αποθετήριο που δημοσιεύει δώδεκα πακέτα γύρω από έναν πελάτη είναι φυσιολογικό για προμηθευτή που διανέμει σουίτα επιφάνειας εργασίας. Είναι επίσης μεγαλύτερη επιφάνεια από ό,τι υπονοούσε ο οδηγός εγκατάστασης, και αυτό είναι το μέρος που αξίζει να καταγραφεί. Κανένα από τα δύο αποτελέσματα δεν είναι λόγος να δυσπιστείτε στην υπογραφή· και τα δύο είναι λόγοι να γράψετε τι αποδεχτήκατε.
Καταγράψτε την εξουσία και πώς να την αφαιρέσετε
Γράψτε τον ιδιοκτήτη του αρχείου, την υποστηριζόμενη έκδοση λειτουργικού συστήματος, το κανάλι εναλλαγής κλειδιού και τη διαδικασία αφαίρεσης. Αυτά τα τέσσερα γεγονότα είναι ό,τι χρειάζεται ένας διάδοχος όταν ο πελάτης αποσύρεται ή ο προμηθευτής αλλάζει κλειδί. Χωρίς αυτά, το επόμενο άτομο κληρονομεί μια γραμμή πηγών και ένα αρχείο κλειδιού χωρίς καμία ιστορία.
Η αφαίρεση είναι το βήμα που παραλείπεται, γι’ αυτό γράψτε το κατά την εγκατάσταση. Διαγράψτε την καταχώριση της πηγής και το ειδικό της κλειδί μαζί, και ελέγξτε αν αυτό το κλειδί αναφέρεται αλλού πριν διαγράψετε το αρχείο. Ένα κοινόχρηστο κλειδί που διαγράφεται χωρίς αυτόν τον έλεγχο μετατρέπει έναν καθαρισμό σε άσχετη διακοπή, που είναι το χειρότερο αποτέλεσμα για μια συνήθη αλλαγή. Στη συνέχεια επιβεβαιώστε ότι οι συνηθισμένες ενημερώσεις εξακολουθούν να επιλύονται αφού φύγει η καταχώριση.
Ένα πράγμα μένει αφού αφαιρεθεί το αποθετήριο: κάθε πακέτο που έχει ήδη εγκατασταθεί από αυτό συνεχίζει να τρέχει μέχρι κάτι να το αντικαταστήσει. Το ειλικρινές ερώτημα είναι ποια εξουσία προσθέσατε, και πόσο στενά εκφράστηκε ο ρόλος της.