Translated ['src/pentesting-cloud/azure-security/az-services/az-sql.md']

This commit is contained in:
Translator
2025-03-21 09:02:50 +00:00
parent 051394ac67
commit 361225f28c

View File

@@ -15,12 +15,12 @@
### Χαρακτηριστικά Ασφαλείας SQL Server
**Δικτυακή πρόσβαση:**
**Πρόσβαση δικτύου:**
- Δημόσιο σημείο πρόσβασης (μπορεί να περιορίσει την πρόσβαση σε συγκεκριμένα δίκτυα).
- Ιδιωτικά σημεία πρόσβασης.
- Είναι επίσης δυνατό να περιορίσετε τις συνδέσεις με βάση τα ονόματα τομέα.
- Είναι επίσης δυνατό να επιτρέψετε στις υπηρεσίες Azure να έχουν πρόσβαση (όπως για να χρησιμοποιήσετε τον επεξεργαστή ερωτημάτων στην πύλη ή να επιτρέψετε σε μια Azure VM να συνδεθεί).
- Είναι επίσης δυνατή η περιορισμένη σύνδεση με βάση τα ονόματα τομέα.
- Είναι επίσης δυνατή η επιτρεπόμενη πρόσβαση σε υπηρεσίες Azure (όπως η χρήση του Query editor στην πύλη ή η επιτρεπόμενη σύνδεση ενός Azure VM).
**Μέθοδοι Αυθεντικοποίησης:**
@@ -36,13 +36,13 @@
- Όπως πάντα, χρησιμοποιείται από προεπιλογή ένα διαχειριζόμενο κλειδί Azure, αλλά μπορεί επίσης να χρησιμοποιηθεί ένα κλειδί κρυπτογράφησης που διαχειρίζεται ο πελάτης (CMEK).
**Διαχειριζόμενες Ταυτότητες:**
- Είναι δυνατό να ανατεθούν συστήματα και διαχειριζόμενες ταυτότητες χρηστών.
- Είναι δυνατή η ανάθεση συστημικών και διαχειριζόμενων από χρήστες MI.
- Χρησιμοποιούνται για την πρόσβαση στο κλειδί κρυπτογράφησης (αν χρησιμοποιείται ένα CMEK) και σε άλλες υπηρεσίες από τις βάσεις δεδομένων.
- Για μερικά παραδείγματα των υπηρεσιών Azure που μπορούν να προσπελαστούν από τη βάση δεδομένων, ελέγξτε [αυτή τη σελίδα των εγγράφων](https://learn.microsoft.com/en-us/sql/t-sql/statements/create-external-data-source-transact-sql)
- Αν ανατεθούν περισσότερες από μία UMI, είναι δυνατό να υποδειχθεί η προεπιλεγμένη που θα χρησιμοποιηθεί.
- Είναι δυνατό να ρυθμιστεί μια ομοσπονδία ταυτότητας πελάτη για διασυνοριακή πρόσβαση.
- Αν έχει ανατεθεί περισσότερη από μία UMI, είναι δυνατή η υποδειξιμότητα της προεπιλεγμένης που θα χρησιμοποιηθεί.
- Είναι δυνατή η ρύθμιση μιας ομοσπονδιακής ταυτότητας πελάτη για διασυνοριακή πρόσβαση.
Ορισμένες εντολές για την πρόσβαση σε πληροφορίες μέσα σε αποθήκευση blob από μια βάση δεδομένων SQL:
Ορισμένες εντολές για την πρόσβαση σε πληροφορίες μέσα σε ένα blob storage από μια βάση δεδομένων SQL:
```sql
-- Create a credential for the managed identity
CREATE DATABASE SCOPED CREDENTIAL [ManagedIdentityCredential]
@@ -70,7 +70,7 @@ GO
**Microsoft Defender:**
- Χρήσιμο για “μείωση πιθανών ευπαθειών της βάσης δεδομένων και ανίχνευση ανωμαλιών”
- Θα μιλήσουμε για τον Defender σε μάθημα από μόνο του (μπορεί να ενεργοποιηθεί σε πολλές άλλες υπηρεσίες Azure)
- Θα μιλήσουμε για το Defender σε μάθημα από μόνο του (μπορεί να ενεργοποιηθεί σε πολλές άλλες υπηρεσίες Azure)
**Backups:**
- Η συχνότητα των αντιγράφων ασφαλείας διαχειρίζεται στις πολιτικές διατήρησης.
@@ -80,7 +80,7 @@ GO
## Azure SQL Database
**Azure SQL Database** είναι μια **πλήρως διαχειριζόμενη πλατφόρμα βάσεων δεδομένων ως υπηρεσία (PaaS)** που παρέχει κλιμακούμενες και ασφαλείς λύσεις σχεσιακών βάσεων δεδομένων. Είναι βασισμένη στις τελευταίες τεχνολογίες SQL Server και εξαλείφει την ανάγκη για διαχείριση υποδομών, καθιστώντας την δημοφιλή επιλογή για εφαρμογές που βασίζονται στο cloud.
**Azure SQL Database** είναι μια **πλήρως διαχειριζόμενη πλατφόρμα βάσεων δεδομένων ως υπηρεσία (PaaS)** που παρέχει κλιμακωτές και ασφαλείς λύσεις σχεσιακών βάσεων δεδομένων. Είναι βασισμένη στις τελευταίες τεχνολογίες SQL Server και εξαλείφει την ανάγκη για διαχείριση υποδομών, καθιστώντας την δημοφιλή επιλογή για εφαρμογές που βασίζονται στο cloud.
Για να δημιουργηθεί μια SQL βάση δεδομένων, είναι απαραίτητο να υποδειχθεί ο SQL server όπου θα φιλοξενηθεί.
@@ -97,7 +97,7 @@ GO
- **Πλεονασμός δεδομένων:** Οι επιλογές είναι τοπικές, ζώνης, γεωγραφικές ή γεωγραφικής ζώνης πλεονασματικές.
- **Ledger:** Επαληθεύει κρυπτογραφικά την ακεραιότητα των δεδομένων, διασφαλίζοντας ότι οποιαδήποτε αλλοίωση ανιχνεύεται. Χρήσιμο για χρηματοοικονομικές, ιατρικές και οποιαδήποτε οργάνωση διαχειρίζεται ευαίσθητα δεδομένα.
Μια SQL βάση δεδομένων θα μπορούσε να είναι μέρος ενός **elastic Pool**. Τα elastic pools είναι μια οικονομικά αποδοτική λύση για τη διαχείριση πολλαπλών βάσεων δεδομένων, μοιράζοντας ρυθμιζόμενους υπολογιστικούς (eDTUs) και αποθηκευτικούς πόρους μεταξύ τους, με τιμολόγηση που βασίζεται αποκλειστικά στους πόρους που έχουν ανατεθεί και όχι στον αριθμό των βάσεων δεδομένων.
Μια SQL βάση δεδομένων θα μπορούσε να είναι μέρος ενός **elastic Pool**. Τα elastic pools είναι μια οικονομικά αποδοτική λύση για τη διαχείριση πολλαπλών βάσεων δεδομένων, μοιράζοντας ρυθμιζόμενους υπολογιστικούς (eDTUs) και πόρους αποθήκευσης μεταξύ τους, με τιμολόγηση που βασίζεται αποκλειστικά στους πόρους που έχουν ανατεθεί και όχι στον αριθμό των βάσεων δεδομένων.
#### Azure SQL Column Level Security (Masking) & Row Level Security
@@ -105,19 +105,19 @@ GO
Η **Δυναμική Μάσκα Δεδομένων** επηρεάζει όλους τους χρήστες εκτός από αυτούς που είναι μη μάσκες (αυτοί οι χρήστες πρέπει να υποδειχθούν) και τους διαχειριστές. Έχει την επιλογή ρύθμισης που καθορίζει ποιοι χρήστες SQL εξαιρούνται από τη δυναμική μάσκα δεδομένων, με **τους διαχειριστές πάντα εξαιρούμενους**.
**Η Ασφάλεια Επίπεδου Γραμμής Azure SQL (RLS)** είναι μια δυνατότητα που **ελέγχει ποιες γραμμές μπορεί να δει ή να τροποποιήσει ένας χρήστης**, διασφαλίζοντας ότι κάθε χρήστης βλέπει μόνο τα δεδομένα που τον αφορούν. Δημιουργώντας πολιτικές ασφαλείας με φίλτρα ή μπλοκαρίσματα, οι οργανισμοί μπορούν να επιβάλουν λεπτομερή πρόσβαση σε επίπεδο βάσης δεδομένων.
**Η Ασφάλεια Επίπεδου Γραμμής Azure SQL (RLS)** είναι μια δυνατότητα που **ελέγχει ποιες γραμμές μπορεί να δει ή να τροποποιήσει ένας χρήστης**, διασφαλίζοντας ότι κάθε χρήστης βλέπει μόνο τα δεδομένα που τον αφορούν. Δημιουργώντας πολιτικές ασφαλείας με φίλτρα ή μπλοκαρίσματα, οι οργανισμοί μπορούν να επιβάλλουν λεπτομερή πρόσβαση σε επίπεδο βάσης δεδομένων.
### Azure SQL Managed Instance
**Οι Azure SQL Managed Instances** προορίζονται για μεγαλύτερης κλίμακας, πλήρεις αναπτύξεις SQL Server. Παρέχουν σχεδόν 100% συμβατότητα με την τελευταία έκδοση SQL Server on-premises (Enterprise Edition) Database Engine, που παρέχει μια εγγενή υλοποίηση εικονικού δικτύου (VNet) που αντιμετωπίζει κοινές ανησυχίες ασφαλείας, και ένα επιχειρηματικό μοντέλο ευνοϊκό για τους πελάτες SQL Server on-premises.
**Οι Διαχειριζόμενες Εγκαταστάσεις Azure SQL** προορίζονται για μεγαλύτερης κλίμακας, πλήρεις αναπτύξεις SQL Server. Παρέχουν σχεδόν 100% συμβατότητα με την τελευταία έκδοση SQL Server on-premises (Enterprise Edition) Database Engine, που παρέχει μια εγγενή υλοποίηση εικονικού δικτύου (VNet) που αντιμετωπίζει κοινές ανησυχίες ασφαλείας, και ένα επιχειρηματικό μοντέλο ευνοϊκό για τους πελάτες SQL Server on-premises.
### Azure SQL Virtual Machines
**Οι Azure SQL Virtual Machines** επιτρέπουν τον **έλεγχο του λειτουργικού συστήματος** και της παρουσίας SQL Server, καθώς μια VM θα δημιουργηθεί στην υπηρεσία VM που εκτελεί τον SQL server.
**Οι Εικονικές Μηχανές Azure SQL** επιτρέπουν τον **έλεγχο του λειτουργικού συστήματος** και της εγκατάστασης SQL Server, καθώς μια VM θα δημιουργηθεί στην υπηρεσία VM που εκτελεί τον SQL server.
Όταν δημιουργείται μια SQL Virtual Machine, είναι δυνατή η **επιλογή όλων των ρυθμίσεων της VM** (όπως φαίνεται στο μάθημα VM) που θα φιλοξενεί τον SQL server.
- Αυτό σημαίνει ότι η VM θα έχει πρόσβαση σε κάποια VNet(s), μπορεί να έχει **συνδεδεμένες Διαχειριζόμενες Ταυτότητες**, θα μπορούσε να έχει κοινές χρήσεις αρχείων… καθιστώντας την **pivoting από τον SQL** στη VM πολύ ενδιαφέρουσα.
- Επιπλέον, είναι δυνατή η ρύθμιση ενός app id και μυστικού για **να επιτραπεί στον SQL να έχει πρόσβαση σε ένα συγκεκριμένο key vault**, το οποίο θα μπορούσε να περιέχει ευαίσθητες πληροφορίες.
Όταν δημιουργείται μια SQL Εικονική Μηχανή, είναι δυνατή η **επιλογή όλων των ρυθμίσεων της VM** (όπως φαίνεται στο μάθημα VM) που θα φιλοξενεί τον SQL server.
- Αυτό σημαίνει ότι η VM θα έχει πρόσβαση σε κάποια VNet(s), μπορεί να έχει **Συνδεδεμένες Ταυτότητες** συνδεδεμένες σε αυτήν, θα μπορούσε να έχει κοινές χρήσεις αρχείων… καθιστώντας την **pivoting από τον SQL** στη VM πολύ ενδιαφέρουσα.
- Επιπλέον, είναι δυνατή η ρύθμιση ενός app id και μυστικού για **να επιτρέψει στον SQL να έχει πρόσβαση σε ένα συγκεκριμένο key vault**, το οποίο θα μπορούσε να περιέχει ευαίσθητες πληροφορίες.
Είναι επίσης δυνατή η ρύθμιση πραγμάτων όπως **αυτόματες ενημερώσεις SQL**, **αυτόματα αντίγραφα ασφαλείας**, **αυθεντικοποίηση Entra ID** και τις περισσότερες δυνατότητες των άλλων υπηρεσιών SQL.
@@ -209,7 +209,7 @@ az rest --method get \
# Get DataMaskingPolicies of a database
az rest --method get \
--uri "https://management.azure.com/subscriptions/9291ff6e-6afb-430e-82a4-6f04b2d05c7f/resourceGroups/Resource_Group_1/providers/Microsoft.Sql/servers/getstorageserver/databases/masktest/dataMaskingPolicies/Default?api-version=2021-11-01"
--uri "https://management.azure.com/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Sql/servers/<serverName>/databases/<databaseName>/dataMaskingPolicies/Default?api-version=2021-11-01"
az rest --method get \
--uri "https://management.azure.com/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Sql/servers/<serverName>/databases/<databaseName>/dataMaskingPolicies/Default/rules?api-version=2021-11-01"
@@ -258,7 +258,7 @@ Get-AzSqlVM
{{#endtab}}
{{#endtabs}}
Επιπλέον, αν θέλετε να απαριθμήσετε την Dynamic Data Masking και τις Row Level πολιτικές, μέσα στη βάση δεδομένων, μπορείτε να κάνετε ερώτηση:
Επιπλέον, αν θέλετε να απαριθμήσετε την Dynamic Data Masking και τις πολιτικές Row Level, μέσα στη βάση δεδομένων, μπορείτε να κάνετε ερώτηση:
```sql
--Enumerates the masked columns
SELECT