AWS - Relational Database (RDS) Enum
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Служба реляційних баз даних (RDS), що пропонується AWS, призначена для спрощення розгортання, експлуатації та масштабування реляційної бази даних у хмарі. Ця служба пропонує переваги економії витрат і масштабованості, автоматизуючи трудомісткі завдання, такі як постачання апаратного забезпечення, налаштування бази даних, патчинг і резервне копіювання.
AWS RDS підтримує різні широко використовувані реляційні бази даних, включаючи MySQL, PostgreSQL, MariaDB, Oracle Database, Microsoft SQL Server і Amazon Aurora, з сумісністю як для MySQL, так і для PostgreSQL.
Ключові особливості RDS включають:
Управління екземплярами бази даних спрощено.
Створення реплік для читання для покращення продуктивності читання.
Налаштування мульти-зональних (AZ) розгортань для забезпечення високої доступності та механізмів відмови.
Інтеграція з іншими службами AWS, такими як:
AWS Identity and Access Management (IAM) для надійного контролю доступу.
AWS CloudWatch для всебічного моніторингу та метрик.
AWS Key Management Service (KMS) для забезпечення шифрування в спокої.
При створенні кластера БД майстер ім'я користувача може бути налаштоване (admin
за замовчуванням). Щоб згенерувати пароль цього користувача, ви можете:
Вказати пароль самостійно
Сказати RDS автоматично згенерувати його
Сказати RDS керувати ним у AWS Secret Manager, зашифрованому за допомогою ключа KMS
Існує 3 типи варіантів аутентифікації, але використання майстер-пароля завжди дозволено:
За замовчуванням публічний доступ не надається до баз даних, однак він може бути наданий. Тому за замовчуванням лише машини з тієї ж VPC зможуть отримати до неї доступ, якщо вибрана група безпеки (зберігається в EC2 SG) дозволяє це.
Замість того, щоб відкривати екземпляр БД, можна створити RDS Proxy, який покращує масштабованість та доступність кластера БД.
Крім того, порт бази даних також може бути змінений.
Шифрування увімкнено за замовчуванням за допомогою керованого ключа AWS (може бути обрано CMK замість цього).
Увімкнувши ваше шифрування, ви увімкнули шифрування в спокої для вашого сховища, знімків, реплік для читання та ваших резервних копій. Ключі для управління цим шифруванням можуть бути видані за допомогою KMS. Не можливо додати цей рівень шифрування після створення вашої бази даних. Це потрібно зробити під час її створення.
Однак існує обхідний шлях, що дозволяє зашифрувати незашифровану базу даних наступним чином. Ви можете створити знімок вашої незашифрованої бази даних, створити зашифровану копію цього знімка, використати цей зашифрований знімок для створення нової бази даних, а потім, нарешті, ваша база даних буде зашифрована.
Окрім можливостей шифрування, властивих RDS на рівні програми, RDS також підтримує додаткові механізми шифрування на платформі для захисту даних у спокої. Це включає Прозоре шифрування даних (TDE) для Oracle і SQL Server. Однак важливо зазначити, що хоча TDE підвищує безпеку, шифруючи дані в спокої, це також може вплинути на продуктивність бази даних. Цей вплив на продуктивність особливо помітний при використанні разом з криптографічними функціями MySQL або криптографічними функціями Microsoft Transact-SQL.
Щоб використовувати TDE, необхідні певні попередні кроки:
Асоціація групи параметрів:
База даних повинна бути асоційована з групою параметрів. Групи параметрів служать контейнерами для налаштувань і функцій, полегшуючи управління базою даних, включаючи покращення безпеки.
Однак важливо зазначити, що групи параметрів доступні лише для певних движків бази даних і версій.
Включення TDE в групу параметрів:
Після асоціації з групою параметрів опція Oracle Transparent Data Encryption повинна бути включена в цю групу.
Важливо усвідомлювати, що після додавання опції TDE до групи параметрів вона стає постійною і не може бути видалена.
Режими шифрування TDE:
TDE пропонує два різні режими шифрування:
Шифрування таблиць TDE: Цей режим шифрує цілі таблиці, забезпечуючи ширший обсяг захисту даних.
Шифрування стовпців TDE: Цей режим зосереджується на шифруванні конкретних, окремих елементів у базі даних, що дозволяє більш детально контролювати, які дані шифруються.
Розуміння цих передумов і операційних тонкощів TDE є важливим для ефективного впровадження та управління шифруванням у RDS, забезпечуючи як безпеку даних, так і відповідність необхідним стандартам.
Існують способи доступу до даних DynamoDB з використанням SQL-синтаксису, тому типові SQL-ін'єкції також можливі.
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)