mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2025-12-30 22:50:43 -08:00
Translated ['src/pentesting-cloud/azure-security/az-services/az-sql.md']
This commit is contained in:
@@ -11,7 +11,7 @@ Azure SQL besteht aus vier Hauptangeboten:
|
||||
1. **Azure SQL Server**: Ein Server wird für die **Bereitstellung und Verwaltung** von SQL Server-Datenbanken benötigt.
|
||||
2. **Azure SQL-Datenbank**: Dies ist ein **vollständig verwalteter Datenbankdienst**, der es Ihnen ermöglicht, einzelne Datenbanken in der Azure-Cloud zu hosten.
|
||||
3. **Azure SQL Managed Instance**: Dies ist für größere, gesamte SQL Server-Instanz-Umsetzungen.
|
||||
4. **Azure SQL Server auf Azure VMs**: Dies ist am besten für Architekturen geeignet, in denen Sie **Kontrolle über das Betriebssystem** und die SQL Server-Instanz haben möchten.
|
||||
4. **Azure SQL Server auf Azure-VMs**: Dies ist am besten für Architekturen geeignet, bei denen Sie **Kontrolle über das Betriebssystem** und die SQL Server-Instanz wünschen.
|
||||
|
||||
### SQL Server-Sicherheitsfunktionen
|
||||
|
||||
@@ -37,7 +37,7 @@ Beachten Sie, dass, wenn eine SQL-Authentifizierung erlaubt ist, ein Administrat
|
||||
**Verwaltete Identitäten:**
|
||||
|
||||
- Es ist möglich, system- und benutzerverwaltete MIs zuzuweisen.
|
||||
- Wird verwendet, um auf den Verschlüsselungsschlüssel (wenn ein CMEK verwendet wird) und andere Dienste aus den Datenbanken zuzugreifen.
|
||||
- Wird verwendet, um auf den Verschlüsselungsschlüssel zuzugreifen (wenn ein CMEK verwendet wird) und auf andere Dienste von den Datenbanken.
|
||||
- Für einige Beispiele der Azure-Dienste, die von der Datenbank aus zugegriffen werden können, siehe [diese Seite der Dokumentation](https://learn.microsoft.com/en-us/sql/t-sql/statements/create-external-data-source-transact-sql)
|
||||
- Wenn mehr als eine UMI zugewiesen ist, ist es möglich, die Standard-UMI anzugeben, die verwendet werden soll.
|
||||
- Es ist möglich, eine föderierte Client-Identität für den Zugriff über Mandanten hinweg zu konfigurieren.
|
||||
@@ -76,18 +76,18 @@ GO
|
||||
- Die Backup-Frequenz wird in den Aufbewahrungsrichtlinien verwaltet.
|
||||
|
||||
**Gelöschte Datenbanken:**
|
||||
- Es ist möglich, DBs, die aus vorhandenen Backups gelöscht wurden, wiederherzustellen.
|
||||
- Es ist möglich, DBs, die aus bestehenden Backups gelöscht wurden, wiederherzustellen.
|
||||
|
||||
## Azure SQL-Datenbank
|
||||
|
||||
**Azure SQL-Datenbank** ist eine **vollständig verwaltete Datenbankplattform als Dienst (PaaS)**, die skalierbare und sichere relationale Datenbanklösungen bietet. Sie basiert auf den neuesten SQL Server-Technologien und beseitigt die Notwendigkeit der Infrastrukturverwaltung, was sie zu einer beliebten Wahl für cloudbasierte Anwendungen macht.
|
||||
**Azure SQL-Datenbank** ist eine **vollständig verwaltete Datenbankplattform als Dienst (PaaS)**, die skalierbare und sichere relationale Datenbanklösungen bietet. Sie basiert auf den neuesten SQL Server-Technologien und beseitigt die Notwendigkeit für Infrastrukturmanagement, was sie zu einer beliebten Wahl für cloudbasierte Anwendungen macht.
|
||||
|
||||
Um eine SQL-Datenbank zu erstellen, muss der SQL-Server angegeben werden, auf dem sie gehostet wird.
|
||||
|
||||
### Sicherheitsfunktionen der SQL-Datenbank
|
||||
### Sicherheitsmerkmale der SQL-Datenbank
|
||||
|
||||
- **Immer auf dem neuesten Stand**: Läuft auf der neuesten stabilen Version von SQL Server und erhält automatisch neue Funktionen und Patches.
|
||||
- **Vererbte Sicherheitsfunktionen von SQL Server:**
|
||||
- **Vererbte Sicherheitsmerkmale von SQL Server:**
|
||||
- Authentifizierung (SQL und/oder Entra ID)
|
||||
- Zugewiesene verwaltete Identitäten
|
||||
- Netzwerkbeschränkungen
|
||||
@@ -95,28 +95,28 @@ Um eine SQL-Datenbank zu erstellen, muss der SQL-Server angegeben werden, auf de
|
||||
- Backups
|
||||
- …
|
||||
- **Datenredundanz:** Optionen sind lokal, zonen-, geo- oder geo-zonenredundant.
|
||||
- **Ledger:** Es überprüft kryptografisch die Integrität der Daten und stellt sicher, dass Manipulationen erkannt werden. Nützlich für Finanz-, Medizin- und jede Organisation, die mit sensiblen Daten umgeht.
|
||||
- **Ledger:** Es verifiziert kryptografisch die Integrität der Daten und stellt sicher, dass jede Manipulation erkannt wird. Nützlich für Finanz-, Medizin- und jede Organisation, die mit sensiblen Daten umgeht.
|
||||
|
||||
Eine SQL-Datenbank könnte Teil eines **Elastic Pools** sein. Elastic Pools sind eine kosteneffiziente Lösung zur Verwaltung mehrerer Datenbanken, indem konfigurierbare Rechen- (eDTUs) und Speicherressourcen unter ihnen geteilt werden, wobei die Preisgestaltung ausschließlich auf den zugewiesenen Ressourcen und nicht auf der Anzahl der Datenbanken basiert.
|
||||
|
||||
#### Azure SQL-Spaltenebene-Sicherheit (Maskierung) & Zeilenebene-Sicherheit
|
||||
|
||||
**Die dynamische** Datenmaskierung von Azure SQL ist eine Funktion, die **sensible Informationen schützt, indem sie sie** vor unbefugten Benutzern verbirgt. Anstatt die tatsächlichen Daten zu ändern, maskiert sie dynamisch die angezeigten Daten, sodass sensible Details wie Kreditkartennummern unkenntlich gemacht werden.
|
||||
**Die dynamische** Datenmaskierung von Azure SQL ist eine Funktion, die **sensible Informationen schützt, indem sie sie** vor unbefugten Benutzern verbirgt. Anstatt die tatsächlichen Daten zu ändern, maskiert sie dynamisch die angezeigten Daten, sodass sensible Details wie Kreditkartennummern verborgen bleiben.
|
||||
|
||||
Die **dynamische Datenmaskierung** betrifft alle Benutzer, außer denjenigen, die nicht maskiert sind (diese Benutzer müssen angegeben werden) und Administratoren. Es gibt die Konfigurationsoption, die angibt, welche SQL-Benutzer von der dynamischen Datenmaskierung ausgenommen sind, wobei **Administratoren immer ausgeschlossen** sind.
|
||||
Die **dynamische Datenmaskierung** betrifft alle Benutzer, außer denjenigen, die nicht maskiert sind (diese Benutzer müssen angegeben werden) und Administratoren. Sie hat die Konfigurationsoption, die angibt, welche SQL-Benutzer von der dynamischen Datenmaskierung ausgenommen sind, wobei **Administratoren immer ausgeschlossen** sind.
|
||||
|
||||
**Azure SQL-Zeilenebene-Sicherheit (RLS)** ist eine Funktion, die **steuert, welche Zeilen ein Benutzer sehen oder ändern kann**, sodass jeder Benutzer nur die für ihn relevanten Daten sieht. Durch die Erstellung von Sicherheitsrichtlinien mit Filter- oder Blockprädikaten können Organisationen einen feingranularen Zugriff auf Datenbankebene durchsetzen.
|
||||
**Azure SQL-Zeilenebene-Sicherheit (RLS)** ist eine Funktion, die **steuert, welche Zeilen ein Benutzer anzeigen oder ändern kann**, sodass jeder Benutzer nur die für ihn relevanten Daten sieht. Durch die Erstellung von Sicherheitsrichtlinien mit Filter- oder Blockprädikaten können Organisationen einen feingranularen Zugriff auf Datenbankebene durchsetzen.
|
||||
|
||||
### Azure SQL Managed Instance
|
||||
|
||||
**Azure SQL Managed Instances** sind für größere, gesamte SQL Server-Instanz-Scoped-Bereitstellungen. Sie bieten nahezu 100% Kompatibilität mit dem neuesten SQL Server vor Ort (Enterprise Edition) Datenbank-Engine, die eine native Implementierung des virtuellen Netzwerks (VNet) bietet, die häufige Sicherheitsbedenken anspricht, und ein Geschäftsmodell, das für lokale SQL Server-Kunden vorteilhaft ist.
|
||||
**Azure SQL Managed Instances** sind für größere, gesamte SQL Server-Instanz-Scoped-Bereitstellungen. Sie bietet nahezu 100% Kompatibilität mit dem neuesten SQL Server vor Ort (Enterprise Edition) Datenbank-Engine, die eine native Implementierung des virtuellen Netzwerks (VNet) bietet, die häufige Sicherheitsbedenken anspricht, und ein Geschäftsmodell, das für lokale SQL Server-Kunden vorteilhaft ist.
|
||||
|
||||
### Azure SQL-VMs
|
||||
|
||||
**Azure SQL-VMs** ermöglichen es, **das Betriebssystem** und die SQL Server-Instanz zu **steuern**, da eine VM im VM-Dienst gestartet wird, der den SQL-Server ausführt.
|
||||
**Azure SQL-VMs** ermöglichen es, **das Betriebssystem** und die SQL Server-Instanz zu **steuern**, da eine VM im VM-Dienst, der den SQL-Server ausführt, erstellt wird.
|
||||
|
||||
Wenn eine SQL-VM erstellt wird, ist es möglich, **alle Einstellungen der VM auszuwählen** (wie in der VM-Lektion gezeigt), die den SQL-Server hosten wird.
|
||||
- Das bedeutet, dass die VM auf einige VNet(s) zugreifen wird, möglicherweise **verwaltete Identitäten angehängt** hat, Datei-Share gemountet haben könnte… was ein **Pivoting vom SQL** zur VM super interessant macht.
|
||||
- Das bedeutet, dass die VM auf einige VNet(s) zugreifen wird, möglicherweise **verwaltete Identitäten** angehängt hat, Datei-Share gemountet haben könnte… was ein **Pivoting vom SQL** zur VM super interessant macht.
|
||||
- Darüber hinaus ist es möglich, eine App-ID und ein Geheimnis zu konfigurieren, um **dem SQL den Zugriff auf einen bestimmten Schlüsselbund zu ermöglichen**, der sensible Informationen enthalten könnte.
|
||||
|
||||
Es ist auch möglich, Dinge wie **automatische SQL-Updates**, **automatische Backups**, **Entra ID-Authentifizierung** und die meisten Funktionen der anderen SQL-Dienste zu konfigurieren.
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user