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

Περπατήστε πρώτα τη λίστα πελατών

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

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

Ανακαλέστε την ταυτότητα, όχι μόνο το αρχείο

Δύο διαφορετικές ενέργειες ονομάζονται και οι δύο ανάκληση. Στο WireGuard, ένα peer εξουσιοδοτείται μόνο από το δημόσιο κλειδί του που εμφανίζεται σε τμήμα peer με καταχώριση AllowedIPs, άρα η διαγραφή του αρχείου ρυθμίσεων από τον φορητό δεν αλλάζει τίποτα στον διακομιστή. Αφαιρέστε το μπλοκ peer και εφαρμόστε ξανά το αρχείο χωρίς να ρίξετε τα peer που κρατάτε, όπως περιγράφει το εγχειρίδιο wg(8):

wg show
wg set wg0 peer <CLIENT_PUBLIC_KEY> remove
wg syncconf wg0 <(wg-quick strip wg0)

Το wg syncconf είναι το κομμάτι που σας γλιτώνει ένα παράθυρο συντήρησης. Ξαναχτίζει τη διεπαφή από το αρχείο στη θέση της, άρα η αφαίρεση ενός peer δεν γκρεμίζει τη σήραγγα που χρησιμοποιούν όλοι οι άλλοι. Αν αποσύρετε ολόκληρο τον κεντρικό υπολογιστή αντί για ένα peer, η σειρά μετράει ακόμη, γιατί αυτά τα κλειδιά μπορεί να είναι έμπιστα αλλού.

Με ρύθμιση X.509 το βήμα ανάκλησης είναι το πιστοποιητικό, όχι το αρχείο: openssl ca -revoke client.crt και μετά openssl ca -gencrl -out crl.pem. Αυτό έχει αποτέλεσμα μόνο όπου το διαβάζει ο επαληθευτής, που σημαίνει ότι ένας OpenVPN διακομιστής με ρυθμισμένο crl-verify και επαναφόρτωση μετά. Αν αυτή η πύλη είναι ο μόνος καταναλωτής αυτού του CA, το CRL παύει να έχει σημασία την ημέρα που πεθαίνει· αν ο ίδιος CA υπογράφει για δεύτερη πύλη, ένα πιστοποιητικό που δεν ανακαλέσατε ποτέ συνεχίζει να δουλεύει εκεί.

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

Κλείστε τους ακροατές και τα μονοπάτια προς αυτούς

Σταματήστε την υπηρεσία με τρόπο που επιβιώνει από επανεκκίνηση και μετά επιβεβαιώστε με λίστα υποδοχών αντί για την κατάσταση της μονάδας. Το systemctl disable --now wg-quick@wg0 σταματά τη διεπαφή και αφαιρεί τις διαδρομές και τους κανόνες που πρόσθεσε το wg-quick· το systemctl disable --now openvpn-server@server κάνει το ίδιο για ένα πρότυπο στιγμιότυπο OpenVPN. Ακολουθήστε οποιοδήποτε από τα δύο με ss -lunp και ss -ltnp. Ένα κενό αποτέλεσμα για την παλιά θύρα είναι η μόνη απόδειξη που μετράει.

Ό,τι πρόσθεσε το wg-quick, το wg-quick το αφαιρεί. Ό,τι προσθέσατε με το χέρι μένει: ένας μόνιμος κανόνας NAT, μια άδεια τείχους προστασίας, μια προώθηση θύρας δρομολογητή, ένας κανόνας εισόδου ομάδας ασφαλείας cloud, ένας ακροατής εξισορροπητή φόρτου. Αυτά χρειάζονται ρητή αφαίρεση, και το ίδιο η εγγραφή DNS, δηλαδή το A, το AAAA και κάθε CNAME που δείχνει στο όνομα. Ένα όνομα που επιλύεται σε νεκρό κεντρικό υπολογιστή αποτυγχάνει διαφορετικά από ένα όνομα που δεν επιλύεται, και αυτή η διαφορά θα κοστίσει σε κάποιον ένα απόγευμα.

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

Κυνηγήστε ό,τι δείχνει ακόμη στο παλιό τελικό σημείο

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

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

Επαληθεύστε και μετά γράψτε το

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

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

Πριν κλείσετε το δελτίο:

  • τα προφίλ πελατών αφαιρέθηκαν ή αντικαταστάθηκαν, οι άγνωστες συσκευές διευθετήθηκαν
  • τα peer αφαιρέθηκαν και η ρύθμιση εφαρμόστηκε ξανά, ή τα πιστοποιητικά ανακλήθηκαν και το CRL δημοσιεύτηκε
  • οι λογαριασμοί καταλόγου απενεργοποιήθηκαν, όχι μόνο διαγράφηκαν τοπικά αρχεία
  • η υπηρεσία απενεργοποιήθηκε, δεν έμεινε ακροατής στην παλιά θύρα
  • τείχος προστασίας, προώθηση θύρας, ομάδα ασφαλείας και εγγραφές DNS αφαιρέθηκαν
  • τα αντίγραφα ασφαλείας επισημάνθηκαν, το στιγμιότυπο εξαιρέθηκε από διαδρομές επαναφοράς
  • τα διαπιστευτήρια παρακολούθησης και αυτοματισμού αποσύρθηκαν

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

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