AWS - Relational Database (RDS) Enum

Служба реляційних баз даних (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

За замовчування публічний доступ не надається до баз даних, однак його можна надати. Тому за замовчуванням лише машини з тієї ж VPC матимуть до нього доступ, якщо вибрана група безпеки (зберігаються в EC2 SG) дозволяє це.

Замість того, щоб викладати екземпляр бази даних, можна створити RDS Proxy, який покращує масштабованість та доступність кластера баз даних.

Крім того, можна також змінити порт бази даних.

Шифрування

Шифрування включено за замовчуванням за допомогою керівного ключа AWS (замість цього можна вибрати CMK).

Активуючи шифрування, ви активуєте шифрування в спокої для вашого сховища, знімків, читаючих реплік та резервних копій. Ключі для керування цим шифруванням можна видати за допомогою KMS. Неможливо додати цей рівень шифрування після створення бази даних. Це потрібно зробити під час його створення.

Однак є обхідний маневр, який дозволяє вам зашифрувати незашифровану базу даних наступним чином. Ви можете створити знімок вашої незашифрованої бази даних, створити зашифровану копію цього знімка, використовувати цей зашифрований знімок для створення нової бази даних, і тоді, нарешті, ваша база даних буде зашифрована.

Прозоре шифрування даних (TDE)

Паралельно з можливостями шифрування, властивими RDS на рівні додатків, RDS також підтримує додаткові механізми шифрування на рівні платформи для захисту даних в спокої. Це включає прозоре шифрування даних (TDE) для Oracle та SQL Server. Однак важливо зауважити, що хоча TDE підвищує безпеку шляхом шифрування даних в спокої, він також може вплинути на продуктивність бази даних. Цей вплив на продуктивність особливо помітний при використанні разом з криптографічними функціями MySQL або криптографічними функціями Microsoft Transact-SQL.

Для використання TDE потрібні певні попередні кроки:

  1. Асоціація групи параметрів:

  • Базу даних повинно бути асоційовано з групою параметрів. Групи параметрів служать як контейнери для налаштувань та функцій, що сприяють керуванню базою даних, включаючи покращення безпеки.

  • Однак важливо зауважити, що групи параметрів доступні лише для певних баз даних та версій.

  1. Включення TDE в групу параметрів:

  • Після асоціації з групою параметрів, опцію прозорого шифрування даних Oracle потрібно включити в цю групу.

  • Важливо розуміти, що після додавання опції TDE до групи параметрів вона стає постійним елементом і не може бути видалена.

  1. Режими шифрування TDE:

  • TDE пропонує два різних режими шифрування:

  • Шифрування табличного простору TDE: Цей режим шифрує всі таблиці, забезпечуючи ширший обсяг захисту даних.

  • Шифрування стовпців TDE: Цей режим спрямований на шифрування конкретних, окремих елементів у базі даних, що дозволяє більш детальний контроль над тим, які дані шифруються.

Розуміння цих передумов та операційних тонкощів TDE є важливим для ефективної реалізації та управління шифруванням в межах RDS, забезпечуючи як безпеку даних, так і відповідність необхідним стандартам.

Перелік

# Clusters info
## Get Endpoints, username, port, iam auth enabled, attached roles, SG
aws rds describe-db-clusters
aws rds describe-db-cluster-endpoints #Cluster URLs
aws rds describe-db-cluster-backtracks --db-cluster-identifier <cluster-name>

## Cluster snapshots
aws rds describe-db-cluster-snapshots

# Get DB instances info
aws rds describe-db-instances #username, url, port, vpc, SG, is public?
aws rds describe-db-security-groups

## Find automated backups
aws rds describe-db-instance-automated-backups

## Find snapshots
aws rds describe-db-snapshots
aws rds describe-db-snapshots --include-public --snapshot-type public
## Restore snapshot as new instance
aws rds restore-db-instance-from-db-snapshot --db-instance-identifier <ID> --db-snapshot-identifier <ID> --availability-zone us-west-2a

# Any public snapshot in the account
aws rds describe-db-snapshots --snapshot-type public

# Proxies
aws rds describe-db-proxy-endpoints
aws rds describe-db-proxy-target-groups
aws rds describe-db-proxy-targets

## reset credentials of MasterUsername
aws rds modify-db-instance --db-instance-identifier <ID> --master-user-password <NewPassword> --apply-immediately

Неаутентифікований доступ

pageAWS - RDS Unauthenticated Enum

Підвищення привілеїв

pageAWS - RDS Privesc

Післяексплуатаційна діяльність

pageAWS - RDS Post Exploitation

Постійність

pageAWS - RDS Persistence

SQL Injection

Є способи доступу до даних DynamoDB з SQL-синтаксисом, тому типові SQL-ін'єкції також можливі.

Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Інші способи підтримки HackTricks:

Last updated