From e9fc715a0b594f9fddb2b533ba2d0da69162abd7 Mon Sep 17 00:00:00 2001 From: Translator Date: Fri, 17 Jul 2026 06:09:54 +0000 Subject: [PATCH] Translated ['', 'src/pentesting-cloud/azure-security/az-services/az-stor --- .../azure-security/az-services/az-sql.md | 90 ++++----- .../azure-security/az-services/az-storage.md | 180 +++++++++--------- 2 files changed, 135 insertions(+), 135 deletions(-) diff --git a/src/pentesting-cloud/azure-security/az-services/az-sql.md b/src/pentesting-cloud/azure-security/az-services/az-sql.md index c3e28867e..4bc6d8147 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-sql.md +++ b/src/pentesting-cloud/azure-security/az-services/az-sql.md @@ -4,14 +4,14 @@ ## Azure SQL -Το Azure SQL είναι μια οικογένεια διαχειριζόμενων, ασφαλών και έξυπνων προϊόντων που χρησιμοποιούν τη **SQL Server database engine στο Azure cloud**. Αυτό σημαίνει ότι δεν χρειάζεται να ανησυχείς για τη φυσική διαχείριση των servers σου και μπορείς να εστιάσεις στη διαχείριση των δεδομένων σου. +Το Azure SQL είναι μια οικογένεια managed, ασφαλών και intelligent προϊόντων που χρησιμοποιούν το **SQL Server database engine στο Azure cloud**. Αυτό σημαίνει ότι δεν χρειάζεται να ανησυχείτε για τη φυσική διαχείριση των servers σας και μπορείτε να επικεντρωθείτε στη διαχείριση των δεδομένων σας. -Το Azure SQL αποτελείται από τέσσερις βασικές προσφορές: +Το Azure SQL αποτελείται από τέσσερις κύριες προσφορές: -1. **Azure SQL Server**: Απαιτείται ένας server για το **deployment και management** των SQL Server databases. -2. **Azure SQL Database**: Αυτή είναι μια **fully-managed database service**, η οποία σου επιτρέπει να φιλοξενείς μεμονωμένες databases στο Azure cloud. -3. **Azure SQL Managed Instance**: Αυτό είναι για deployments μεγαλύτερης κλίμακας, σε επίπεδο ολόκληρης SQL Server instance. -4. **Azure SQL Server on Azure VMs**: Αυτό είναι το καλύτερο για architectures όπου θέλεις **control over the operating system **και το SQL Server instance. +1. **Azure SQL Server**: Απαιτείται ένας server για την **ανάπτυξη και διαχείριση** των SQL Server databases. +2. **Azure SQL Database**: Πρόκειται για μια **fully-managed database service**, η οποία σας επιτρέπει να φιλοξενείτε μεμονωμένες databases στο Azure cloud. +3. **Azure SQL Managed Instance**: Προορίζεται για deployments μεγαλύτερης κλίμακας, με ολόκληρο το SQL Server instance ως scope. +4. **Azure SQL Server on Azure VMs**: Είναι η καλύτερη επιλογή για architectures όπου θέλετε **έλεγχο του operating system **και του SQL Server instance. ### SQL Server Security Features @@ -19,18 +19,18 @@ - Public endpoint (μπορεί να περιορίσει την πρόσβαση σε συγκεκριμένα networks). - Private endpoints. -- Είναι επίσης δυνατό να περιορίσεις connections βάσει domain names. -- Είναι επίσης δυνατό να επιτρέψεις σε Azure services να έχουν πρόσβαση σε αυτό (όπως για να χρησιμοποιήσεις το Query editor στο portal ή για να επιτρέψεις σε ένα Azure VM να συνδεθεί). -- Αν ένα SQL Server έχει το *Allow Azure services and resources to access this server* ορισμένο σε "Enabled", το Azure θα δημιουργήσει αυτόματα έναν hidden firewall rule που επιτρέπει σε όλη την network traffic που προέρχεται από το Azure να συνδεθεί στο SQL Server — συμπεριλαμβανομένων resources από οποιοδήποτε tenant. -- Αυτό σημαίνει ότι αν αποκτήσεις έγκυρα SQL credentials, μπορείς να συνδεθείς στο victim Azure SQL Server από ένα Azure VM μέσα στο δικό σου attacker‑controlled tenant. [Η MS docs explains this](https://learn.microsoft.com/en-us/azure/azure-sql/database/network-access-controls-overview?view=azuresql#allow-azure-services) +- Είναι επίσης δυνατός ο περιορισμός των connections βάσει domain names. +- Είναι επίσης δυνατή η παροχή πρόσβασης σε Azure services (όπως για τη χρήση του Query editor στο portal ή για να επιτρέπεται σε ένα Azure VM να συνδεθεί). +- Αν σε έναν SQL Server έχει οριστεί *Allow Azure services and resources to access this server* ως "Enabled", το Azure δημιουργεί αυτόματα έναν hidden firewall rule που επιτρέπει σε όλη την network traffic που προέρχεται από το Azure να συνδέεται στον SQL Server — συμπεριλαμβανομένων resources από οποιοδήποτε tenant. +- Αυτό σημαίνει ότι αν αποκτήσετε έγκυρα SQL credentials, μπορείτε να συνδεθείτε στον Azure SQL Server του θύματος από ένα Azure VM μέσα στο δικό σας attacker-controlled tenant. [The MS docs explains this](https://learn.microsoft.com/en-us/azure/azure-sql/database/network-access-controls-overview?view=azuresql#allow-azure-services) **Authentication Methods:** -- Microsoft **Entra-only** authentication: Πρέπει να καθορίσεις τα Entra principals που θα έχουν πρόσβαση στο service. -- **Both SQL and Microsoft Entra** authentication: Παραδοσιακή SQL authentication με username και password μαζί με Microsoft Entra. -- **Only SQL** authentication: Επιτρέπει πρόσβαση μόνο μέσω database users. +- Microsoft **Entra-only** authentication: Πρέπει να υποδείξετε τα Entra principals που θα έχουν πρόσβαση στην υπηρεσία. +- **Both SQL and Microsoft Entra** authentication: Παραδοσιακό SQL authentication με username και password, παράλληλα με το Microsoft Entra. +- **Only SQL** authentication: Επιτρέπεται πρόσβαση μόνο μέσω database users. -Σημείωσε ότι αν επιτρέπεται οποιαδήποτε SQL auth, πρέπει να οριστεί ένας admin user (username + password) και αν επιλεγεί Entra ID auth, πρέπει επίσης να οριστεί τουλάχιστον ένα principal με admin access. +Σημειώστε ότι αν επιτρέπεται οποιοδήποτε SQL auth, πρέπει να υποδειχθεί ένας admin user (username + password), ενώ αν επιλεγεί Entra ID auth, πρέπει επίσης να υποδειχθεί τουλάχιστον ένα principal με admin access. **Encryption:** @@ -38,13 +38,13 @@ - Όπως πάντα, χρησιμοποιείται από προεπιλογή ένα Azure managed key, αλλά μπορεί επίσης να χρησιμοποιηθεί ένα customer managed encryption key (CMEK). **Managed Identities:** -- Είναι δυνατό να εκχωρηθούν system και user managed MIs. -- Χρησιμοποιούνται για την πρόσβαση στο encryption key (αν χρησιμοποιείται CMEK) και σε άλλες services από τις databases. -- Για μερικά παραδείγματα των Azure services στα οποία μπορεί να γίνει πρόσβαση από τη database, δες [this page of the docs](https://learn.microsoft.com/en-us/sql/t-sql/statements/create-external-data-source-transact-sql) -- Αν εκχωρηθούν περισσότερες από μία UMI, είναι δυνατό να ορίσεις την default one που θα χρησιμοποιείται. -- Είναι δυνατό να ρυθμίσεις ένα federated client identity για cross-tenant access. +- Είναι δυνατή η ανάθεση system και user managed MIs. +- Χρησιμοποιούνται για την πρόσβαση στο encryption key (αν χρησιμοποιείται CMEK) και σε άλλα services από τις databases. +- Για ορισμένα παραδείγματα των Azure services στα οποία μπορεί να γίνει πρόσβαση από τη database, δείτε [this page of the docs](https://learn.microsoft.com/en-us/sql/t-sql/statements/create-external-data-source-transact-sql) +- Αν έχει ανατεθεί περισσότερα από ένα UMI, είναι δυνατός ο καθορισμός του default που θα χρησιμοποιείται. +- Είναι δυνατή η διαμόρφωση ενός federated client identity για cross-tenant access. -Μερικές εντολές για πρόσβαση σε info μέσα σε ένα blob storage από μια SQL database: +Ορισμένες εντολές για πρόσβαση σε πληροφορίες μέσα σε blob storage από μια SQL database: ```sql -- Create a credential for the managed identity CREATE DATABASE SCOPED CREDENTIAL [ManagedIdentityCredential] @@ -71,58 +71,58 @@ GO ``` **Microsoft Defender:** -- Χρήσιμο για “mitigating potential database vulnerabilities, and detecting anomalous activities” -- Θα μιλήσουμε για το Defender στο δικό του μάθημα (μπορεί να ενεργοποιηθεί σε αρκετές άλλες Azure υπηρεσίες) +- Χρήσιμο για την «άμβλυνση πιθανών database vulnerabilities και τον εντοπισμό anomalous activities» +- Θα μιλήσουμε για το Defender σε ξεχωριστό lesson (μπορεί να ενεργοποιηθεί σε αρκετές άλλες Azure services) **Backups:** -- Η συχνότητα του backup διαχειρίζεται μέσω των retention policies. +- Η συχνότητα των backups διαχειρίζεται μέσω των retention policies. **Deleted databases:** -- Είναι δυνατό να restore DBs που έχουν διαγραφεί από υπάρχοντα backups. +- Είναι δυνατή η επαναφορά DBs που έχουν διαγραφεί από υπάρχοντα backups. ## Azure SQL Database -Το **Azure SQL Database** είναι μια **fully managed database platform as a service (PaaS)** που παρέχει scalable και secure relational database solutions. Βασίζεται στις πιο πρόσφατες SQL Server technologies και εξαλείφει την ανάγκη για infrastructure management, κάνοντάς το δημοφιλή επιλογή για cloud-based applications. +Το **Azure SQL Database** είναι μια **πλήρως διαχειριζόμενη database platform ως service (PaaS)** που παρέχει scalable και secure relational database solutions. Βασίζεται στις πιο πρόσφατες SQL Server technologies και εξαλείφει την ανάγκη infrastructure management, γεγονός που το καθιστά δημοφιλή επιλογή για cloud-based applications. -Για να δημιουργηθεί ένα SQL database, χρειάζεται να δηλωθεί ο SQL server όπου θα φιλοξενηθεί. +Για τη δημιουργία μιας SQL database απαιτείται να υποδειχθεί ο SQL server στον οποίο θα φιλοξενηθεί. ### SQL Database Security Features -- **Always Up-to-Date**: Τρέχει στην πιο πρόσφατη stable version του SQL Server και λαμβάνει αυτόματα new features και patches. +- **Always Up-to-Date**: Εκτελείται στην πιο πρόσφατη stable version του SQL Server και λαμβάνει αυτόματα νέα features και patches. - **Inherited SQL Server security features:** -- Authentication (SQL and/or Entra ID) +- Authentication (SQL και/ή Entra ID) - Assigned Managed Identities - Network restrictions - Encryption - Backups - … - **Data redundancy:** Οι επιλογές είναι local, zone, Geo ή Geo-Zone redundant. -- **Ledger:** Επαληθεύει κρυπτογραφικά την ακεραιότητα των δεδομένων, διασφαλίζοντας ότι οποιαδήποτε tampering θα εντοπιστεί. Χρήσιμο για financial, medical και κάθε organization που διαχειρίζεται sensitive data. +- **Ledger:** Επαληθεύει κρυπτογραφικά την ακεραιότητα των δεδομένων, διασφαλίζοντας ότι εντοπίζεται οποιαδήποτε παραποίηση. Χρήσιμο για financial, medical και οποιονδήποτε οργανισμό που διαχειρίζεται sensitive data. -Ένα SQL database μπορεί να είναι μέρος ενός **elastic Pool**. Τα elastic pools είναι μια cost-effective λύση για τη διαχείριση πολλαπλών databases, μοιράζοντας configurable compute (eDTUs) και storage resources μεταξύ τους, με τιμολόγηση που βασίζεται αποκλειστικά στους resources που έχουν allocated και όχι στον αριθμό των databases. +Μια SQL database μπορεί να αποτελεί μέρος ενός **elastic Pool**. Τα Elastic pools είναι μια cost-effective λύση για τη διαχείριση πολλαπλών databases, μέσω κοινής χρήσης configurable compute (eDTUs) και storage resources μεταξύ τους, με την τιμολόγηση να βασίζεται αποκλειστικά στους allocated resources και όχι στον αριθμό των databases. #### Azure SQL Column Level Security (Masking) & Row Level Security -Το **Azure SQL's dynamic** data masking είναι ένα feature που βοηθά να **protect sensitive information by hiding it** από unauthorized users. Αντί να αλλοιώνει τα πραγματικά δεδομένα, κάνει dynamically mask τα εμφανιζόμενα δεδομένα, διασφαλίζοντας ότι ευαίσθητες λεπτομέρειες όπως credit card numbers καλύπτονται. +Το **dynamic** data masking του **Azure SQL** είναι ένα feature που βοηθά στην **προστασία sensitive information αποκρύπτοντάς τα** από unauthorized users. Αντί να τροποποιεί τα πραγματικά δεδομένα, αποκρύπτει δυναμικά τα εμφανιζόμενα δεδομένα, διασφαλίζοντας ότι sensitive details, όπως οι αριθμοί πιστωτικών καρτών, δεν εμφανίζονται. -Το **Dynamic Data Masking** επηρεάζει όλους τους users εκτός από αυτούς που είναι unmasked (αυτοί οι users χρειάζεται να δηλωθούν) και administrators. Έχει την configuration option που καθορίζει ποιοι SQL users εξαιρούνται από το dynamic data masking, με τους **administrators always excluded**. +Το **Dynamic Data Masking** εφαρμόζεται σε όλους τους users εκτός από αυτούς που είναι unmasked (αυτοί οι users πρέπει να υποδειχθούν) και τους administrators. Διαθέτει configuration option που καθορίζει ποιοι SQL users εξαιρούνται από το dynamic data masking, με τους **administrators να εξαιρούνται πάντα**. -Το **Azure SQL Row Level Security (RLS)** είναι ένα feature που **controls which rows a user can view or modify**, διασφαλίζοντας ότι κάθε user βλέπει μόνο τα δεδομένα που σχετίζονται με αυτόν. Με τη δημιουργία security policies με filter ή block predicates, οι organizations μπορούν να εφαρμόσουν fine-grained access σε επίπεδο database. +Το **Azure SQL Row Level Security (RLS)** είναι ένα feature που **ελέγχει ποιες rows μπορεί να δει ή να τροποποιήσει ένας user**, διασφαλίζοντας ότι κάθε user βλέπει μόνο τα δεδομένα που σχετίζονται με αυτόν. Με τη δημιουργία security policies με filter ή block predicates, οι οργανισμοί μπορούν να επιβάλλουν fine-grained access σε επίπεδο database. ### Azure SQL Managed Instance -Τα **Azure SQL Managed Instances** προορίζονται για deployments μεγαλύτερης κλίμακας, scoped σε ολόκληρο SQL Server instance. Παρέχουν σχεδόν 100% compatibility με το latest SQL Server on-premises (Enterprise Edition) Database Engine, το οποίο παρέχει native virtual network (VNet) implementation που αντιμετωπίζει συνηθισμένα security concerns, και ένα business model ευνοϊκό για on-premises SQL Server customers. +Τα **Azure SQL Managed Instances** προορίζονται για deployments μεγαλύτερης κλίμακας, με ολόκληρο SQL Server instance scope. Παρέχουν σχεδόν 100% compatibility με την πιο πρόσφατη on-premises SQL Server (Enterprise Edition) Database Engine, η οποία παρέχει native virtual network (VNet) implementation που αντιμετωπίζει συνήθεις security concerns, καθώς και ένα business model ευνοϊκό για on-premises SQL Server customers. ### Azure SQL Virtual Machines -Τα **Azure SQL Virtual Machines** επιτρέπουν τον **control του operating system** και του SQL Server instance, καθώς θα δημιουργηθεί μια VM στην VM service που θα τρέχει τον SQL server. +Τα **Azure SQL Virtual Machines** επιτρέπουν τον **έλεγχο του operating system** και του SQL Server instance, καθώς θα δημιουργηθεί μια VM στο VM service που θα εκτελεί τον SQL server. -Όταν δημιουργείται ένα SQL Virtual Machine, είναι δυνατό να **selected all the settings of the VM** (όπως φαίνεται στο μάθημα για τις VM) που θα φιλοξενεί τον SQL server. -- Αυτό σημαίνει ότι η VM θα έχει πρόσβαση σε κάποιο VNet(s), μπορεί να έχει **Managed Identities attached** σε αυτήν, μπορεί να έχει mounted file shares… κάνοντας το **pivoting from the SQL** προς τη VM εξαιρετικά ενδιαφέρον. -- Επιπλέον, είναι δυνατό να ρυθμιστούν ένα app id και secret για να **allow the SQL to access an specific key vault**, το οποίο μπορεί να περιέχει sensitive info. +Κατά τη δημιουργία ενός SQL Virtual Machine είναι δυνατό να **επιλεγούν όλα τα settings της VM** (όπως παρουσιάζεται στο VM lesson) που θα φιλοξενεί τον SQL server. +- Αυτό σημαίνει ότι η VM θα έχει πρόσβαση σε ορισμένα VNet(s), μπορεί να έχει **Managed Identities attached** σε αυτήν, μπορεί να έχει file shares mounted… καθιστώντας το **pivoting από το SQL** προς τη VM ιδιαίτερα ενδιαφέρον. +- Επιπλέον, είναι δυνατή η ρύθμιση ενός app id και secret ώστε **να επιτρέπεται στο SQL η πρόσβαση σε συγκεκριμένο key vault**, το οποίο μπορεί να περιέχει sensitive info. -Είναι επίσης δυνατό να ρυθμιστούν πράγματα όπως **automatic SQL updates**, **automatic backups**, **Entra ID authentication** και οι περισσότερες λειτουργίες των άλλων SQL services. +Είναι επίσης δυνατή η ρύθμιση features όπως **automatic SQL updates**, **automatic backups**, **Entra ID authentication** και των περισσότερων features των άλλων SQL services. ## Enumeration @@ -261,7 +261,7 @@ Get-AzSqlVM {{#endtab}} {{#endtabs}} -Επιπλέον, αν θέλεις να απαριθμήσεις τα Dynamic Data Masking και Row Level policies μέσα στη βάση δεδομένων, μπορείς να κάνεις query: +Επιπλέον, αν θέλετε να κάνετε enumerate το Dynamic Data Masking και τις Row Level policies μέσα στη βάση δεδομένων, μπορείτε να εκτελέσετε query: ```sql --Enumerates the masked columns SELECT @@ -288,7 +288,7 @@ ON sp.object_id = sp2.object_id; ``` ### Σύνδεση και εκτέλεση SQL queries -Μπορείς να βρεις ένα connection string (που περιέχει credentials) από το παράδειγμα [enumerating an Az WebApp](az-app-services.md): +Μπορείτε να βρείτε ένα connection string (που περιέχει credentials) από το παράδειγμα [enumerating an Az WebApp](az-app-services.md): ```bash function invoke-sql{ param($query) @@ -307,24 +307,24 @@ $Connection.Close() invoke-sql 'Select Distinct TABLE_NAME From information_schema.TABLES;' ``` -Μπορείς επίσης να χρησιμοποιήσεις sqlcmd για να αποκτήσεις πρόσβαση στη βάση δεδομένων. Είναι σημαντικό να γνωρίζεις αν ο server επιτρέπει public connections `az sql server show --name --resource-group `, και επίσης αν το firewall rule επιτρέπει στο IP μας να έχει πρόσβαση: +Μπορείτε επίσης να χρησιμοποιήσετε το sqlcmd για να αποκτήσετε πρόσβαση στη βάση δεδομένων. Είναι σημαντικό να γνωρίζετε αν ο server επιτρέπει public connections `az sql server show --name --resource-group `, καθώς και αν ο κανόνας του firewall επιτρέπει στη διεύθυνση IP μας να αποκτήσει πρόσβαση: ```bash sqlcmd -S .database.windows.net -U -P -d ``` -## References +## Αναφορές - [https://learn.microsoft.com/en-us/azure/azure-sql/azure-sql-iaas-vs-paas-what-is-overview?view=azuresql](https://learn.microsoft.com/en-us/azure/azure-sql/azure-sql-iaas-vs-paas-what-is-overview?view=azuresql) - [https://learn.microsoft.com/en-us/azure/azure-sql/database/single-database-overview?view=azuresql](https://learn.microsoft.com/en-us/azure/azure-sql/database/single-database-overview?view=azuresql) - [https://learn.microsoft.com/en-us/azure/azure-sql/managed-instance/sql-managed-instance-paas-overview?view=azuresql](https://learn.microsoft.com/en-us/azure/azure-sql/managed-instance/sql-managed-instance-paas-overview?view=azuresql) - [https://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/sql-server-on-azure-vm-iaas-what-is-overview?view=azuresql](https://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/sql-server-on-azure-vm-iaas-what-is-overview?view=azuresql) -## Κλιμάκωση Προνομίων +## Privilege Escalation {{#ref}} ../az-privilege-escalation/az-sql-privesc.md {{#endref}} -## Μετά την Εκμετάλλευση +## Post Exploitation {{#ref}} ../az-post-exploitation/az-sql-post-exploitation.md diff --git a/src/pentesting-cloud/azure-security/az-services/az-storage.md b/src/pentesting-cloud/azure-security/az-services/az-storage.md index 130d6691a..9867172cd 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-storage.md +++ b/src/pentesting-cloud/azure-security/az-services/az-storage.md @@ -2,29 +2,29 @@ {{#include ../../../banners/hacktricks-training.md}} -## Βασικές Πληροφορίες +## Βασικές πληροφορίες -Τα Azure Storage Accounts είναι θεμελιώδεις υπηρεσίες στο Microsoft Azure που παρέχουν κλιμακούμενο, ασφαλές και ιδιαίτερα διαθέσιμο cloud **storage for various data types**, συμπεριλαμβανομένων blobs (binary large objects), files, queues και tables. Λειτουργούν ως containers που ομαδοποιούν αυτές τις διαφορετικές storage υπηρεσίες μαζί κάτω από ένα ενιαίο namespace για εύκολη διαχείριση. +Τα Azure Storage Accounts είναι θεμελιώδεις υπηρεσίες στο Microsoft Azure που παρέχουν scalable, secure και highly available cloud **storage για διάφορους τύπους δεδομένων**, συμπεριλαμβανομένων των blobs (binary large objects), files, queues και tables. Λειτουργούν ως containers που ομαδοποιούν αυτές τις διαφορετικές storage services κάτω από ένα ενιαίο namespace για εύκολη διαχείριση. -**Κύριες επιλογές ρύθμισης**: +**Κύριες επιλογές διαμόρφωσης**: -- Κάθε storage account πρέπει να έχει **uniq name across all Azure**. -- Κάθε storage account αναπτύσσεται σε ένα **region** ή σε ένα Azure extended zone -- Είναι δυνατό να επιλεγεί η **premium** έκδοση του storage account για καλύτερη απόδοση -- Είναι δυνατό να επιλεγούν ανάμεσα σε **4 types of redundancy to protect** against rack, drive and datacenter **failures**. +- Κάθε storage account πρέπει να έχει ένα **μοναδικό όνομα σε ολόκληρο το Azure**. +- Κάθε storage account αναπτύσσεται σε μία **region** ή σε ένα Azure extended zone +- Είναι δυνατή η επιλογή της **premium** έκδοσης του storage account για καλύτερη απόδοση +- Είναι δυνατή η επιλογή μεταξύ **4 τύπων redundancy για προστασία** από **failures** σε rack, drive και datacenter. -**Επιλογές ρύθμισης ασφαλείας**: +**Επιλογές διαμόρφωσης ασφάλειας**: -- **Require secure transfer for REST API operations**: Απαιτεί TLS σε κάθε επικοινωνία με το storage -- **Allows enabling anonymous access on individual containers**: Αν όχι, δεν θα είναι δυνατό να ενεργοποιηθεί anonymous access στο μέλλον -- **Enable storage account key access**: Αν όχι, η πρόσβαση με Shared Keys θα απαγορευτεί +- **Require secure transfer for REST API operations**: Απαίτηση TLS σε κάθε επικοινωνία με το storage +- **Allows enabling anonymous access on individual containers**: Αν όχι, δεν θα είναι δυνατή η ενεργοποίηση anonymous access στο μέλλον +- **Enable storage account key access**: Αν όχι, η πρόσβαση με Shared Keys θα απαγορεύεται - **Minimum TLS version** -- **Permitted scope for copy operations**: Επιτρέπει από οποιοδήποτε storage account, από οποιοδήποτε storage account από το ίδιο Entra tenant ή από storage account με private endpoints στο ίδιο virtual network. +- **Permitted scope for copy operations**: Επιτρέπει από οποιοδήποτε storage account, από οποιοδήποτε storage account του ίδιου Entra tenant ή από storage account με private endpoints στο ίδιο virtual network. -**Blob Storage options**: +**Επιλογές Blob Storage**: - **Allow cross-tenant replication** -- **Access tier**: Hot (frequently access data), Cool and Cold (rarely accessed data) +- **Access tier**: Hot (δεδομένα με συχνή πρόσβαση), Cool και Cold (δεδομένα με σπάνια πρόσβαση) **Επιλογές δικτύωσης**: @@ -32,24 +32,24 @@ - Allow from all networks - Allow from selected virtual networks and IP addresses - Disable public access and use private access -- **Private endpoints**: Επιτρέπει μια ιδιωτική σύνδεση στο storage account από ένα virtual network +- **Private endpoints**: Επιτρέπει private connection προς το storage account από ένα virtual network **Επιλογές προστασίας δεδομένων**: -- **Point-in-time restore for containers**: Επιτρέπει την επαναφορά containers σε παλαιότερη κατάσταση +- **Point-in-time restore for containers**: Επιτρέπει την επαναφορά containers σε προηγούμενη κατάσταση - Απαιτεί να είναι ενεργοποιημένα τα versioning, change feed και blob soft delete. -- **Enable soft delete for blobs**: Ενεργοποιεί μια περίοδο διατήρησης σε ημέρες για διαγραμμένα blobs (ακόμα και overwritten) -- **Enable soft delete for containers**: Ενεργοποιεί μια περίοδο διατήρησης σε ημέρες για διαγραμμένα containers -- **Enable soft delete for file shares**: Ενεργοποιεί μια περίοδο διατήρησης σε ημέρες για διαγραμμένα file shared -- **Enable versioning for blobs**: Διατηρεί προηγούμενες εκδόσεις των blobs σου -- **Enable blob change feed**: Διατηρεί logs των αλλαγών create, modification και delete στα blobs -- **Enable version-level immutability support**: Σου επιτρέπει να ορίσεις policy διατήρησης βασισμένη στον χρόνο σε επίπεδο account, η οποία θα εφαρμόζεται σε όλες τις blob εκδόσεις. +- **Enable soft delete for blobs**: Ενεργοποιεί περίοδο retention σε ημέρες για διαγραμμένα blobs (ακόμη και overwritten) +- **Enable soft delete for containers**: Ενεργοποιεί περίοδο retention σε ημέρες για διαγραμμένα containers +- **Enable soft delete for file shares**: Ενεργοποιεί περίοδο retention σε ημέρες για διαγραμμένα file shares +- **Enable versioning for blobs**: Διατηρεί προηγούμενες εκδόσεις των blobs σας +- **Enable blob change feed**: Διατηρεί logs για create, modification και delete changes στα blobs +- **Enable version-level immutability support**: Επιτρέπει τον ορισμό time-based retention policy σε επίπεδο account, η οποία θα εφαρμόζεται σε όλες τις εκδόσεις των blobs. - Το version-level immutability support και το point-in-time restore for containers δεν μπορούν να ενεργοποιηθούν ταυτόχρονα. -**Επιλογές ρύθμισης κρυπτογράφησης**: +**Επιλογές διαμόρφωσης encryption**: -- **Encryption type**: Είναι δυνατό να χρησιμοποιηθούν Microsoft-managed keys (MMK) ή Customer-managed keys (CMK) -- **Enable infrastructure encryption**: Επιτρέπει διπλή κρυπτογράφηση των δεδομένων "for more security" +- **Encryption type**: Είναι δυνατή η χρήση Microsoft-managed keys (MMK) ή Customer-managed keys (CMK) +- **Enable infrastructure encryption**: Επιτρέπει το double encryption των δεδομένων "για περισσότερη ασφάλεια" ### Storage endpoints @@ -64,19 +64,19 @@ ### Public Exposure -Αν το "Allow Blob public access" είναι **enabled** (disabled by default), όταν δημιουργείται ένα container είναι δυνατό να: +Αν το "Allow Blob public access" είναι **ενεργοποιημένο** (απενεργοποιημένο από προεπιλογή), κατά τη δημιουργία ενός container είναι δυνατή η επιλογή: -- Δώσει **public access to read blobs** (πρέπει να ξέρεις το όνομα). -- **List container blobs** και να τα **read**. -- Να γίνει πλήρως **private** +- Παροχή **public access για ανάγνωση blobs** (πρέπει να γνωρίζετε το όνομα). +- **List container blobs** και **read** αυτών. +- Πλήρης μετατροπή του σε **private**
-### Static website (`$web`) exposure & leaked secrets +### Έκθεση static website (`$web`) και leaked secrets -- Τα **Static websites** σερβίρονται από το ειδικό `$web` container μέσω ενός region-specific endpoint όπως `https://.z13.web.core.windows.net/`. -- Το `$web` container μπορεί να εμφανίζει `publicAccess: null` μέσω του blob API, αλλά τα files παραμένουν προσβάσιμα μέσω του static site endpoint, οπότε το να αφήσεις εκεί config/IaC artifacts μπορεί να leak secrets. -- Γρήγορη ροή audit: +- Τα **Static websites** σερβίρονται από το ειδικό `$web` container μέσω ενός region-specific endpoint όπως το `https://.z13.web.core.windows.net/`. +- Το `$web` container μπορεί να αναφέρει `publicAccess: null` μέσω του blob API, αλλά τα αρχεία παραμένουν προσβάσιμα μέσω του static site endpoint, επομένως η τοποθέτηση config/IaC artifacts εκεί μπορεί να leak secrets. +- Γρήγορη ροή ελέγχου: ```bash # Identify storage accounts with static website hosting enabled az storage blob service-properties show --account-name --auth-mode login @@ -87,53 +87,53 @@ az storage blob list --container-name '$web' --account-name --auth-mo # Pull suspicious files directly (e.g., IaC tfvars containing secrets/SAS) az storage blob download -c '$web' --name iac/terraform.tfvars --file /dev/stdout --account-name --auth-mode login ``` -### Ελέγχος anonymous blob exposure +### Έλεγχος έκθεσης anonymous blob -- **Εντοπίστε storage accounts** που μπορούν να εκθέσουν δεδομένα: `az storage account list | jq -r '.[] | select(.properties.allowBlobPublicAccess==true) | .name'`. Αν το `allowBlobPublicAccess` είναι `false` δεν μπορείτε να κάνετε τα containers public. -- **Επιθεωρήστε risky accounts** για να επιβεβαιώσετε το flag και άλλες αδύναμες ρυθμίσεις: `az storage account show --name --query '{allow:properties.allowBlobPublicAccess, minTls:properties.minimumTlsVersion}'`. -- **Απαριθμήστε container-level exposure** όπου το flag είναι enabled: +- **Εντοπίστε storage accounts** που μπορούν να εκθέσουν δεδομένα: `az storage account list | jq -r '.[] | select(.properties.allowBlobPublicAccess==true) | .name'`. Αν το `allowBlobPublicAccess` είναι `false`, δεν μπορείτε να ορίσετε τα containers ως public. +- **Επιθεωρήστε τα risky accounts** για να επιβεβαιώσετε το flag και άλλες αδύναμες ρυθμίσεις: `az storage account show --name --query '{allow:properties.allowBlobPublicAccess, minTls:properties.minimumTlsVersion}'`. +- **Κάντε enumerate την έκθεση σε επίπεδο container** όπου το flag είναι ενεργοποιημένο: ```bash az storage container list --account-name \ --query '[].{name:name, access:properties.publicAccess}' ``` -- `"Blob"`: ανώνυμες αναγνώσεις επιτρέπονται **μόνο όταν το όνομα του blob είναι γνωστό** (χωρίς listing). -- `"Container"`: ανώνυμο **list + read** κάθε blob. -- `null`: private; απαιτείται authentication. -- **Απόδειξε πρόσβαση** χωρίς credentials: -- Αν `publicAccess` είναι `Container`, το anonymous listing λειτουργεί: `curl "https://.blob.core.windows.net/?restype=container&comp=list"`. -- Και για τα δύο `Blob` και `Container`, το anonymous blob download λειτουργεί όταν το όνομα είναι γνωστό: +- `"Blob"`: επιτρέπονται anonymous αναγνώσεις **μόνο όταν είναι γνωστό το όνομα του blob** (χωρίς listing). +- `"Container"`: anonymous **list + read** κάθε blob. +- `null`: private· απαιτείται authentication. +- **Απόδειξη πρόσβασης** χωρίς credentials: +- Αν το `publicAccess` είναι `Container`, λειτουργεί το anonymous listing: `curl "https://.blob.core.windows.net/?restype=container&comp=list"`. +- Για τα `Blob` και `Container`, λειτουργεί το anonymous blob download όταν είναι γνωστό το όνομα: ```bash az storage blob download -c -n --account-name --file /dev/stdout # or via raw HTTP curl "https://.blob.core.windows.net//" ``` -### Connect to Storage +### Σύνδεση στο Storage Αν βρείτε οποιοδήποτε **storage** στο οποίο μπορείτε να συνδεθείτε, μπορείτε να χρησιμοποιήσετε το εργαλείο [**Microsoft Azure Storage Explorer**](https://azure.microsoft.com/es-es/products/storage/storage-explorer/) για να το κάνετε. -## Access to Storage +## Πρόσβαση στο Storage ### RBAC -Είναι δυνατό να χρησιμοποιήσετε Entra ID principals με **RBAC roles** για να αποκτήσετε πρόσβαση σε storage accounts και είναι ο προτεινόμενος τρόπος. +Είναι δυνατή η χρήση principals του Entra ID με **RBAC roles** για την πρόσβαση σε storage accounts και αποτελεί τον προτεινόμενο τρόπο. ### Access Keys -Τα storage accounts έχουν access keys που μπορούν να χρησιμοποιηθούν για να αποκτήσετε πρόσβαση σε αυτά. Αυτό παρέχει f**ull access to the storage account.** +Τα storage accounts διαθέτουν access keys που μπορούν να χρησιμοποιηθούν για την πρόσβαση σε αυτά. Αυτό παρέχει π**λήρη πρόσβαση στο storage account.**
### **Shared Keys & Lite Shared Keys** -Είναι δυνατό να [**generate Shared Keys**](https://learn.microsoft.com/en-us/rest/api/storageservices/authorize-with-shared-key) υπογεγραμμένα με τα access keys για να εξουσιοδοτήσετε πρόσβαση σε ορισμένους πόρους μέσω ενός signed URL. +Είναι δυνατή η [**δημιουργία Shared Keys**](https://learn.microsoft.com/en-us/rest/api/storageservices/authorize-with-shared-key) με υπογραφή μέσω των access keys, για την εξουσιοδότηση πρόσβασης σε συγκεκριμένους πόρους μέσω ενός signed URL. > [!NOTE] -> Σημειώστε ότι το `CanonicalizedResource` μέρος αντιπροσωπεύει τον storage services resource (URI). Και αν οποιοδήποτε μέρος στο URL είναι encoded, θα πρέπει επίσης να είναι encoded και μέσα στο `CanonicalizedResource`. +> Σημειώστε ότι το τμήμα `CanonicalizedResource` αντιπροσωπεύει τον πόρο των storage services (URI). Και αν οποιοδήποτε τμήμα στο URL είναι encoded, θα πρέπει να είναι encoded και μέσα στο `CanonicalizedResource`. > [!NOTE] -> Αυτό χρησιμοποιείται **by default by `az` cli** για να authenticate requests. Για να το κάνετε να χρησιμοποιεί τα Entra ID principal credentials, ορίστε την παράμετρο `--auth-mode login`. +> Αυτό χρησιμοποιείται **από προεπιλογή από το `az` cli** για την authentication των requests. Για να χρησιμοποιεί τα credentials του principal του Entra ID, καθορίστε την παράμετρο `--auth-mode login`. -- Είναι δυνατό να generate ένα **shared key for blob, queue and file services** υπογράφοντας τις ακόλουθες πληροφορίες: +- Είναι δυνατή η δημιουργία ενός **shared key για blob, queue και file services**, με υπογραφή των ακόλουθων πληροφοριών: ```bash StringToSign = VERB + "\n" + Content-Encoding + "\n" + @@ -150,7 +150,7 @@ Range + "\n" + CanonicalizedHeaders + CanonicalizedResource; ``` -- Είναι δυνατό να δημιουργηθεί ένα **shared key for table services** υπογράφοντας τις ακόλουθες πληροφορίες: +- Είναι δυνατή η δημιουργία ενός **κοινόχρηστου κλειδιού για table services** υπογράφοντας τις ακόλουθες πληροφορίες: ```bash StringToSign = VERB + "\n" + Content-MD5 + "\n" + @@ -158,7 +158,7 @@ Content-Type + "\n" + Date + "\n" + CanonicalizedResource; ``` -- Είναι δυνατό να δημιουργηθεί ένα **lite shared key για blob, queue and file services** υπογράφοντας τις ακόλουθες πληροφορίες: +- Είναι δυνατή η δημιουργία ενός **lite shared key για τις υπηρεσίες blob, queue και file**, υπογράφοντας τις ακόλουθες πληροφορίες: ```bash StringToSign = VERB + "\n" + Content-MD5 + "\n" + @@ -167,12 +167,12 @@ Date + "\n" + CanonicalizedHeaders + CanonicalizedResource; ``` -- Είναι δυνατό να δημιουργηθεί ένα **lite shared key for table services** υπογράφοντας τις ακόλουθες πληροφορίες: +- Είναι δυνατό να δημιουργηθεί ένα **lite shared key για table services**, υπογράφοντας τις ακόλουθες πληροφορίες: ```bash StringToSign = Date + "\n" CanonicalizedResource ``` -Στη συνέχεια, για να χρησιμοποιήσεις το key, αυτό μπορεί να γίνει στο Authorization header ακολουθώντας τη σύνταξη: +Στη συνέχεια, για να χρησιμοποιήσετε το key, αυτό μπορεί να γίνει στο Authorization header ακολουθώντας τη σύνταξη: ```bash Authorization="[SharedKey|SharedKeyLite] :" #e.g. @@ -186,68 +186,68 @@ Content-Length: 0 ``` ### **Shared Access Signature** (SAS) -Τα Shared Access Signatures (SAS) είναι ασφαλή, χρονικά περιορισμένα URLs που **grant specific permissions to access resource**s σε ένα Azure Storage account χωρίς να αποκαλύπτουν τα access keys του account. Ενώ τα access keys παρέχουν πλήρη διοικητική πρόσβαση σε όλους τους πόρους, το SAS επιτρέπει λεπτομερή έλεγχο ορίζοντας permissions (όπως read ή write) και καθορίζοντας χρόνο λήξης. +Τα Shared Access Signatures (SAS) είναι ασφαλή URL περιορισμένης χρονικής ισχύος που **παρέχουν συγκεκριμένα δικαιώματα πρόσβασης σε resource**s ενός Azure Storage account χωρίς να εκθέτουν τα access keys του account. Ενώ τα access keys παρέχουν πλήρη administrative access σε όλα τα resources, το SAS επιτρέπει granular control, καθορίζοντας permissions (όπως read ή write) και ορίζοντας χρόνο λήξης. -#### SAS Types +#### Τύποι SAS -- **User delegation SAS**: Αυτό δημιουργείται από ένα **Entra ID principal** το οποίο θα υπογράψει το SAS και θα μεταβιβάσει τα permissions από τον user στο SAS. Μπορεί να χρησιμοποιηθεί μόνο με **blob and data lake storage** ([docs](https://learn.microsoft.com/en-us/rest/api/storageservices/create-user-delegation-sas)). Είναι δυνατό να **revoke** όλα τα generated user delegated SAS. -- Ακόμα κι αν είναι δυνατό να δημιουργηθεί ένα delegation SAS με "περισσότερα" permissions από αυτά που έχει ο user. Ωστόσο, αν το principal δεν τα έχει, δεν θα λειτουργήσει (no privesc). -- **Service SAS**: Αυτό υπογράφεται χρησιμοποιώντας ένα από τα storage account **access keys**. Μπορεί να χρησιμοποιηθεί για να δοθεί πρόσβαση σε συγκεκριμένους πόρους σε ένα single storage service. Αν το key ανανεωθεί, το SAS θα σταματήσει να λειτουργεί. -- **Account SAS**: Επίσης υπογράφεται με ένα από τα storage account **access keys**. Παρέχει πρόσβαση σε πόρους σε όλα τα storage account services (Blob, Queue, Table, File) και μπορεί να περιλαμβάνει service-level operations. +- **User delegation SAS**: Δημιουργείται από έναν **Entra ID principal**, ο οποίος υπογράφει το SAS και εκχωρεί τα permissions από τον user στο SAS. Μπορεί να χρησιμοποιηθεί μόνο με **blob και data lake storage** ([docs](https://learn.microsoft.com/en-us/rest/api/storageservices/create-user-delegation-sas)). Είναι δυνατή η **ανάκληση** όλων των user delegated SAS που έχουν δημιουργηθεί. +- Ακόμη και αν είναι δυνατή η δημιουργία ενός delegation SAS με "περισσότερα" permissions από αυτά που διαθέτει ο user, αν ο principal δεν τα έχει, δεν θα λειτουργήσει (no privesc). +- **Service SAS**: Υπογράφεται με τη χρήση ενός από τα **access keys** του storage account. Μπορεί να χρησιμοποιηθεί για την παροχή πρόσβασης σε συγκεκριμένα resources σε ένα μόνο storage service. Αν το key ανανεωθεί, το SAS θα σταματήσει να λειτουργεί. +- **Account SAS**: Υπογράφεται επίσης με ένα από τα **access keys** του storage account. Παρέχει πρόσβαση σε resources σε όλα τα storage account services (Blob, Queue, Table, File) και μπορεί να περιλαμβάνει service-level operations. -Ένα SAS URL υπογεγραμμένο από ένα **access key** μοιάζει έτσι: +Ένα SAS URL υπογεγραμμένο με **access key** έχει την εξής μορφή: - `https://.blob.core.windows.net/newcontainer?sp=r&st=2021-09-26T18:15:21Z&se=2021-10-27T02:14:21Z&spr=https&sv=2021-07-08&sr=c&sig=7S%2BZySOgy4aA3Dk0V1cJyTSIf1cW%2Fu3WFkhHV32%2B4PE%3D` -Ένα SAS URL υπογεγραμμένο ως **user delegation** μοιάζει έτσι: +Ένα SAS URL υπογεγραμμένο ως **user delegation** έχει την εξής μορφή: - `https://.blob.core.windows.net/testing-container?sp=r&st=2024-11-22T15:07:40Z&se=2024-11-22T23:07:40Z&skoid=d77c71a1-96e7-483d-bd51-bd753aa66e62&sktid=fdd066e1-ee37-49bc-b08f-d0e152119b04&skt=2024-11-22T15:07:40Z&ske=2024-11-22T23:07:40Z&sks=b&skv=2022-11-02&spr=https&sv=2022-11-02&sr=c&sig=7s5dJyeE6klUNRulUj9TNL0tMj2K7mtxyRc97xbYDqs%3D` -Σημείωσε μερικά **http params**: +Σημειώστε ορισμένα **http params**: -- Το **`se`** param δείχνει την **expiration date** του SAS -- Το **`sp`** param δείχνει τα **permissions** του SAS -- Το **`sig`** είναι το **signature** που επικυρώνει το SAS +- Το **`se`** param υποδεικνύει την **ημερομηνία λήξης** του SAS +- Το **`sp`** param υποδεικνύει τα **permissions** του SAS +- Το **`sig`** είναι η **signature** που επικυρώνει το SAS #### SAS permissions -Όταν δημιουργείται ένα SAS, χρειάζεται να δηλωθούν τα permissions που θα παρέχει. Ανάλογα με το object πάνω στο οποίο δημιουργείται το SAS, μπορεί να περιλαμβάνονται διαφορετικά permissions. Για παράδειγμα: +Κατά τη δημιουργία ενός SAS πρέπει να καθοριστούν τα permissions που θα παρέχει. Ανάλογα με το object για το οποίο δημιουργείται το SAS, μπορεί να περιλαμβάνονται διαφορετικά permissions. Για παράδειγμα: - (a)dd, (c)reate, (d)elete, (e)xecute, (f)ilter_by_tags, (i)set_immutability_policy, (l)ist, (m)ove, (r)ead, (t)ag, (w)rite, (x)delete_previous_version, (y)permanent_delete ## SFTP Support for Azure Blob Storage -Το Azure Blob Storage τώρα υποστηρίζει το SSH File Transfer Protocol (SFTP), επιτρέποντας ασφαλή μεταφορά και διαχείριση αρχείων απευθείας στο Blob Storage χωρίς να απαιτούνται custom λύσεις ή third-party products. +Το Azure Blob Storage υποστηρίζει πλέον το SSH File Transfer Protocol (SFTP), επιτρέποντας ασφαλή μεταφορά και διαχείριση αρχείων απευθείας στο Blob Storage χωρίς να απαιτούνται custom solutions ή third-party products. -### Key Features +### Βασικά χαρακτηριστικά -- Protocol Support: Το SFTP λειτουργεί με Blob Storage accounts που είναι ρυθμισμένα με hierarchical namespace (HNS). Αυτό οργανώνει τα blobs σε directories και subdirectories για ευκολότερη πλοήγηση. -- Security: Το SFTP μπορεί να χρησιμοποιήσει local user identities, αλλά υποστηρίζει επίσης πρόσβαση βασισμένη σε Microsoft Entra ID με Azure RBAC για authorization. Αυτό σημαίνει ότι η πρόσβαση μπορεί να δοθεί με τους συνηθισμένους Blob Storage data-plane roles αντί να δημιουργούνται local SFTP users. Οι local users μπορούν να authenticate μέσω: -- Azure-generated passwords +- Protocol Support: Το SFTP λειτουργεί με Blob Storage accounts που έχουν ρυθμισμένο hierarchical namespace (HNS). Αυτό οργανώνει τα blobs σε directories και subdirectories για ευκολότερη πλοήγηση. +- Security: Το SFTP μπορεί να χρησιμοποιεί local user identities, αλλά υποστηρίζει επίσης πρόσβαση βασισμένη σε Microsoft Entra ID με Azure RBAC για authorization. Αυτό σημαίνει ότι η πρόσβαση μπορεί να εκχωρηθεί με τα συνηθισμένα Blob Storage data-plane roles, αντί να δημιουργούνται local SFTP users. Οι local users μπορούν να κάνουν authentication μέσω: +- Passwords που δημιουργούνται από το Azure - Public-private SSH key pairs -- Granular Permissions: Permissions όπως Read, Write, Delete και List μπορούν να ανατεθούν σε local users για έως 100 containers. -- Networking Considerations: Οι SFTP connections γίνονται μέσω port 22. Το Azure υποστηρίζει network configurations όπως firewalls, private endpoints ή virtual networks για να ασφαλίσει το SFTP traffic. +- Granular Permissions: Permissions όπως Read, Write, Delete και List μπορούν να εκχωρηθούν σε local users για έως και 100 containers. +- Networking Considerations: Οι SFTP connections πραγματοποιούνται μέσω του port 22. Το Azure υποστηρίζει network configurations όπως firewalls, private endpoints ή virtual networks για την ασφάλιση του SFTP traffic. -### Setup Requirements +### Απαιτήσεις εγκατάστασης -- Hierarchical Namespace: Το HNS πρέπει να είναι enabled όταν δημιουργείται το storage account. -- Supported Encryption: Απαιτεί Microsoft Security Development Lifecycle (SDL)-approved cryptographic algorithms (π.χ. rsa-sha2-256, ecdsa-sha2-nistp256). +- Hierarchical Namespace: Το HNS πρέπει να είναι ενεργοποιημένο κατά τη δημιουργία του storage account. +- Supported Encryption: Απαιτεί cryptographic algorithms εγκεκριμένους από το Microsoft Security Development Lifecycle (SDL) (π.χ. rsa-sha2-256, ecdsa-sha2-nistp256). - SFTP Configuration: -- Enable SFTP στο storage account. -- Για local-user access, δημιούργησε local user identities με τα κατάλληλα permissions. -- Για local users, ρύθμισε home directories ώστε να ορίσεις την αρχική τους τοποθεσία μέσα στο container. +- Ενεργοποιήστε το SFTP στο storage account. +- Για local-user access, δημιουργήστε local user identities με τα κατάλληλα permissions. +- Για local users, ρυθμίστε home directories ώστε να ορίσετε την αρχική τους τοποθεσία μέσα στο container. ### Permissions | Permission | Symbol | Description | | ---------------------- | ------ | ------------------------------------ | -| **Read** | `r` | Read file content. | -| **Write** | `w` | Upload files and create directories. | -| **List** | `l` | List contents of directories. | -| **Delete** | `d` | Delete files or directories. | -| **Create** | `c` | Create files or directories. | -| **Modify Ownership** | `o` | Change the owning user or group. | -| **Modify Permissions** | `p` | Change ACLs on files or directories. | +| **Read** | `r` | Ανάγνωση περιεχομένου αρχείων. | +| **Write** | `w` | Upload αρχείων και δημιουργία directories. | +| **List** | `l` | Εμφάνιση των περιεχομένων των directories. | +| **Delete** | `d` | Διαγραφή αρχείων ή directories. | +| **Create** | `c` | Δημιουργία αρχείων ή directories. | +| **Modify Ownership** | `o` | Αλλαγή του owning user ή group. | +| **Modify Permissions** | `p` | Αλλαγή των ACLs σε αρχεία ή directories. | ## Enumeration @@ -448,13 +448,13 @@ New-AzStorageBlobSASToken ` az-file-shares.md {{#endref}} -## Κλιμάκωση Προνομίων +## Privilege Escalation {{#ref}} ../az-privilege-escalation/az-storage-privesc.md {{#endref}} -## Μετά την Εκμετάλλευση +## Post Exploitation {{#ref}} ../az-post-exploitation/az-blob-storage-post-exploitation.md