Az - Virtual Machines & Network
Last updated
Last updated
Από τα έγγραφα: Οι εικονικές μηχανές Azure είναι μία από τις πολλές μορφές επεκτάσιμων υπολογιστικών πόρων κατά παραγγελία που προσφέρει η Azure. Συνήθως, επιλέγετε μία εικονική μηχανή όταν χρειάζεστε περισσότερο έλεγχο επί του περιβάλλοντος υπολογισμού από ό,τι προσφέρουν οι άλλες επιλογές. Αυτό το άρθρο σας παρέχει πληροφορίες σχετικά με το τι πρέπει να λάβετε υπόψη πριν δημιουργήσετε μία εικονική μηχανή, πώς να τη δημιουργήσετε και πώς να τη διαχειριστείτε.
Τα δίκτυα Azure περιέχουν διάφορες οντότητες και τρόπους ρύθμισής τους. Μπορείτε να βρείτε μια σύντομη περιγραφή, παραδείγματα και εντολές απαρίθμησης των διαφορετικών οντοτήτων δικτύου Azure στο:
Το Azure Bastion προσφέρει μια ασφαλή, πλήρως διαχειριζόμενη λύση πρόσβασης RDP (Remote Desktop Protocol) και SSH (Secure Shell) μέσω SSL μέσω του πύλης Azure. Είναι ενσωματωμένο σε ένα εικονικό δίκτυο Azure, επιτρέποντας συνδεσιμότητα RDP και SSH σε εικονικές μηχανές χρησιμοποιώντας ιδιωτικές διευθύνσεις IP, αποφεύγοντας την ανάγκη για δημόσιες διευθύνσεις IP. Αυτό το καθιστά μια πιο ασφαλή και βολική εναλλακτική λύση σε σχέση με τις παραδοσιακές μεθόδους που περιλαμβάνουν την ανάθεση δημόσιων διευθύνσεων IP και τις ρυθμίσεις κανόνων NSG για πρόσβαση σε εικονικές μηχανές. Οι προγραμματιστές και το προσωπικό IT μπορούν να έχουν ασφαλή πρόσβαση σε εικονικές μηχανές από το πύλη Azure χρησιμοποιώντας τους web browsers τους, απλοποιώντας τη διαδικασία για περιβάλλοντα ανάπτυξης και δοκιμής.
Για να εμφανίσετε όλους τους Azure Bastion Hosts στη συνδρομή σας, μπορείτε να χρησιμοποιήσετε την παρακάτω εντολή:
Η απαρίθμηση των εικονικών μηχανών (VM) είναι ένα σημαντικό βήμα στη διαδικασία της εισβολής σε ένα σύστημα. Εδώ είναι μερικές τεχνικές που μπορείτε να χρησιμοποιήσετε για να απαριθμήσετε τις VM σε ένα περιβάλλον Azure:
Μπορείτε να χρησιμοποιήσετε το Azure Portal για να απαριθμήσετε τις VM που υπάρχουν στο περιβάλλον σας. Απλά συνδεθείτε στο Azure Portal και πλοηγηθείτε στην ενότητα "Εικονικές μηχανές" για να δείτε τη λίστα των VM.
Μπορείτε επίσης να χρησιμοποιήσετε το Azure CLI για να απαριθμήσετε τις VM. Ανοίξτε ένα τερματικό και εκτελέστε την εντολή az vm list
για να δείτε τη λίστα των VM.
Με το Azure PowerShell, μπορείτε επίσης να απαριθμήσετε τις VM. Ανοίξτε το PowerShell και εκτελέστε την εντολή Get-AzVM
για να δείτε τη λίστα των VM.
Τέλος, μπορείτε να χρησιμοποιήσετε το Azure REST API για να απαριθμήσετε τις VM. Κάντε μια αίτηση GET στο https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines?api-version=2020-06-01
για να λάβετε τη λίστα των VM.
Αυτές είναι μερικές από τις τεχνικές που μπορείτε να χρησιμοποιήσετε για να απαριθμήσετε τις VM σε ένα περιβάλλον Azure. Από εκεί, μπορείτε να προχωρήσετε σε άλλα βήματα της εισβολής, όπως την εκμετάλλευση ευπάθειών ή την απόκτηση πρόσβασης στις VM.
Είναι δυνατόν να επιτραπεί η πρόσβαση σε χρήστες που έχουν πιστοποιηθεί μέσω του AzureAD. Για παράδειγμα, αν προσπαθήσετε να αποκτήσετε πρόσβαση σε έναν linux VM με την εντολή ssh username@azure-corp.com@1.1.1.1
(είναι σημαντικό να χρησιμοποιήσετε το email που χρησιμοποιείται με το azurecorp κατά την προσπάθεια σύνδεσης), μπορεί να εμφανιστεί ένα σφάλμα όπως:
Απλά ακολουθήστε αυτές τις οδηγίες πηγαίνοντας στη διεύθυνση https://microsoft.com/devicelogin και δηλώνοντας τον κωδικό, χρησιμοποιήστε το email και τον κωδικό πρόσβασης ως διαπιστευτήρια και θα μπορείτε να συνδεθείτε μέσω SSH (αν αυτός ο χρήστης έχει αρκετές άδειες για να το κάνει: ρόλος Virtual Machine Administrator Login
ή Virtual Machine User Login
).
Οι επεκτάσεις εικονικών μηχανών (VM) του Azure είναι μικρές εφαρμογές που παρέχουν ρυθμίσεις μετά την αναπτυξη και αυτοματοποίηση εργασιών σε εικονικές μηχανές Azure. Για παράδειγμα, αν μια εικονική μηχανή απαιτεί εγκατάσταση λογισμικού, προστασία από ιούς ή τη δυνατότητα εκτέλεσης ενός σεναρίου μέσα σε αυτήν, μπορείτε να χρησιμοποιήσετε μια επέκταση VM.
Συνεπώς, αν έχετε πρόσβαση για να το γράψετε, μπορείτε να εκτελέσετε αυθαίρετο κώδικα:
Το DesiredConfigurationState (DSC) είναι ένα εργαλείο PowerShell παρόμοιο με το Ansible, που χρησιμοποιείται για τη ρύθμιση ενός υπολογιστή μέσω κώδικα. Το DSC ενσωματώνεται με το Azure, επιτρέποντας το ανέβασμα συγκεκριμένων αρχείων ρύθμισης. Αυτά τα αρχεία πρέπει να συμμορφώνονται με μια αυστηρή σύνταξη. Ειδικότερα, η επέκταση DSC στο Azure μπορεί να εκτελέσει εντολές από αρχεία που πληρούν ορισμένα κριτήρια μορφοποίησης, ακόμα κι αν η σύνταξη δεν είναι σωστή για τα πρότυπα του DSC, όπως φαίνεται στο παρακάτω σχήμα.
Η εκτέλεση αυτών των εντολών διευκολύνεται από την Publish-AzVMDscConfiguration
συνάρτηση στο Az PowerShell. Οι απαιτήσεις περιλαμβάνουν ένα αρχείο .PS1 με μια καθορισμένη συνάρτηση και το αρχείο πρέπει να συμπιεστεί σε ένα αρχείο .zip. Ακόμα κι αν η σύνταξη δεν είναι ακριβής για το DSC, ο κώδικας θα εκτελεστεί. Ωστόσο, η επέκταση θα σημειώσει την κατάσταση εκτέλεσης ως "αποτυχία" και δεν θα είναι ορατή καμία έξοδος από την εντολή λόγω της αντικατάστασης της κατάστασης από το μήνυμα αποτυχίας.
Οι Ορισμοί Εφαρμογών VM επιτρέπουν την επαναλαμβανόμενη αναπτυξη εκδόσεων εφαρμογών σε ένα Azure VM. Αυτός ο πόρος υποστηρίζει την ανάπτυξη και ενημέρωση εφαρμογών σε διάφορα VMs. Για να το ρυθμίσετε, απαιτούνται αρκετά βήματα, που περιλαμβάνουν εντολές όπως New-AzGalleryApplication
και New-AzGalleryApplicationVersion
στο Az PowerShell.
Η εκτέλεση εφαρμογών ή εντολών μέσω αυτής της μεθόδου περιλαμβάνει το "VMAppExtension", το οποίο εγκαθίσταται αυτόματα όταν μια εφαρμογή εφαρμόζεται σε ένα VM. Η επέκταση ανακτά το αρχείο από το καθορισμένο URI και το ονομάζει ακριβώς όπως η εφαρμογή, χωρίς καμία επέκταση. Για να εκτελεστεί σωστά το αρχείο, το πεδίο "ManageActions" στην κλήση του REST API πρέπει να ρυθμιστεί ώστε να μετονομάσει το αρχείο με την κατάλληλη επέκταση. Η ρύθμιση αυτής της μεθόδου, όταν ολοκληρωθεί, θα μοιάζει με τη δομή που φαίνεται στο παρακάτω σχήμα.
Ωστόσο, αυτή η μέθοδος εκτέλεσης είναι σχετικά αργή, απαιτώντας περίπου 3-4 λεπτά για να εκτελέσει μια εφαρμογή ή μια εντολή. Τα αρχεία που σχετίζονται με αυτήν τη διαδικασία αποθηκεύονται σε συγκεκριμένους φακέλους (C:\Packages\Plugins\Microsoft.CPlat.Core.VMApplicationManagerWindows\1.0.4\Downloads\
για την αντιγραφή της εφαρμογής και C:\Packages\Plugins\Microsoft.CPlat.Core.VMApplicationManagerWindows\1.0.4\Status\
για την κατάσταση εκτέλεσης).
Και οι δύο τεχνικές παρέχουν μοναδικούς τρόπους εκτέλεσης εντολών και ανάπτυξης εφαρμογών σε περιβάλλοντα Azure, με κάθε μία να έχει τις δικές της απαιτήσεις, βήματα και παρατηρήσεις.
Τα Hybrid Worker Groups (HWGs) είναι μια δυνατότητα στο Azure που επιτρέπει την εκτέλεση Runbooks, που έχουν ρυθμιστεί σε έναν λογαριασμό Automation, σε ένα Azure Virtual Machine (VM) που ανήκει στον καθορισμένο HWG. Αυτή η εκτέλεση διευκολύνεται μέσω μιας επέκτασης που εγκαθίσταται στο VM και αναπτύσσει τον κώδικα του Runbook στο VM. Ένα σημαντικό στοιχείο αυτής της διαδικασίας είναι ότι οι πραγματικές πιστοποιήσεις δεν είναι παράγοντας στην εκτέλεση επειδή ο κώδικας εκτελείται με αυξημένα δικαιώματα, ειδικότερα ως SYSTEM ή root, όπως φαίνεται στο παρακάτω σχήμα.
Ένα σημαντικό στοιχείο για όσους χρησιμοποιούν VMs με Windows 10 είναι η ανάγκη να καθορίσουν την έκδοση του PowerShell για το Runbook. Πρέπει να οριστεί να εκτελείται ως PowerShell Έκδοση 5.1 αντί για την 7.1. Αυτή η απαίτηση πηγάζει από το γεγονός ότι το PowerShell 7.1 δεν είναι εγκατεστημένο από προεπιλογή σε αυτά τα VMs, προκαλώντας αποτυχία στην ε