Προετοιμάστε μια σειριακή διαδρομή ανάκτησης πριν αλλάξετε το VPN στο GCE
Η αλλαγή διαδρομών VPN σε VM του Compute Engine μπορεί να σας κλειδώσει έξω. Αποδείξτε άδεια στο cloud, σειριακή έξοδο και σύνδεση φιλοξενούμενου πριν αγγίξετε τις διαδρομές.
Ένα δεύτερο παράθυρο SSH στην ίδια διεπαφή δεν είναι διαδρομή ανάκτησης. Μοιράζεται τη διαδρομή, τον κανόνα του τείχους προστασίας και τον δαίμονα που πρόκειται να αλλάξετε, οπότε αποτυγχάνει ακριβώς τη στιγμή που το χρειάζεστε. Πριν επεξεργαστείτε διαδρομές VPN σε VM του Compute Engine, αποδείξτε τρία ξεχωριστά πράγματα: ότι επιτρέπεται να χρησιμοποιήσετε τη σειριακή κονσόλα, ότι μπορείτε να διαβάσετε την έξοδό της και ότι ο φιλοξενούμενος θα σας δώσει πραγματικά σύνδεση. Οι έλεγχοι παρακάτω εκτελούνται με αυτή τη σειρά, ο φθηνότερος πρώτος, ώστε μια άδεια που λείπει να ανακαλυφθεί πριν έχει σημασία.
Βήμα 1: επιβεβαιώστε την άδεια από την πλευρά του cloud
Ονομάστε το ακριβές VM, το έργο και τη ζώνη, μετά ελέγξτε την εγκεκριμένη πολιτική σειριακής πρόσβασης του οργανισμού. Ο διαχειριστής χρειάζεται τη σχετική άδεια και η διαδραστική σειριακή πρόσβαση πρέπει να είναι ενεργοποιημένη για αυτό το στιγμιότυπο υπό τους ισχύοντες ελέγχους έργου και οργανισμού.
Μην αποδυναμώσετε πολιτική οργανισμού και μην ενεργοποιήσετε πρόσβαση κονσόλας σε ολόκληρο έργο για να προετοιμάσετε ένα μηχάνημα. Ζητήστε από τον ιδιοκτήτη να κανονίσει τον επιτρεπόμενο μηχανισμό πριν το πείραμα, όχι κατά τη διακοπή.
Βήμα 2: αποδείξτε ότι μπορείτε να διαβάσετε έξοδο
Η ανάγνωση της σειριακής εξόδου είναι ο φθηνότερος έλεγχος και ασκεί τη μεταφορά χωρίς να αγγίζει τη σύνδεση του φιλοξενούμενου:
gcloud compute instances get-serial-port-output VM_NAME \
--project PROJECT_ID --zone ZONE --port 1
Αντικαταστήστε τα αναγνωριστικά και χρησιμοποιήστε την επιτρεπόμενη θύρα. Τα μηνύματα εκκίνησης και η φλυαρία της κονσόλας σας λένε ότι το κανάλι λειτουργεί. Δεν αποδεικνύουν ότι μπορείτε να αποκτήσετε shell. Γι’ αυτό αυτό το βήμα είναι ξεχωριστό από το επόμενο.
Βήμα 3: αποδείξτε ότι μπορείτε να αποκτήσετε διαδραστική σύνδεση
Η εντολή σύνδεσης ανοίγει πραγματική συνεδρία, όχι προεπισκόπηση:
gcloud compute connect-to-serial-port VM_NAME \
--project PROJECT_ID --zone ZONE --port 1
Αντιμετωπίστε την ως ζωντανή κονσόλα. Επιβεβαιώστε το τελικό σημείο πριν πληκτρολογήσετε διαπιστευτήρια, γιατί κάθε πάτημα πλήκτρου προσγειώνεται στο στιγμιότυπο.
Εδώ καταρρέει ένα σχέδιο που φαινόταν πλήρες. Η άδεια cloud είναι ένα όριο και η προτροπή σύνδεσης του Linux είναι άλλο, και το πέρασμα του πρώτου δεν λέει τίποτα για το δεύτερο.
Βήμα 4: προετοιμάστε διαπιστευτήρια που θα δεχτεί ο φιλοξενούμενος
Οι εικόνες Linux που παρέχει η Google δεν ενεργοποιούν τοπική σύνδεση με κωδικό πρόσβασης από προεπιλογή. Επομένως μια σειριακή συνεδρία μπορεί να φτάσει σε προτροπή σύνδεσης και να σταματήσει εκεί, περιμένοντας διαπιστευτήριο που δεν όρισε κανείς.
Ένας εγκεκριμένος λογαριασμός ανάκτησης ή όποια τεκμηριωμένη μέθοδος σύνδεσης φιλοξενούμενου χρησιμοποιεί η ανάπτυξή σας πρέπει να υπάρχει και να έχει δοκιμαστεί. Ένα κλειδί SSH που λειτουργεί μέσω δικτύου δεν ικανοποιεί αυτόματα προτροπή κωδικού κονσόλας, οπότε ελέγξτε την πραγματική ρύθμιση OS Login και κλειδιών αντί να υποθέσετε ότι καλύπτει αυτή την περίπτωση.
Κρατήστε ιδιωτικά τα διαπιστευτήρια ανάκτησης. Ένας κωδικός root που επικολλάται σε δημόσιο παράδειγμα startup-script είναι δεύτερο περιστατικό που περιμένει να συμβεί.
Βήμα 5: καταγράψτε τον ιδιοκτήτη και την επαναφορά
Πριν αλλάξετε οτιδήποτε, διατηρήστε τη λειτουργική διαμόρφωση δικτύου και σημειώστε ποιος τη διαχειρίζεται, ποια υπηρεσία VPN εμπλέκεται και πώς εκτελείται μια επαναφορά. Από μια λειτουργική συνεδρία, καταγράψτε τις τρέχουσες διαδρομές, τους κανόνες και την κατάσταση της υπηρεσίας.
Αυτή η καταγραφή μετατρέπει ένα κανάλι ανάκτησης σε επισκευή, γιατί η κονσόλα σάς δίνει μόνο μια προτροπή. Γράψτε την πριν την αλλαγή, όχι μετά από μνήμης. Μια επαναφορά αντιγραμμένη από wiki δεν είναι επαναφορά. Είναι εικασία με αριθμό έκδοσης.
Βήμα 6: επαληθεύστε μετά την αλλαγή
Μια υπάρχουσα συνεδρία SSH μπορεί να επιβιώσει από πολιτική που μπλοκάρει νέες, οπότε δοκιμάστε με φρέσκια κανονική συνεδρία διαχείρισης. Έπειτα δοκιμάστε ξεχωριστά τη συμπεριφορά VPN που αλλάξατε.
Κρατήστε ανοιχτό το κανάλι ανάκτησης μέχρι να περάσουν και οι δύο έλεγχοι, και κλείστε το μετά σύμφωνα με την πολιτική πρόσβασης. Αν το SSH έχει ήδη χαθεί και δεν έχει προετοιμαστεί σύνδεση μέσω κονσόλας, σταματήστε να θεωρείτε τη σειριακή πρόσβαση δίχτυ ασφαλείας και ξεκινήστε την εξουσιοδοτημένη ροή ανάκτησης λογαριασμού ή επισκευής στιγμιοτύπου. Η ανέγερση άλλου VM ως jump host δεν επισκευάζει ούτε τη διαδρομή του φιλοξενούμενου ούτε τα διαπιστευτήρια που λείπουν.