mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-01-13 13:26:31 -08:00
Translated ['src/pentesting-cloud/azure-security/az-services/az-sql.md']
This commit is contained in:
@@ -10,8 +10,8 @@ Azure SQL складається з чотирьох основних пропо
|
||||
|
||||
1. **Azure SQL Server**: Сервер потрібен для **розгортання та управління** базами даних SQL Server.
|
||||
2. **Azure SQL Database**: Це **повністю керована служба бази даних**, яка дозволяє вам розміщувати окремі бази даних в хмарі Azure.
|
||||
3. **Azure SQL Managed Instance**: Це для розгортань на більших масштабах, що охоплюють всю екземпляр SQL Server.
|
||||
4. **Azure SQL Server на Azure VMs**: Це найкраще для архітектур, де ви хочете **контролювати операційну систему** та екземпляр SQL Server.
|
||||
3. **Azure SQL Managed Instance**: Це для масштабних, повних розгортань SQL Server.
|
||||
4. **Azure SQL Server на Azure VMs**: Це найкраще для архітектур, де ви хочете **контроль над операційною системою** та екземпляром SQL Server.
|
||||
|
||||
### SQL Server Security Features
|
||||
|
||||
@@ -24,7 +24,7 @@ Azure SQL складається з чотирьох основних пропо
|
||||
|
||||
**Методи аутентифікації:**
|
||||
|
||||
- Аутентифікація **тільки для Microsoft Entra**: Вам потрібно вказати принципи Entra, які матимуть доступ до служби.
|
||||
- Аутентифікація **тільки Entra** від Microsoft: Вам потрібно вказати принципи Entra, які матимуть доступ до служби.
|
||||
- **Аутентифікація як SQL, так і Microsoft Entra**: Традиційна SQL аутентифікація з ім'ям користувача та паролем разом з Microsoft Entra.
|
||||
- **Тільки SQL** аутентифікація: Дозволяє доступ лише через користувачів бази даних.
|
||||
|
||||
@@ -37,10 +37,10 @@ Azure SQL складається з чотирьох основних пропо
|
||||
**Керовані ідентичності:**
|
||||
|
||||
- Можливо призначити системні та користувацькі керовані MI.
|
||||
- Використовується для доступу до ключа шифрування (якщо використовується CMEK) та інших служб з баз даних.
|
||||
- Використовується для доступу до ключа шифрування (якщо використовується CMEK) та інших служб з бази даних.
|
||||
- Для деяких прикладів служб Azure, до яких можна отримати доступ з бази даних, перегляньте [цю сторінку документації](https://learn.microsoft.com/en-us/sql/t-sql/statements/create-external-data-source-transact-sql)
|
||||
- Якщо призначено більше ніж одну UMI, можливо вказати за замовчуванням ту, що буде використовуватися.
|
||||
- Можливо налаштувати федеративну ідентичність клієнта для доступу між орендарями.
|
||||
- Якщо призначено більше ніж одну UMI, можливо вказати за замовчуванням ту, що використовується.
|
||||
- Можливо налаштувати федеративну клієнтську ідентичність для доступу між орендарями.
|
||||
|
||||
Деякі команди для доступу до інформації всередині блоб-сховища з бази даних SQL:
|
||||
```sql
|
||||
@@ -80,17 +80,17 @@ GO
|
||||
|
||||
## Azure SQL Database
|
||||
|
||||
**Azure SQL Database** є **повністю керованою платформою бази даних як послуга (PaaS)**, яка надає масштабовані та безпечні рішення реляційних баз даних. Вона побудована на останніх технологіях SQL Server і усуває потребу в управлінні інфраструктурою, що робить її популярним вибором для хмарних додатків.
|
||||
**Azure SQL Database** є **повністю керованою платформою бази даних як послуга (PaaS)**, яка надає масштабовані та безпечні рішення для реляційних баз даних. Вона побудована на останніх технологіях SQL Server і усуває потребу в управлінні інфраструктурою, що робить її популярним вибором для хмарних додатків.
|
||||
|
||||
Щоб створити SQL базу даних, потрібно вказати SQL сервер, на якому вона буде розміщена.
|
||||
|
||||
### SQL Database Security Features
|
||||
### Функції безпеки SQL бази даних
|
||||
|
||||
- **Завжди актуальна**: Працює на останній стабільній версії SQL Server і автоматично отримує нові функції та патчі.
|
||||
- **Спадкові функції безпеки SQL Server:**
|
||||
- Аутентифікація (SQL та/або Entra ID)
|
||||
- Призначені керовані ідентичності
|
||||
- Мережеві обмеження
|
||||
- Обмеження мережі
|
||||
- Шифрування
|
||||
- Резервні копії
|
||||
- …
|
||||
@@ -99,29 +99,29 @@ GO
|
||||
|
||||
SQL база даних може бути частиною **еластичного пулу**. Еластичні пулу є економічно вигідним рішенням для управління кількома базами даних шляхом спільного використання налаштовуваних обчислювальних (eDTUs) та сховищ ресурсів між ними, з ціноутворенням, що базується виключно на виділених ресурсах, а не на кількості баз даних.
|
||||
|
||||
#### Azure SQL Column Level Security (Masking) & Row Level Security
|
||||
#### Azure SQL Безпека на рівні стовпців (Маскування) та Безпека на рівні рядків
|
||||
|
||||
**Динамічне** маскування даних Azure SQL є функцією, яка допомагає **захистити чутливу інформацію, приховуючи її** від несанкціонованих користувачів. Замість зміни фактичних даних, вона динамічно маскує відображувані дані, забезпечуючи, щоб чутливі деталі, такі як номери кредитних карток, були приховані.
|
||||
**Динамічне** маскування даних Azure SQL є функцією, яка допомагає **захистити чутливу інформацію, приховуючи її** від несанкціонованих користувачів. Замість того, щоб змінювати фактичні дані, вона динамічно маскує відображувані дані, забезпечуючи, щоб чутливі деталі, такі як номери кредитних карток, були приховані.
|
||||
|
||||
**Динамічне маскування даних** впливає на всіх користувачів, крім тих, хто не підлягає маскуванню (ціх користувачів потрібно вказати) та адміністраторів. Є опція конфігурації, яка вказує, які SQL користувачі звільнені від динамічного маскування даних, при цьому **адміністратори завжди виключені**.
|
||||
|
||||
**Azure SQL Row Level Security (RLS)** є функцією, яка **контролює, які рядки користувач може переглядати або змінювати**, забезпечуючи, щоб кожен користувач бачив лише дані, що стосуються його. Створюючи політики безпеки з фільтрами або блокуючими предикатами, організації можуть забезпечити детальний доступ на рівні бази даних.
|
||||
**Безпека на рівні рядків Azure SQL (RLS)** є функцією, яка **контролює, які рядки користувач може переглядати або змінювати**, забезпечуючи, щоб кожен користувач бачив лише дані, що стосуються його. Створюючи політики безпеки з предикатами фільтрації або блокування, організації можуть забезпечити детальний доступ на рівні бази даних.
|
||||
|
||||
### Azure SQL Managed Instance
|
||||
### Azure SQL Керовані екземпляри
|
||||
|
||||
**Azure SQL Managed Instances** призначені для масштабних, повномасштабних розгортань SQL Server. Вона забезпечує майже 100% сумісність з останнім SQL Server на місцях (Enterprise Edition) Database Engine, що забезпечує рідну реалізацію віртуальної мережі (VNet), яка вирішує поширені проблеми безпеки, та бізнес-модель, вигідну для клієнтів SQL Server на місцях.
|
||||
**Azure SQL Керовані екземпляри** призначені для масштабних, повних розгортань SQL Server. Вони забезпечують майже 100% сумісність з останнім SQL Server на місцях (Enterprise Edition) Database Engine, який надає рідну реалізацію віртуальної мережі (VNet), що вирішує поширені проблеми безпеки, та бізнес-модель, вигідну для клієнтів SQL Server на місцях.
|
||||
|
||||
### Azure SQL Virtual Machines
|
||||
### Azure SQL Віртуальні машини
|
||||
|
||||
**Azure SQL Virtual Machines** дозволяє **контролювати операційну систему** та екземпляр SQL Server, оскільки віртуальна машина буде запущена в службі ВМ, що працює на SQL сервері.
|
||||
**Azure SQL Віртуальні машини** дозволяють **контролювати операційну систему** та екземпляр SQL Server, оскільки ВМ буде запущена в службі ВМ, що працює на SQL сервері.
|
||||
|
||||
Коли створюється SQL Virtual Machine, можливо **вибрати всі налаштування ВМ** (як показано в уроці ВМ), які будуть хостити SQL сервер.
|
||||
Коли створюється SQL Віртуальна машина, можливо **вибрати всі налаштування ВМ** (як показано в уроці ВМ), які будуть хостити SQL сервер.
|
||||
- Це означає, що ВМ буде отримувати доступ до деяких VNet(ів), може мати **прикріплені керовані ідентичності**, може мати змонтовані файлові спільноти… що робить **поворот з SQL** на ВМ дуже цікавим.
|
||||
- Більше того, можливо налаштувати ідентифікатор програми та секрет для **дозволу SQL доступу до конкретного сховища ключів**, яке може містити чутливу інформацію.
|
||||
|
||||
Також можливо налаштувати такі речі, як **автоматичні оновлення SQL**, **автоматичні резервні копії**, **аутентифікацію Entra ID** та більшість функцій інших служб SQL.
|
||||
|
||||
## 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"
|
||||
@@ -321,7 +321,7 @@ sqlcmd -S <sql-server>.database.windows.net -U <server-user> -P <server-passwork
|
||||
../az-privilege-escalation/az-sql-privesc.md
|
||||
{{#endref}}
|
||||
|
||||
## Після експлуатації
|
||||
## Постексплуатація
|
||||
|
||||
{{#ref}}
|
||||
../az-post-exploitation/az-sql-post-exploitation.md
|
||||
|
||||
Reference in New Issue
Block a user