AWS - Redshift Enum

Jifunze kuhusu udukuzi wa AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!

Njia nyingine za kusaidia HackTricks:

Amazon Redshift

Redshift ni huduma iliyosimamiwa kabisa ambayo inaweza kupanuka hadi zaidi ya petabyte moja kwa ukubwa, ambayo hutumiwa kama ghala la data kwa suluhisho kubwa za data. Kwa kutumia vikundi vya Redshift, unaweza kufanya uchambuzi dhidi ya seti yako ya data kwa kutumia zana za uchambuzi wa haraka za msingi wa SQL na programu za ujasusi wa biashara ili kupata uelewa mkubwa wa maono ya biashara yako.

Redshift inatoa encryption wakati wa kupumzika kwa kutumia muundo wa safu nne za funguo za encryption kwa kutumia KMS au CloudHSM kusimamia safu ya juu ya funguo. Wakati encryption inapowashwa kwa kikundi chako, haiwezi kuzimwa na kinyume chake. Ukiona kikundi chako hakijafungwa, hakiwezi kuwa na encryption.

Encryption kwa kikundi chako inaweza kutokea wakati wa uundaji wake, na mara tu inapofungwa, data, metadata, na snapshots zote pia zinafungwa. Viwango vya safu ya funguo za encryption ni kama ifuatavyo, safu ya kwanza ni funguo la msingi, safu ya pili ni funguo la encryption la kikundi, CEK, safu ya tatu, funguo la encryption la database, DEK, na hatimaye safu ya nne, funguo za encryption za data yenyewe.

KMS

Wakati wa uundaji wa kikundi chako, unaweza kuchagua funguo la KMS la chaguo-msingi kwa Redshift au kuchagua CMK yako mwenyewe, ambayo inakupa uwezo zaidi juu ya udhibiti wa funguo, hasa kutoka mtazamo wa ukaguzi.

Funguo la KMS la chaguo-msingi kwa Redshift huundwa moja kwa moja na Redshift mara ya kwanza chaguo la funguo linapochaguliwa na kutumika, na inasimamiwa kabisa na AWS.

Funguo hili la KMS kisha hufungwa na funguo la msingi la CMK, safu ya kwanza. Funguo hili la data la KMS lililofungwa kisha hutumiwa kama funguo la encryption la kikundi, CEK, safu ya pili. CEK hii kisha hutumwa na KMS kwa Redshift ambapo inahifadhiwa kando na kikundi. Redshift kisha hutoa CEK hii iliyofungwa kwa kikundi kupitia kituo salama ambapo inahifadhiwa kwenye kumbukumbu.

Redshift kisha inaomba KMS kufungua funguo la CEK, safu ya pili. CEK hii iliyofunguliwa kisha pia hifadhiwa kwenye kumbukumbu. Redshift kisha hujenga funguo la encryption la database la random, DEK, safu ya tatu, na kuliweka kwenye kumbukumbu ya kikundi. CEK iliyofunguliwa kwenye kumbukumbu kisha inafungua DEK, ambayo pia hifadhiwa kwenye kumbukumbu.

DEK hii iliyofungwa kisha hutumwa kupitia kituo salama na kuhifadhiwa kwenye Redshift kando na kikundi. Kote CEK na DEK sasa zimehifadhiwa kwenye kumbukumbu ya kikundi kwa hali ya kufungwa na kufunguliwa. DEK iliyofunguliwa kisha hutumiwa kufunga funguo za data, safu ya nne, ambazo zinazalishwa kwa nasibu na Redshift kwa kila bloki ya data katika database.

Unaweza kutumia Mshauri Mteule wa AWS kufuatilia usanidi wa vikapu vyako vya Amazon S3 na kuhakikisha kuwa ufuatiliaji wa kikapu umewezeshwa, ambao unaweza kuwa na manufaa kwa kufanya ukaguzi wa usalama na kufuatilia mifumo ya matumizi katika S3.

CloudHSM

Kutumia Redshift na CloudHSM

Unapofanya kazi na CloudHSM kufanya encryption yako, kwanza lazima uweke uhusiano wa kuaminika kati ya mteja wako wa HSM na Redshift wakati unatumia vyeti vya mteja na seva.

Uhusiano huu unahitajika kutoa mawasiliano salama, kuruhusu funguo za encryption kutumwa kati ya mteja wako wa HSM na vikundi vyako vya Redshift. Kwa kutumia jozi ya funguo ya faragha na ya umma iliyozalishwa kwa nasibu, Redshift hujenga cheti cha mteja cha umma, ambacho kinafungwa na kuhifadhiwa na Redshift. Hiki lazima kipakuliwe na kusajiliwa kwa mteja wako wa HSM, na kuhusishwa na sehemu sahihi ya HSM.

Kisha lazima 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 cha HSM cha umma, ambacho kimefungwa na CloudHSM kwa kutumia funguo la msingi la ndani. Mara habari hii imetolewa, Redshift itathibitisha na kuhakikisha kuwa inaweza kuunganisha na kufikia sehemu ya maendeleo.

Ikiwa sera zako za usalama za ndani au udhibiti wa utawala unahitaji uwekezaji wa funguo, basi hii inawezekana na Redshift ikikuruhusu kubadilisha funguo za encryption kwa vikundi vilivyofungwa, hata hivyo, lazima uwe na ufahamu kwamba wakati wa mchakato wa kubadilisha funguo, itafanya kikundi kuwa haipatikani kwa kipindi kifupi sana, hivyo ni bora kubadilisha funguo wakati unahitaji, au ikiwa unahisi kwamba zinaweza kuwa zimevujishwa.

Wakati wa mzunguko, Redshift itabadilisha CEK kwa kikundi chako na kwa nakala rudufu za kikundi hicho. Itabadilisha DEK kwa kikundi lakini haiwezekani kubadilisha DEK kwa picha za nakala rudufu zilizohifadhiwa kwenye S3 ambazo zimefungwa kwa kutumia DEK. Itaweka kikundi katika hali ya 'kuzungusha funguo' hadi mchakato utakapokamilika wakati hali itarudi kuwa 'ipatikane'.

Urambazaji

# 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

pageAWS - Redshift Privesc

Uthabiti

Vitendo vifuatavyo vinawezesha kutoa upatikanaji kwa akaunti zingine za AWS kwa kikundi:

Jifunze kuhusu udukuzi wa AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!

Njia nyingine za kusaidia HackTricks:

Last updated