AWS - Relational Database (RDS) Enum

Support HackTricks

Basic Information

Huduma ya Relational Database Service (RDS) inayotolewa na AWS imeundwa kuboresha uwekaji, uendeshaji, na upanuzi wa database ya uhusiano katika wingu. Huduma hii inatoa faida za ufanisi wa gharama na upanuzi huku ikitengeneza kazi zinazohitaji nguvu kama vile ugawaji wa vifaa, usanidi wa database, urekebishaji, na nakala za akiba.

AWS RDS inasaidia injini mbalimbali maarufu za database za uhusiano ikiwa ni pamoja na MySQL, PostgreSQL, MariaDB, Oracle Database, Microsoft SQL Server, na Amazon Aurora, ikiwa na ufanisi kwa MySQL na PostgreSQL.

Vipengele muhimu vya RDS ni pamoja na:

  • Usimamizi wa mifano ya database umefanywa rahisi.

  • Uundaji wa read replicas ili kuboresha utendaji wa kusoma.

  • Usanidi wa multi-Availability Zone (AZ) deployments ili kuhakikisha upatikanaji wa juu na mifumo ya kufeli.

  • Ushirikiano na huduma nyingine za AWS, kama vile:

  • AWS Identity and Access Management (IAM) kwa udhibiti wa ufikiaji thabiti.

  • AWS CloudWatch kwa ufuatiliaji na vipimo vya kina.

  • AWS Key Management Service (KMS) kwa kuhakikisha usimbaji fiche wakati wa kupumzika.

Credentials

Wakati wa kuunda klasta ya DB jina kuu la mtumiaji linaweza kuundwa (admin kwa chaguo-msingi). Ili kuunda nenosiri la mtumiaji huyu unaweza:

  • Kueleza nenosiri mwenyewe

  • Mwambie RDS kuunda moja kiotomatiki

  • Mwambie RDS kusimamia katika AWS Secret Manager iliyosimbwa kwa ufunguo wa KMS

Authentication

Kuna aina 3 za chaguo za uthibitishaji, lakini kutumia nenosiri kuu daima kunaruhusiwa:

Public Access & VPC

Kwa chaguo-msingi hakuna ufikiaji wa umma unaotolewa kwa databases, hata hivyo inaweza kutolewa. Hivyo, kwa chaguo-msingi mashine pekee kutoka VPC sawa zitakuwa na uwezo wa kuifikia ikiwa kikundi cha usalama (kimehifadhiwa katika EC2 SG) kinaruhusu.

Badala ya kufichua mfano wa DB, inawezekana kuunda RDS Proxy ambayo inaimarisha upanuzi & upatikanaji wa klasta ya DB.

Zaidi ya hayo, bandari ya database inaweza kubadilishwa pia.

Encryption

Usimbaji fiche umewezeshwa kwa chaguo-msingi kwa kutumia ufunguo unaosimamiwa na AWS (ufunguo wa CMK unaweza kuchaguliwa badala yake).

Kwa kuwezesha usimbaji wako, unawawezesha usimbaji fiche wakati wa kupumzika kwa uhifadhi wako, picha za snapshot, read replicas na nakala zako za akiba. Funguo za kusimamia usimbaji huu zinaweza kutolewa kwa kutumia KMS. Haiwezekani kuongeza kiwango hiki cha usimbaji baada ya database yako kuundwa. Lazima ifanyike wakati wa kuunda.

Hata hivyo, kuna njia mbadala inayokuruhusu kusimbwa fiche database isiyosimbwa kama ifuatavyo. Unaweza kuunda picha ya snapshot ya database yako isiyosimbwa, kuunda nakala iliyosimbwa ya snapshot hiyo, tumia snapshot hiyo iliyosimbwa kuunda database mpya, na kisha, hatimaye, database yako itakuwa imewekwa usimbaji fiche.

Transparent Data Encryption (TDE)

Pamoja na uwezo wa usimbaji fiche ulio ndani ya RDS katika kiwango cha programu, RDS pia inasaidia mbinu za usimbaji fiche za kiwango cha jukwaa ili kulinda data wakati wa kupumzika. Hii inajumuisha Transparent Data Encryption (TDE) kwa Oracle na SQL Server. Hata hivyo, ni muhimu kutambua kwamba ingawa TDE inaongeza usalama kwa kusimbwa fiche data wakati wa kupumzika, inaweza pia kuathiri utendaji wa database. Athari hii ya utendaji inajulikana hasa inapokuwa ikitumiwa pamoja na kazi za usimbaji fiche za MySQL au kazi za usimbaji fiche za Microsoft Transact-SQL.

Ili kutumia TDE, hatua fulani za awali zinahitajika:

  1. Kundi la Chaguo:

  • Database lazima iwe na ushirikiano na kundi la chaguo. Vikundi vya chaguo vinatumika kama vyombo vya mipangilio na vipengele, vinavyosaidia usimamizi wa database, ikiwa ni pamoja na maboresho ya usalama.

  • Hata hivyo, ni muhimu kutambua kwamba vikundi vya chaguo vinapatikana tu kwa injini maalum za database na matoleo.

  1. Kuongeza TDE katika Kundi la Chaguo:

  • Mara tu ikishirikishwa na kundi la chaguo, chaguo la Oracle Transparent Data Encryption linahitaji kuongezwa katika kundi hilo.

  • Ni muhimu kutambua kwamba mara chaguo la TDE linapoongezwa kwenye kundi la chaguo, linakuwa sehemu ya kudumu na haliwezi kuondolewa.

  1. Modes za Usimbaji wa TDE:

  • TDE inatoa modes mbili tofauti za usimbaji:

  • TDE Tablespace Encryption: Hali hii inasimbwa fiche meza nzima, ikitoa wigo mpana wa ulinzi wa data.

  • TDE Column Encryption: Hali hii inazingatia kusimbwa fiche vipengele maalum, ikiruhusu udhibiti wa kina juu ya ni data gani inasimbwa fiche.

Kuelewa masharti haya na intricacies za uendeshaji wa TDE ni muhimu kwa kutekeleza na kusimamia usimbaji fiche ndani ya RDS, kuhakikisha usalama wa data na kufuata viwango vinavyohitajika.

Enumeration

# 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

Upatikanaji Usio na Uthibitisho

Privesc

Baada ya Kutekeleza

Kudumu

SQL Injection

Kuna njia za kufikia data za DynamoDB kwa kutumia sintaksia ya SQL, hivyo basi, injections za kawaida za SQL pia zinaweza kutokea.

Support HackTricks

Last updated