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

This commit is contained in:
Translator
2025-02-26 01:02:19 +00:00
parent 4ef85d8a34
commit dbe16a8f32

View File

@@ -10,7 +10,7 @@ Azure SQL se sastoji od četiri glavne ponude:
1. **Azure SQL Server**: Server je potreban za **implementaciju i upravljanje** SQL Server bazama podataka.
2. **Azure SQL Database**: Ovo je **potpuno upravljana usluga baze podataka**, koja vam omogućava da hostujete pojedinačne baze podataka u Azure cloud-u.
3. **Azure SQL Managed Instance**: Ovo je za veće, celokupne SQL Server instance.
3. **Azure SQL Managed Instance**: Ovo je za veće, celokupne implementacije SQL Server instance.
4. **Azure SQL Server na Azure VMs**: Ovo je najbolje za arhitekture gde želite **kontrolu nad operativnim sistemom** i SQL Server instancom.
### SQL Server Bezbednosne Karakteristike
@@ -19,8 +19,8 @@ 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 veze na osnovu imena domena.
- Takođe je moguće dozvoliti Azure uslugama da mu pristupaju (kao što je korišćenje Query editora u portalu ili dozvoliti Azure VM-u da se poveže).
- Takođe je moguće ograničiti konekcije 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:**
@@ -32,68 +32,94 @@ Napomena da ako je bilo koja SQL autentifikacija dozvoljena, potrebno je navesti
**Enkripcija:**
- Zove se “Transparent data encryption” i enkriptuje baze podataka, rezervne kopije i logove u mirovanju.
- 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:**
- Moguće je dodeliti sistemske i korisnički upravljane MI.
- Koristi se za pristup ključu za enkripciju (ako se koristi CMEK) i drugim uslugama iz baza podataka.
- Ako je dodeljeno više od jednog UMI, moguće je navesti podrazumevani koji će se koristiti.
- Moguće je konfigurisati federisani identitet klijenta za pristup između zakupaca.
- 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.
- Moguće je konfigurisati federisanu identitet klijenta za pristup između zakupaca.
Neki komandi za pristup informacijama unutar blob skladišta iz SQL baze podataka:
```sql
-- Create a credential for the managed identity
CREATE DATABASE SCOPED CREDENTIAL [ManagedIdentityCredential]
WITH IDENTITY = 'Managed Identity';
GO
-- Create an external data source pointing to the blob storage to access
CREATE EXTERNAL DATA SOURCE ManagedIdentity
WITH (
TYPE = BLOB_STORAGE,
LOCATION = 'https://testsqlidentity.blob.core.windows.net/sqlcontainer',
CREDENTIAL = ManagedIdentityCredential
);
GO
-- Read a file from ths storage and return it
SELECT *
FROM OPENROWSET(
BULK 'message.txt',
DATA_SOURCE = 'ManagedIdentity',
SINGLE_CLOB
) AS DataFile;
GO
```
**Microsoft Defender:**
- Korisno za “ublažavanje potencijalnih ranjivosti baze podataka i otkrivanje anomalnih aktivnosti”
- O tome ćemo govoriti u svojoj lekciji (može se omogućiti u nekoliko drugih Azure usluga)
- O Defenderu ćemo govoriti u svojoj lekciji (može se omogućiti u nekoliko drugih Azure usluga)
**Rezervne kopije:**
- Učestalost rezervnih kopija se upravlja u politikama zadržavanja.
**Backup-ovi:**
- Učestalost backup-a se upravlja u politikama zadržavanja.
**Obrisane baze podataka:**
- Moguće je obnoviti DB-ove koji su obrisani iz postojećih rezervnih kopija.
- Moguće je obnoviti DB-ove koji su obrisani iz postojećih backup-a.
## Azure SQL Database
**Azure SQL Database** je **potpuno upravljana platforma baze podataka kao usluga (PaaS)** koja pruža skalabilna i sigurna rešenja za relacione baze podataka. Izgrađena je na najnovijim SQL Server tehnologijama i eliminiše potrebu za upravljanjem infrastrukturom, što je čini popularnim izborom za aplikacije zasnovane na cloud-u.
**Azure SQL Database** je **potpuno upravljana platforma za baze podataka kao uslugu (PaaS)** koja pruža skalabilna i sigurna rešenja za relacione baze podataka. Izgrađena je na najnovijim SQL Server tehnologijama i eliminiše potrebu za upravljanjem infrastrukturom, što je čini popularnim izborom za aplikacije zasnovane na oblaku.
Da biste kreirali SQL bazu podataka, potrebno je navesti SQL server na kojem će biti hostovana.
Da bi se kreirala SQL baza podataka, potrebno je naznačiti SQL server na kojem će biti hostovana.
### SQL Database Bezbednosne Karakteristike
### SQL Database Security Features
- **Uvek ažurirano**: Radi na najnovijoj stabilnoj verziji SQL Server-a i automatski prima nove funkcije i zakrpe.
- **Nasleđene SQL Server bezbednosne karakteristike:**
- **Nasleđene sigurnosne funkcije SQL Server-a:**
- Autentifikacija (SQL i/ili Entra ID)
- Dodeljeni upravljani identiteti
- Dodeljene upravljane identitete
- Mrežna ograničenja
- Enkripcija
- Rezervne kopije
- Backup-ovi
-
- **Redundancija podataka:** Opcije su lokalne, zonalne, Geo ili Geo-Zona redundantne.
- **Knjiga:** Kriptografski verifikuje integritet podataka, osiguravajući da se svako manipulisanje otkrije. Korisno za finansijske, medicinske i bilo koju organizaciju koja upravlja osetljivim podacima.
- **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.
SQL baza podataka može biti deo **elastic Pool**. Elastic pool-ovi su isplativo rešenje za upravljanje više baza podataka deljenjem konfigurisivih računarskih (eDTUs) i skladišnih resursa među njima, sa cenama zasnovanim isključivo na dodeljenim resursima, a ne na broju baza podataka.
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.
#### Azure SQL Bezbednost na nivou kolona (Maskiranje) & Bezbednost na nivou redova
#### Azure SQL Column Level Security (Masking) & Row Level Security
**Dinamičko** maskiranje podataka Azure SQL je funkcija koja pomaže **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 **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 navedeni) 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 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**.
**Azure SQL Bezbednost na nivou redova (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 bezbednosnih politika sa filterima ili blok predikatom, organizacije mogu primeniti fino podešenu kontrolu pristupa na nivou baze podataka.
**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, 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 bezbednosne brige, i poslovni model povoljan za on-premises SQL Server kupce.
**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 Virtuelne Mašine
### Azure SQL Virtual Machines
**Azure SQL Virtuelne Mašine** omogućavaju **kontrolu operativnog sistema** i SQL Server instance, jer će VM biti pokrenut u VM usluzi koja pokreće SQL server.
**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 Virtuelna Mašina, moguće je **izabrati sve postavke VM-a** (kao što je prikazano u lekciji o VM-ima) koji će hostovati SQL server.
- To znači da će VM pristupati nekim VNet-ovima, može imati **priključene upravljane identitete**, može imati montirane deljene foldere… što čini **pivotiranje sa SQL** na VM veoma zanimljivim.
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.
- 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.
Takođe je moguće konfigurisati stvari poput **automatskih SQL ažuriranja**, **automatskih rezervnih kopija**, **Entra ID autentifikacije** i većine funkcija drugih SQL usluga.
Takođe je moguće konfigurisati stvari poput **automatskih SQL ažuriranja**, **automatskih backup-a**, **Entra ID autentifikacije** i većine funkcija drugih SQL usluga.
## Enumeration
@@ -304,7 +330,7 @@ sqlcmd -S <sql-server>.database.windows.net -U <server-user> -P <server-passwork
### Postojanost
{{#ref}}
../az-persistence/az-sql-persistance.md
../az-persistence/az-sql-persistence.md
{{#endref}}
{{#include ../../../banners/hacktricks-training.md}}