AWS - Redshift Enum

Support HackTricks

Amazon Redshift

Redshift ni huduma inayosimamiwa kikamilifu ambayo inaweza kupanuka hadi zaidi ya petabyte kwa ukubwa, ambayo inatumika kama ghala la data kwa suluhisho za big data. Kwa kutumia klasta za Redshift, unaweza kufanya uchambuzi dhidi ya seti zako za data kwa kutumia zana za haraka za maswali za SQL na programu za akili ya biashara ili kupata ufahamu mkubwa wa maono ya biashara yako.

Redshift inatoa usimbaji fiche wakati wa kupumzika kwa kutumia ngazi nne za funguo za usimbaji fiche kwa kutumia KMS au CloudHSM kusimamia ngazi ya juu ya funguo. Wakati usimbaji fiche umewezeshwa kwa klasta yako, hauwezi kuzuiwa na kinyume chake. Wakati una klasta isiyo na usimbaji fiche, haiwezi kusimbwa fiche.

Usimbaji fiche kwa klasta yako unaweza kutokea tu wakati wa uundaji wake, na mara tu inaposimbwa fiche, data, metadata, na picha zozote pia zimewekwa kwa usimbaji fiche. Ngazi za funguo za usimbaji fiche ni kama ifuatavyo, ngazi moja ni funguo kuu, ngazi mbili ni funguo za usimbaji fiche za klasta, CEK, ngazi tatu, funguo za usimbaji fiche za hifadhidata, DEK, na hatimaye ngazi nne, funguo za usimbaji fiche za data wenyewe.

KMS

Wakati wa uundaji wa klasta yako, unaweza kuchagua funguo za KMS za default kwa Redshift au kuchagua CMK yako mwenyewe, ambayo inakupa kubadilika zaidi juu ya udhibiti wa funguo, hasa kutoka mtazamo wa kuweza kukaguliwa.

Funguo za KMS za default kwa Redshift zinaundwa kiotomatiki na Redshift wakati wa mara ya kwanza chaguo la funguo linapochaguliwa na kutumika, na inasimamiwa kikamilifu na AWS.

Funguo hii ya KMS kisha inasimbwa fiche kwa funguo kuu ya CMK, ngazi moja. Funguo hii ya data ya KMS iliyosimbwa fiche kisha inatumika kama funguo za usimbaji fiche za klasta, CEK, ngazi mbili. CEK hii kisha inatumwa na KMS kwa Redshift ambapo inahifadhiwa tofauti na klasta. Redshift kisha inatuma CEK hii iliyosimbwa fiche kwa klasta kupitia njia salama ambapo inahifadhiwa kwenye kumbukumbu.

Redshift kisha inaomba KMS kusimbua CEK, ngazi mbili. CEK hii iliyosimbwa fiche kisha inahifadhiwa pia kwenye kumbukumbu. Redshift kisha inaunda funguo za usimbaji fiche za hifadhidata, DEK, ngazi tatu, na kuziingiza kwenye kumbukumbu ya klasta. CEK iliyosimbwa fiche kwenye kumbukumbu kisha inasimbua DEK, ambayo pia inahifadhiwa kwenye kumbukumbu.

DEK hii iliyosimbwa fiche kisha inatumwa kupitia njia salama na kuhifadhiwa katika Redshift tofauti na klasta. CEK na DEK sasa zimehifadhiwa kwenye kumbukumbu ya klasta zote kwa njia ya usimbaji fiche na usimbaji fiche. DEK iliyosimbwa fiche kisha inatumika kusimbua funguo za data, ngazi nne, ambazo zinaundwa kwa bahati nasibu na Redshift kwa kila block ya data katika hifadhidata.

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

CloudHSM

Using Redshift with CloudHSM

Wakati unafanya kazi na CloudHSM ili kutekeleza usimbaji fiche wako, kwanza lazima uanzishe muunganisho wa kuaminika kati ya mteja wako wa HSM na Redshift huku ukitumia vyeti vya mteja na seva.

Muunganisho huu unahitajika kutoa mawasiliano salama, kuruhusu funguo za usimbaji fiche kutumwa kati ya mteja wako wa HSM na klasta zako za Redshift. Kwa kutumia jozi ya funguo za faragha na za umma zilizoundwa kwa bahati nasibu, Redshift inaunda cheti cha mteja wa umma, ambacho kinasimbwa fiche na kuhifadhiwa na Redshift. Hii lazima ipakuliwe na kuandikishwa kwa mteja wako wa HSM, na kupewa sehemu sahihi ya HSM.

Basi 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 ya umma ya HSM, ambacho kinasimbwa fiche na CloudHSM kwa kutumia funguo kuu za ndani. Mara tu habari hii itakapopewa, Redshift itathibitisha na kuthibitisha kwamba inaweza kuungana na kufikia sehemu ya maendeleo.

Ikiwa sera zako za usalama za ndani au udhibiti wa utawala zinahitaji kwamba lazima uweke mzunguko wa funguo, basi hii inawezekana na Redshift ikikuruhusu kuzungusha funguo za usimbaji fiche kwa klasta zilizosimbwa fiche, hata hivyo, unahitaji kuwa makini kwamba wakati wa mchakato wa mzunguko wa funguo, itafanya klasta kuwa haipatikani kwa kipindi kifupi sana, na hivyo ni bora kuzungusha funguo tu unapohitaji, au ikiwa unahisi zinaweza kuwa zimeathiriwa.

Wakati wa mzunguko, Redshift itazungusha CEK kwa klasta yako na kwa nakala zozote za klasta hiyo. Itazungusha DEK kwa klasta lakini haiwezekani kuzungusha DEK kwa picha zilizohifadhiwa katika S3 ambazo zimewekwa kwa usimbaji fiche kwa kutumia DEK. Itaiweka klasta katika hali ya 'kuzungusha funguo' hadi mchakato ukamilike wakati 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

Persistence

Hatua zifuatazo zinaruhusu kutoa ufikiaji kwa akaunti nyingine za AWS kwa klasta:

Support HackTricks

Last updated