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

This commit is contained in:
Translator
2025-03-21 09:04:05 +00:00
parent 079a24126f
commit 6d3c9e3810

View File

@@ -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