mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-07-28 22:51:09 -07:00
Translated ['src/pentesting-cloud/azure-security/az-services/az-sql.md']
This commit is contained in:
@@ -10,7 +10,7 @@ Azure SQL składa się z czterech głównych ofert:
|
||||
|
||||
1. **Azure SQL Server**: Serwer jest potrzebny do **wdrażania i zarządzania** bazami danych SQL Server.
|
||||
2. **Azure SQL Database**: To **w pełni zarządzana usługa bazy danych**, która pozwala na hostowanie pojedynczych baz danych w chmurze Azure.
|
||||
3. **Azure SQL Managed Instance**: To rozwiązanie dla większych wdrożeń w skali całej instancji SQL Server.
|
||||
3. **Azure SQL Managed Instance**: To dla większych wdrożeń w skali, obejmujących całe instancje SQL Server.
|
||||
4. **Azure SQL Server na maszynach wirtualnych Azure**: To najlepsze rozwiązanie dla architektur, w których chcesz **mieć kontrolę nad systemem operacyjnym** i instancją SQL Server.
|
||||
|
||||
### Funkcje zabezpieczeń SQL Server
|
||||
@@ -32,15 +32,15 @@ Należy pamiętać, że jeśli dozwolone jest jakiekolwiek uwierzytelnianie SQL,
|
||||
|
||||
**Szyfrowanie:**
|
||||
|
||||
- Nazywa się to „Szyfrowanie danych w trybie transparentnym” i szyfruje bazy danych, kopie zapasowe i logi w spoczynku.
|
||||
- Nazywa się to „Szyfrowanie danych w trybie przezroczystym” i szyfruje bazy danych, kopie zapasowe i logi w spoczynku.
|
||||
- Jak zawsze, domyślnie używany jest zarządzany klucz Azure, ale można również użyć klucza szyfrowania zarządzanego przez klienta (CMEK).
|
||||
**Zarządzane tożsamości:**
|
||||
|
||||
- Możliwe jest przypisanie zarządzanych tożsamości systemowych i użytkowników.
|
||||
- Możliwe jest przypisanie systemowych i użytkownikowych zarządzanych tożsamości (MIs).
|
||||
- Używane do uzyskiwania dostępu do klucza szyfrowania (jeśli używany jest CMEK) i innych usług z baz danych.
|
||||
- Aby zobaczyć przykłady usług Azure, które można uzyskać z bazy danych, sprawdź [tę stronę dokumentacji](https://learn.microsoft.com/en-us/sql/t-sql/statements/create-external-data-source-transact-sql).
|
||||
- Jeśli przypisano więcej niż jedną UMI, możliwe jest wskazanie domyślnej do użycia.
|
||||
- Możliwe jest skonfigurowanie tożsamości klienta federacyjnego do dostępu między tenantami.
|
||||
- Możliwe jest skonfigurowanie tożsamości klienta federacyjnego do dostępu międzydzierżawczego.
|
||||
|
||||
Niektóre polecenia do uzyskiwania informacji wewnątrz magazynu blob z bazy danych SQL:
|
||||
```sql
|
||||
@@ -80,7 +80,7 @@ GO
|
||||
|
||||
## Azure SQL Database
|
||||
|
||||
**Azure SQL Database** to **w pełni zarządzana platforma baz danych jako usługa (PaaS)**, która oferuje skalowalne i bezpieczne rozwiązania relacyjnych baz danych. Jest zbudowana na najnowszych technologiach SQL Server i eliminuje potrzebę zarządzania infrastrukturą, co czyni ją popularnym wyborem dla aplikacji w chmurze.
|
||||
**Azure SQL Database** to **w pełni zarządzana platforma baz danych jako usługa (PaaS)**, która zapewnia skalowalne i bezpieczne rozwiązania baz danych relacyjnych. Jest zbudowana na najnowszych technologiach SQL Server i eliminuje potrzebę zarządzania infrastrukturą, co czyni ją popularnym wyborem dla aplikacji w chmurze.
|
||||
|
||||
Aby utworzyć bazę danych SQL, należy wskazać serwer SQL, na którym będzie hostowana.
|
||||
|
||||
@@ -97,7 +97,7 @@ Aby utworzyć bazę danych SQL, należy wskazać serwer SQL, na którym będzie
|
||||
- **Redundancja danych:** Opcje to lokalna, strefowa, Geo lub Geo-Zone redundant.
|
||||
- **Księga:** Kryptograficznie weryfikuje integralność danych, zapewniając, że wszelkie manipulacje są wykrywane. Przydatne dla finansów, medycyny i każdej organizacji zarządzającej wrażliwymi danymi.
|
||||
|
||||
Baza danych SQL może być częścią **elastycznego zbioru**. Elastyczne zbiory to opłacalne rozwiązanie do zarządzania wieloma bazami danych poprzez dzielenie konfigurowalnych zasobów obliczeniowych (eDTUs) i pamięci masowej, z ceną opartą wyłącznie na przydzielonych zasobach, a nie na liczbie baz danych.
|
||||
Baza danych SQL może być częścią **puli elastycznej**. Puli elastyczne to opłacalne rozwiązanie do zarządzania wieloma bazami danych poprzez dzielenie konfigurowalnych zasobów obliczeniowych (eDTUs) i pamięci masowej, z ceną opartą wyłącznie na przydzielonych zasobach, a nie na liczbie baz danych.
|
||||
|
||||
#### Azure SQL Column Level Security (Masking) & Row Level Security
|
||||
|
||||
@@ -109,7 +109,7 @@ Baza danych SQL może być częścią **elastycznego zbioru**. Elastyczne zbiory
|
||||
|
||||
### Azure SQL Managed Instance
|
||||
|
||||
**Azure SQL Managed Instances** są przeznaczone do większych wdrożeń w skali całej instancji SQL Server. Oferuje niemal 100% zgodności z najnowszym silnikiem bazy danych SQL Server w wersji lokalnej (Enterprise Edition), który zapewnia natywną implementację wirtualnej sieci (VNet), odpowiadającą na powszechne obawy dotyczące bezpieczeństwa, oraz model biznesowy korzystny dla klientów SQL Server w wersji lokalnej.
|
||||
**Azure SQL Managed Instances** są przeznaczone do większych wdrożeń w skali całej instancji SQL Server. Zapewnia niemal 100% zgodności z najnowszym silnikiem bazy danych SQL Server w wersji lokalnej (Enterprise Edition), który oferuje natywną implementację sieci wirtualnej (VNet), rozwiązującą powszechne problemy z bezpieczeństwem, oraz model biznesowy korzystny dla klientów SQL Server w wersji lokalnej.
|
||||
|
||||
### Azure SQL Virtual Machines
|
||||
|
||||
@@ -121,7 +121,7 @@ Gdy tworzona jest maszyna wirtualna SQL, możliwe jest **wybranie wszystkich ust
|
||||
|
||||
Możliwe jest również skonfigurowanie takich rzeczy jak **automatyczne aktualizacje SQL**, **automatyczne kopie zapasowe**, **uwierzytelnianie Entra ID** oraz większość funkcji innych usług SQL.
|
||||
|
||||
## Enumeracja
|
||||
## Enumeration
|
||||
|
||||
{{#tabs}}
|
||||
{{#tab name="az cli"}}
|
||||
@@ -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"
|
||||
@@ -285,7 +285,7 @@ ON sp.object_id = sp2.object_id;
|
||||
```
|
||||
### Połącz i uruchom zapytania SQL
|
||||
|
||||
Możesz znaleźć ciąg połączenia (zawierający dane uwierzytelniające) w przykładzie [enumerating an Az WebApp](az-app-services.md):
|
||||
Możesz znaleźć ciąg połączenia (zawierający dane uwierzytelniające) z przykładu [enumerating an Az WebApp](az-app-services.md):
|
||||
```bash
|
||||
function invoke-sql{
|
||||
param($query)
|
||||
|
||||
Reference in New Issue
Block a user