GCP - Add Custom SSH Metadata
GCP - Προσθήκη Προσαρμοσμένων Μεταδεδομένων SSH
Τροποποίηση των μεταδεδομένων
Η τροποποίηση των μεταδεδομένων σε ένα instance μπορεί να οδηγήσει σε σημαντικούς κινδύνους ασφαλείας εάν ένας επιτιθέμενος αποκτήσει τις απαραίτητες άδειες.
Ενσωμάτωση των Κλειδιών SSH στα Προσαρμοσμένα Μεταδεδομένα
Στο GCP, τα συστήματα Linux συχνά εκτελούν σενάρια από το Python Linux Guest Environment for Google Compute Engine. Ένα κρίσιμο στοιχείο αυτού είναι το accounts daemon, το οποίο έχει σχεδιαστεί για να ελέγχει τακτικά το endpoint των μεταδεδομένων του instance για ενημερώσεις στα εξουσιοδοτημένα δημόσια κλειδιά SSH.
Επομένως, εάν ένας επιτιθέμενος μπορεί να τροποποιήσει τα προσαρμοσμένα μεταδεδομένα, μπορεί να κάνει τον δαίμονα να βρει ένα νέο δημόσιο κλειδί, το οποίο θα επεξεργαστεί και θα ενσωματωθεί στο τοπικό σύστημα. Το κλειδί θα προστεθεί στο αρχείο ~/.ssh/authorized_keys
ενός υπάρχοντος χρήστη ή πιθανώς δημιουργώντας ένα νέο χρήστη με δικαιώματα sudo
, ανάλογα με τη μορφή του κλειδιού. Και ο επιτιθέμενος θα μπορεί να απειλήσει τον υπολογιστή.
Προσθήκη κλειδιού SSH σε υπάρχον προνομιούχο χρήστη
Εξέταση των Υπαρχόντων Κλειδιών SSH στο Instance:
Εκτελέστε την εντολή για να περιγράψετε το instance και τα μεταδεδομένα του για να εντοπίσετε τα υπάρχοντα κλειδιά SSH. Η σχετική ενότητα στην έξοδο θα βρίσκεται κάτω από τα
metadata
, ειδικότερα το κλειδίssh-keys
.
Προσέξτε τη μορφή των κλειδιών SSH: το όνομα χρήστη προηγείται του κλειδιού, χωρίζονται με ένα άνω και κάτω τελεία.
Προετοιμασία Αρχείου Κειμένου για τα Μεταδεδομένα του Κλειδιού SSH:
Αποθηκεύστε τις λεπτομέρειες των ονομάτων χρηστών και των αντίστοιχων κλειδιών SSH σε ένα αρχείο κειμένου με το όνομα
meta.txt
. Αυτό είναι απαραίτητο για τη διατήρηση των υπαρχόντων κλειδιών κατά την προσθήκη νέων.
Δημιουργία Νέου Κλειδιού SSH για τον Στόχο Χρήστη (
alice
σε αυτό το παράδειγμα):
Χρησιμοποιήστε την εντολή
ssh-keygen
για να δημιουργήσετε ένα νέο κλειδί SSH, εξασφαλίζοντας ότι το πεδίο σχολίου (-C
) ταιριάζει με το όνομα χρήστη στόχο.
Προσθέστε το νέο δημόσιο κλειδί στο
meta.txt
, μιμούμενο τη μορφή που βρίσκεται στα μεταδεδομένα του instance.
Ενημέρωση των Μεταδεδομένων του Κλειδιού SSH του Instance:
Εφαρμόστε τα ενημερωμένα μεταδεδομένα του κλειδιού SSH στο instance χρησιμοποιώντας την εντολή
gcloud compute instances add-metadata
.
Πρόσβαση στο Instance χρησιμοποιώντας το Νέο Κλειδί SSH:
Συνδεθείτε στο instance με SSH χρησιμοποιώντας το νέο κλειδί, έχοντας πρόσβαση στο κέλυφος του στόχου χρήστη (
alice
σε αυτό το παράδειγμα).
Δημιουργία νέου προνομιούχου χρήστη και προσθήκη ενός κλειδιού SSH
Εάν δεν βρεθεί κάποιος ενδιαφέρων χρήστης, είναι δυνατόν να δημιουργηθεί ένας νέος
SSH κλειδιά σε επίπεδο έργου
Είναι δυνατόν να επεκτείνετε την πρόσβαση SSH σε πολλές Εικονικές Μηχανές (VMs) σε ένα περιβάλλον νέφους εφαρμόζοντας κλειδιά SSH σε επίπεδο έργου. Αυτή η προσέγγιση επιτρέπει την πρόσβαση SSH σε οποιαδήποτε περίπτωση εντός του έργου που δεν έχει αποκλείσει ρητά τα κλειδιά SSH σε επίπεδο έργου. Εδώ υπάρχει ένας συνοπτικός οδηγός:
Εφαρμογή κλειδιών SSH σε επίπεδο έργου:
Χρησιμοποιήστε την εντολή
gcloud compute project-info add-metadata
για να προσθέσετε τα κλειδιά SSH από τοmeta.txt
στα μεταδεδομένα του έργου. Αυτή η ενέργεια εξασφαλίζει ότι τα κλειδιά SSH αναγνωρίζονται σε όλες τις VMs στο έργο, εκτός αν μια VM έχει ενεργοποιημένη την επιλογή "Αποκλεισμός κλειδιών SSH σε επίπεδο έργου".
Σύνδεση με SSH σε περιπτώσεις χρήσης χρησιμοποιώντας κλειδιά σε επίπεδο έργου:
Με τα κλειδιά SSH σε επίπεδο έργου στη θέση τους, μπορείτε να συνδεθείτε με SSH σε οποιαδήποτε περίπτωση εντός του έργου. Οι περιπτώσεις που δεν αποκλείουν τα κλειδιά σε επίπεδο έργου θα αποδεχτούν το κλειδί SSH, παρέχοντας πρόσβαση.
Ένας άμεσος τρόπος για να συνδεθείτε με SSH σε μια περίπτωση είναι να χρησιμοποιήσετε την εντολή
gcloud compute ssh [INSTANCE]
. Αυτή η εντολή χρησιμοποιεί το όνομα χρήστη σας και τα κλειδιά SSH που έχουν οριστεί σε επίπεδο έργου για να προσπαθήσει να αποκτήσει πρόσβαση.
Αναφορές
Last updated