mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-02-04 11:07:37 -08:00
Translated ['src/pentesting-cloud/azure-security/az-services/az-sql.md']
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
|
||||
## Azure SQL
|
||||
|
||||
Azure SQL je porodica upravljanih, sigurnih i inteligentnih proizvoda koji koriste **SQL Server bazu podataka u Azure cloud-u**. To znači da ne morate brinuti o fizičkom upravljanju vašim serverima, a možete se fokusirati na upravljanje vašim podacima.
|
||||
Azure SQL je porodica upravljanih, sigurnih i inteligentnih proizvoda koji koriste **SQL Server bazu podataka u Azure cloud-u**. To znači da ne morate brinuti o fizičkoj administraciji vaših servera, a možete se fokusirati na upravljanje vašim podacima.
|
||||
|
||||
Azure SQL se sastoji od četiri glavne ponude:
|
||||
|
||||
@@ -19,14 +19,14 @@ Azure SQL se sastoji od četiri glavne ponude:
|
||||
|
||||
- Javni krajnji tačka (može ograničiti pristup na specifične mreže).
|
||||
- Privatne krajnje tačke.
|
||||
- Takođe je moguće ograničiti konekcije na osnovu imena domena.
|
||||
- Takođe je moguće ograničiti veze na osnovu imena domena.
|
||||
- Takođe je moguće dozvoliti Azure uslugama da mu pristupe (kao što je korišćenje Query editora u portalu ili dozvoliti Azure VM-u da se poveže).
|
||||
|
||||
**Metode autentifikacije:**
|
||||
|
||||
- Microsoft **Entra-only** autentifikacija: Potrebno je da navedete Entra principe koji će imati pristup usluzi.
|
||||
- **Obe SQL i Microsoft Entra** autentifikacije: Tradicionalna SQL autentifikacija sa korisničkim imenom i lozinkom uz Microsoft Entra.
|
||||
- **Samo SQL** autentifikacija: Dozvoljava pristup samo putem korisnika baze podataka.
|
||||
- **Samo SQL** autentifikacija: Dozvoliti pristup samo putem korisnika baze podataka.
|
||||
|
||||
Napomena da ako je bilo koja SQL autentifikacija dozvoljena, potrebno je navesti admin korisnika (korisničko ime + lozinka) i ako je izabrana Entra ID autentifikacija, takođe je potrebno navesti barem jednog principa sa admin pristupom.
|
||||
|
||||
@@ -34,9 +34,9 @@ Napomena da ako je bilo koja SQL autentifikacija dozvoljena, potrebno je navesti
|
||||
|
||||
- Zove se “Transparentna enkripcija podataka” i enkriptuje baze podataka, rezervne kopije i logove u mirovanju.
|
||||
- Kao i uvek, podrazumevano se koristi Azure upravljani ključ, ali se može koristiti i ključ za enkripciju koji upravlja kupac (CMEK).
|
||||
**Upravljane identitete:**
|
||||
**Upravljane Identitete:**
|
||||
|
||||
- Moguće je dodeliti sistemske i korisnički upravljane MI.
|
||||
- Moguće je dodeliti sistemske i korisnički upravljane MIs.
|
||||
- Koristi se za pristup ključu za enkripciju (ako se koristi CMEK) i drugim uslugama iz baza podataka.
|
||||
- Za neke primere Azure usluga koje se mogu pristupiti iz baze podataka, proverite [ovu stranicu dokumenata](https://learn.microsoft.com/en-us/sql/t-sql/statements/create-external-data-source-transact-sql)
|
||||
- Ako je dodeljeno više od jednog UMI, moguće je navesti podrazumevanu koju koristiti.
|
||||
@@ -87,15 +87,15 @@ Da bi se kreirala SQL baza podataka, potrebno je naznačiti SQL server na kojem
|
||||
### SQL Database Security Features
|
||||
|
||||
- **Uvek ažurirano**: Radi na najnovijoj stabilnoj verziji SQL Server-a i automatski prima nove funkcije i zakrpe.
|
||||
- **Nasleđene sigurnosne funkcije SQL Server-a:**
|
||||
- **Nasleđene sigurnosne karakteristike SQL Server-a:**
|
||||
- Autentifikacija (SQL i/ili Entra ID)
|
||||
- Dodeljene upravljane identitete
|
||||
- Mrežna ograničenja
|
||||
- Ograničenja mreže
|
||||
- Enkripcija
|
||||
- Backup-ovi
|
||||
- …
|
||||
- **Redundancija podataka:** Opcije su lokalne, zonalne, Geo ili Geo-Zona redundantne.
|
||||
- **Knjiga:** Kriptografski verifikuje integritet podataka, osiguravajući da se svako neovlašćeno menjanje otkrije. Korisno za finansijske, medicinske i svaku organizaciju koja upravlja osetljivim podacima.
|
||||
- **Knjiga:** Kriptografski verifikuje integritet podataka, osiguravajući da se svako manipulisanje otkrije. Korisno za finansijske, medicinske i svaku organizaciju koja upravlja osetljivim podacima.
|
||||
|
||||
SQL baza podataka može biti deo **elastičnog bazena**. Elastični bazeni su isplativo rešenje za upravljanje više baza podataka deljenjem konfigurisivih računarskih (eDTUs) i skladišnih resursa među njima, pri čemu se cena zasniva isključivo na dodeljenim resursima, a ne na broju baza podataka.
|
||||
|
||||
@@ -103,19 +103,19 @@ SQL baza podataka može biti deo **elastičnog bazena**. Elastični bazeni su is
|
||||
|
||||
**Dinamičko** maskiranje podataka **Azure SQL** je funkcija koja pomaže **u zaštiti osetljivih informacija skrivajući ih** od neovlašćenih korisnika. Umesto da menja stvarne podatke, dinamički maskira prikazane podatke, osiguravajući da su osetljivi detalji poput brojeva kreditnih kartica zamagljeni.
|
||||
|
||||
**Dinamičko maskiranje podataka** utiče na sve korisnike osim onih koji su nemaskirani (ti korisnici moraju biti naznačeni) i administratore. Ima opciju konfiguracije koja specificira koji SQL korisnici su izuzeti od dinamičkog maskiranja podataka, pri čemu su **administratori uvek isključeni**.
|
||||
**Dinamičko maskiranje podataka** utiče na sve korisnike osim onih koji su otkriveni (ti korisnici moraju biti naznačeni) i administratore. Ima opciju konfiguracije koja specificira koji SQL korisnici su izuzeti od dinamičkog maskiranja podataka, pri čemu su **administratori uvek isključeni**.
|
||||
|
||||
**Azure SQL Row Level Security (RLS)** je funkcija koja **kontroliše koje redove korisnik može da vidi ili menja**, osiguravajući da svaki korisnik vidi samo podatke relevantne za njega. Kreiranjem sigurnosnih politika sa filtrima ili blok predikatom, organizacije mogu primeniti preciznu kontrolu pristupa na nivou baze podataka.
|
||||
|
||||
### Azure SQL Managed Instance
|
||||
|
||||
**Azure SQL Managed Instances** su za veće razmere, celokupne implementacije SQL Server instance. Pruža skoro 100% kompatibilnost sa najnovijim SQL Server-om na lokaciji (Enterprise Edition) Database Engine, koji pruža nativnu implementaciju virtuelne mreže (VNet) koja rešava uobičajene sigurnosne probleme, i poslovni model povoljan za kupce SQL Server-a na lokaciji.
|
||||
**Azure SQL Managed Instances** su za veće razmere, celokupne SQL Server instance. Pruža skoro 100% kompatibilnost sa najnovijim SQL Server on-premises (Enterprise Edition) Database Engine, koji pruža nativnu implementaciju virtuelne mreže (VNet) koja rešava uobičajene sigurnosne probleme, i poslovni model povoljan za on-premises SQL Server korisnike.
|
||||
|
||||
### Azure SQL Virtual Machines
|
||||
|
||||
**Azure SQL Virtual Machines** omogućava **kontrolu operativnog sistema** i SQL Server instance, jer će VM biti pokrenut u VM servisu koji pokreće SQL server.
|
||||
|
||||
Kada se kreira SQL Virtual Machine, moguće je **izabrati sve postavke VM-a** (kao što je prikazano u lekciji o VM-ima) koji će hostovati SQL server.
|
||||
Kada se kreira SQL Virtual Machine, moguće je **izabrati sve postavke VM-a** (kao što je prikazano u lekciji o VM-u) koji će hostovati SQL server.
|
||||
- To znači da će VM pristupati nekim VNet-ovima, može imati **pridružene upravljane identitete**, može imati montirane deljene foldere… što čini **pivotiranje sa SQL** na VM veoma zanimljivim.
|
||||
- Štaviše, moguće je konfigurisati ID aplikacije i tajnu da **omogući SQL-u pristup određenom ključnom trezoru**, koji može sadržati osetljive informacije.
|
||||
|
||||
@@ -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"
|
||||
@@ -283,7 +283,7 @@ JOIN sys.security_predicates AS sp2
|
||||
ON sp.object_id = sp2.object_id;
|
||||
|
||||
```
|
||||
### Povežite se i izvršite SQL upite
|
||||
### Povezivanje i izvršavanje SQL upita
|
||||
|
||||
Možete pronaći string za povezivanje (koji sadrži akreditive) iz primera [enumerating an Az WebApp](az-app-services.md):
|
||||
```bash
|
||||
|
||||
Reference in New Issue
Block a user