AWS - Redshift Enum

Support HackTricks

Amazon Redshift

Redshift ni huduma inayosimamiwa kikamilifu ambayo inaweza kupanuka hadi zaidi ya petabyte kwa ukubwa, ambayo hutumika kama ghala la data kwa suluhisho za data kubwa. Kutumia makundi ya Redshift, unaweza kuendesha uchambuzi dhidi ya seti zako za data kwa kutumia zana za haraka za maswali za SQL na programu za akili za biashara ili kupata uelewa mkubwa wa maono kwa biashara yako.

Redshift inatoa usimbaji fiche wa data iliyohifadhiwa kwa kutumia uongozi wa ngazi nne wa funguo za usimbaji fiche kwa kutumia KMS au CloudHSM kusimamia ngazi ya juu ya funguo. Wakati usimbaji fiche umewezeshwa kwa kundi lako, hauwezi kuzimwa na kinyume chake. Unapokuwa na kundi lisilo na usimbaji fiche, haliwezi kusimbwa.

Usimbaji fiche kwa kundi lako unaweza tu kutokea wakati wa uundaji wake, na mara tu usimbaji fiche unapowekwa, data, metadata, na picha zozote pia zinasimbwa. Ngazi za usimbaji fiche wa funguo ni kama ifuatavyo, ngazi ya kwanza ni ufunguo mkuu, ngazi ya pili ni ufunguo wa usimbaji fiche wa kundi, CEK, ngazi ya tatu, ufunguo wa usimbaji fiche wa hifadhidata, DEK, na hatimaye ngazi ya nne, funguo za usimbaji fiche wa data wenyewe.

KMS

Wakati wa uundaji wa kundi lako, unaweza kuchagua ufunguo wa KMS wa chaguo-msingi kwa Redshift au kuchagua CMK yako mwenyewe, ambayo inakupa kubadilika zaidi juu ya udhibiti wa ufunguo, hasa kutoka kwa mtazamo wa ukaguzi.

Ufunguo wa KMS wa chaguo-msingi kwa Redshift unaundwa kiotomatiki na Redshift mara ya kwanza chaguo la ufunguo linapochaguliwa na kutumika, na unasimamiwa kikamilifu na AWS.

Ufunguo huu wa KMS kisha unasimbwa na ufunguo mkuu wa CMK, ngazi ya kwanza. Ufunguo huu wa data wa KMS uliofichwa kisha unatumika kama ufunguo wa usimbaji fiche wa kundi, CEK, ngazi ya pili. CEK hii kisha inatumwa na KMS kwa Redshift ambapo inahifadhiwa kando na kundi. Redshift kisha inatuma CEK hii iliyosimbwa kwa kundi kupitia njia salama ambapo inahifadhiwa kwenye kumbukumbu.

Redshift kisha inaomba KMS kufichua CEK, ngazi ya pili. CEK hii iliyofichuliwa kisha pia inahifadhiwa kwenye kumbukumbu. Redshift kisha inaunda ufunguo wa usimbaji fiche wa hifadhidata wa nasibu, DEK, ngazi ya tatu, na kuipakia kwenye kumbukumbu ya kundi. CEK iliyofichuliwa kwenye kumbukumbu kisha inasimba DEK, ambayo pia inahifadhiwa kwenye kumbukumbu.

DEK hii iliyosimbwa kisha inatumwa kupitia njia salama na kuhifadhiwa kwenye Redshift kando na kundi. CEK na DEK zote sasa zinahifadhiwa kwenye kumbukumbu ya kundi zote kwa njia iliyosimbwa na iliyofichuliwa. DEK iliyofichuliwa kisha inatumika kusimba funguo za data, ngazi ya nne, ambazo zinaundwa kwa nasibu na Redshift kwa kila block ya data kwenye hifadhidata.

Unaweza kutumia AWS Trusted Advisor kufuatilia usanidi wa ndoo zako za Amazon S3 na kuhakikisha kuwa ufuatiliaji wa ndoo umewezeshwa, ambayo inaweza kuwa muhimu kwa kufanya ukaguzi wa usalama na kufuatilia mifumo ya matumizi katika S3.

CloudHSM

Kutumia Redshift na CloudHSM

