diff --git a/src/pentesting-cloud/azure-security/az-services/az-sql.md b/src/pentesting-cloud/azure-security/az-services/az-sql.md index c2a7983fe..3ae706dfd 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-sql.md +++ b/src/pentesting-cloud/azure-security/az-services/az-sql.md @@ -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//resourceGroups//providers/Microsoft.Sql/servers//databases//dataMaskingPolicies/Default?api-version=2021-11-01" az rest --method get \ --uri "https://management.azure.com/subscriptions//resourceGroups//providers/Microsoft.Sql/servers//databases//dataMaskingPolicies/Default/rules?api-version=2021-11-01" @@ -321,7 +321,7 @@ sqlcmd -S .database.windows.net -U -P