Unapofanya kazi na CloudHSM kutekeleza usimbaji fiche wako, kwanza lazima uweke muunganisho wa kuaminika kati ya mteja wako wa HSM na Redshift wakati wa kutumia vyeti vya mteja na seva.

Muunganisho huu unahitajika ili kutoa mawasiliano salama, kuruhusu funguo za usimbaji fiche kutumwa kati ya mteja wako wa HSM na makundi yako ya Redshift. Kutumia jozi ya funguo binafsi na za umma zilizoundwa kwa nasibu, Redshift inaunda cheti cha mteja wa umma, ambacho kinasimbwa na kuhifadhiwa na Redshift. Hii lazima ipakuliwe na kusajiliwa kwa mteja wako wa HSM, na kupewa sehemu sahihi ya HSM.

Lazima kisha uweke Redshift na maelezo yafuatayo ya mteja wako wa HSM: anwani ya IP ya HSM, jina la sehemu ya HSM, nenosiri la sehemu ya HSM, na cheti cha seva ya umma ya HSM, ambacho kinasimbwa na CloudHSM kwa kutumia ufunguo mkuu wa ndani. Mara baada ya habari hii kutolewa, Redshift itathibitisha na kuthibitisha kuwa inaweza kuunganisha na kufikia sehemu ya maendeleo.

Ikiwa sera zako za usalama wa ndani au udhibiti wa utawala unahitaji kwamba lazima utekeleze mzunguko wa funguo, basi hii inawezekana na Redshift ikikuruhusu kuzungusha funguo za usimbaji fiche kwa makundi yaliyosimbwa, hata hivyo, unahitaji kujua kwamba wakati wa mchakato wa mzunguko wa funguo, itafanya kundi kutopatikana kwa muda mfupi sana, na hivyo ni bora kuzungusha funguo tu wakati unahitaji, au ikiwa unahisi zimeathiriwa.

Wakati wa mzunguko, Redshift itazungusha CEK kwa kundi lako na kwa nakala yoyote ya kundi hilo. Itazungusha DEK kwa kundi lakini haiwezekani kuzungusha DEK kwa picha zilizohifadhiwa kwenye S3 ambazo zimesimbwa kwa kutumia DEK. Itaiweka kundi katika hali ya 'kuzungusha funguo' hadi mchakato utakapokamilika ambapo hali itarudi kuwa 'inapatikana'.

Enumeration

# Get clusters
aws redshift describe-clusters
## Get if publicly accessible
aws redshift describe-clusters | jq -r ".Clusters[].PubliclyAccessible"
## Get DB username to login
aws redshift describe-clusters | jq -r ".Clusters[].MasterUsername"
## Get endpoint
aws redshift describe-clusters | jq -r ".Clusters[].Endpoint"
## Public addresses of the nodes
aws redshift describe-clusters | jq -r ".Clusters[].ClusterNodes[].PublicIPAddress"
## Get IAM roles of the clusters
aws redshift describe-clusters | jq -r ".Clusters[].IamRoles"

# Endpoint access & authorization
aws redshift describe-endpoint-access
aws redshift describe-endpoint-authorization

# Get credentials
aws redshift get-cluster-credentials --db-user <username> --cluster-identifier <cluster-id>
## By default, the temporary credentials expire in 900 seconds. You can optionally specify a duration between 900 seconds (15 minutes) and 3600 seconds (60 minutes).
aws redshift get-cluster-credentials-with-iam --cluster-identifier <cluster-id>
## Gives creds to access redshift with the IAM redshift permissions given to the current AWS account
## More in https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-access-control-identity-based.html

# Authentication profiles
aws redshift describe-authentication-profiles

# Snapshots
aws redshift describe-cluster-snapshots

# Scheduled actions
aws redshift describe-scheduled-actions

# Connect
# The redshift instance must be publicly available (not by default), the sg need to allow inbounds connections to the port and you need creds
psql -h redshift-cluster-1.sdflju3jdfkfg.us-east-1.redshift.amazonaws.com -U admin -d dev -p 5439

Privesc

AWS - Redshift Privesc

Uendelevu

Hatua zifuatazo huruhusu kutoa ufikiaji kwa akaunti zingine za AWS kwenye klasta:

Support HackTricks

Last updated