AWS - Basic Information

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

Njia nyingine za kusaidia HackTricks:

Mfumo wa Shirika

Akaunti

Katika AWS kuna akaunti ya msingi, ambayo ni chombo cha mzazi kwa akaunti zote za shirika lako. Hata hivyo, hauitaji kutumia akaunti hiyo kuweka rasilimali, unaweza kuunda akaunti nyingine kwa kugawa miundombinu tofauti ya AWS kati yao.

Hii ni muhimu sana kutoka mtazamo wa usalama, kwani akaunti moja haitaweza kupata rasilimali kutoka kwa akaunti nyingine (isipokuwa madaraja yameundwa maalum), hivyo njia hii unaweza kuunda mipaka kati ya uwekaji.

Hivyo, kuna aina mbili za akaunti katika shirika (tunazungumzia juu ya akaunti za AWS na sio akaunti za Mtumiaji): akaunti moja ambayo imepewa jukumu la akaunti ya usimamizi, na moja au zaidi ya akaunti za wanachama.

  • Akaunti ya usimamizi (akaunti ya msingi) ni akaunti unayotumia kuunda shirika. Kutoka kwa akaunti ya usimamizi ya shirika, unaweza kufanya yafuatayo:

  • Unda akaunti katika shirika

  • Alika akaunti zingine zilizopo kwenye shirika

  • Ondoa akaunti kutoka kwenye shirika

  • Simamia mialiko

  • Tumia sera kwa vitu (mizizi, OUs, au akaunti) ndani ya shirika

  • Wezesha ushirikiano na huduma za AWS zilizoungwa mkono ili kutoa utendaji wa huduma kote kwenye akaunti zote katika shirika.

  • Ni rahisi kuingia kama mtumiaji wa msingi kwa kutumia barua pepe na nenosiri ulilotumia kuunda akaunti/hifadhi hii ya msingi.

Akaunti ya usimamizi ina majukumu ya akaunti ya malipo na inawajibika kulipa gharama zote zinazotokana na akaunti za wanachama. Huwezi kubadilisha akaunti ya usimamizi wa shirika.

  • Akaunti za wanachama zinaunda akaunti zote zilizobaki katika shirika. Akaunti inaweza kuwa mwanachama wa shirika moja tu kwa wakati mmoja. Unaweza kuambatanisha sera kwa akaunti ili kuweka udhibiti kwa akaunti hiyo moja tu.

  • Akaunti za wanachama ** lazima zitumie anwani ya barua pepe halali** na zinaweza kuwa na jina, kwa ujumla hawataweza kusimamia malipo (ingawa wanaweza kupewa ufikiaji wa hilo).

aws organizations create-account --account-name testingaccount --email testingaccount@lalala1233fr.com

Vipengele vya Shirika

Akaunti zinaweza kugawanywa katika Vipengele vya Shirika (OU). Kwa njia hii, unaweza kuunda sera kwa Vipengele vya Shirika ambazo zitatumika kwa akaunti zote za watoto. Tafadhali kumbuka kuwa OU inaweza kuwa na OU nyingine kama watoto.

# You can get the root id from aws organizations list-roots
aws organizations create-organizational-unit --parent-id r-lalala --name TestOU

Sera ya Kudhibiti Huduma (SCP)

Sera ya kudhibiti huduma (SCP) ni sera inayoeleza huduma na hatua ambazo watumiaji na majukumu wanaweza kutumia katika akaunti ambazo SCP inaathiri. SCPs ni sawa na sera za ruhusa za IAM isipokuwa kwamba hazitoi ruhusa yoyote. Badala yake, SCPs huzingatia ruhusa za juu kabisa kwa shirika, kitengo cha shirika (OU), au akaunti. Unapoweka SCP kwenye mizizi ya shirika lako au OU, SCP inapunguza ruhusa kwa viungo katika akaunti wanachama.

Hii ndiyo njia PEKEE ambayo hata mtumiaji wa mizizi anaweza kuzuiliwa kufanya kitu. Kwa mfano, inaweza kutumika kuzuia watumiaji kulemaza CloudTrail au kufuta nakala rudufu. Njia pekee ya kuzidi hii ni kuhatarisha pia akaunti kuu inayoweka SCPs (akaunti kuu haiwezi kuzuiliwa).

Tafadhali kumbuka kwamba SCPs huzuia tu mawakala katika akaunti, hivyo akaunti nyingine hazina athari. Hii inamaanisha kuwa kuwa na SCP inayokataza s3:GetObject haitazuia watu kutoka kupata kikapu cha S3 cha umma katika akaunti yako.

Mifano ya SCP:

  • Kataa akaunti ya mizizi kabisa

  • Ruhusu mikoa maalum tu

  • Ruhusu huduma zilizoorodheshwa kwenye orodha nyeupe tu

  • Kataa GuardDuty, CloudTrail, na S3 Public Block Access kutoka

kulemazwa

  • Kataa majukumu ya usalama/majibu ya tukio kutoka kufutwa au

kubadilishwa.

  • Kataa nakala rudufu kutoka kufutwa.

  • Kataa kuunda watumiaji wa IAM na funguo za ufikiaji

Pata mifano ya JSON katika https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps_examples.html

ARN

Jina la Rasilmali la Amazon ni jina pekee kila rasilmali ndani ya AWS inayo, inajumuisha kama ifuatavyo:

arn:partition:service:region:account-id:resource-type/resource-id
arn:aws:elasticbeanstalk:us-west-1:123456789098:environment/App/Env

Tafadhali kumbuka kuna sehemu 4 katika AWS lakini njia 3 za kuziita:

  • AWS Standard: aws

  • AWS China: aws-cn

  • AWS US public Internet (GovCloud): aws-us-gov

  • AWS Secret (US Classified): aws

IAM - Utambulisho na Usimamizi wa Upatikanaji

IAM ni huduma itakayokuwezesha kusimamia Uthibitisho, Ruhusa na Kudhibiti Upatikanaji ndani ya akaunti yako ya AWS.

  • Uthibitisho - Mchakato wa kufafanua kitambulisho na uthibitisho wa kitambulisho hicho. Mchakato huu unaweza kugawanywa katika: Ufafanuzi na uthibitisho.

  • Ruhusa - Inabainisha kile kitambulisho kinaweza kupata ndani ya mfumo mara tu kinapothibitishwa.

  • Kudhibiti Upatikanaji - Njia na mchakato wa jinsi upatikanaji unavyotolewa kwa rasilimali salama

IAM inaweza kufafanuliwa na uwezo wake wa kusimamia, kudhibiti na kutawala mifumo ya uthibitisho, ruhusa na mifumo ya kudhibiti upatikanaji wa vitambulisho kwa rasilimali zako ndani ya akaunti yako ya AWS.

Unapoanzisha mara ya kwanza akaunti ya Amazon Web Services (AWS), unaanza na kitambulisho kimoja cha kuingia ambacho kina upatikanaji kamili wa huduma zote za AWS na rasilimali katika akaunti. Huyu ni mtumiaji wa msingi wa akaunti ya AWS na unapata ufikiaji kwa kusainiwa kwa anwani ya barua pepe na nenosiri ulilotumia kuunda akaunti.

Kumbuka kuwa mtumiaji mpya wa msimamizi atakuwa na ruhusa chache kuliko mtumiaji wa msingi.

Kwa mtazamo wa usalama, ni vyema kuunda watumiaji wengine na kuepuka kutumia huyu.

Mtumiaji wa IAM ni kifaa unachounda katika AWS kuwakilisha mtu au programu inayoitumia kuingiliana na AWS. Mtumiaji katika AWS inajumuisha jina na sifa (nenosiri na funguo mbili za upatikanaji).

Unapounda mtumiaji wa IAM, unampa ruhusa kwa kumfanya mwanachama wa kikundi cha mtumiaji kilicho na sera sahihi za ruhusa zilizowekwa (zilizopendekezwa), au kwa kuambatanisha sera moja kwa moja kwa mtumiaji.

Watumiaji wanaweza kuwa na MFA imewezeshwa kuingia kupitia konsoli. Vyeti vya API vya watumiaji walio na MFA imewezeshwa havilindwi na MFA. Ikiwa unataka kizuia upatikanaji wa funguo za API za watumiaji kwa kutumia MFA unahitaji kuonyesha katika sera kwamba ili kutekeleza hatua fulani MFA inahitajika (mfano hapa).

CLI

  • Kitambulisho cha Funguo la Upatikanaji: Herufi 20 za kipekee za herufi kubwa na nambari kama AKHDNAPO86BSHKDIRYT

  • Kitambulisho cha Funguo la Upatikanaji la Siri: Herufi 40 za kipekee za herufi kubwa na ndogo: S836fh/J73yHSb64Ag3Rkdi/jaD6sPl6/antFtU (Haiwezekani kupata tena kitambulisho cha siri kilichopotea).

Unapohitaji kubadilisha Funguo la Upatikanaji huu ndio mchakato unapaswa kufuata: Tengeneza funguo jipya la upatikanaji -> Tumia funguo jipya kwa mfumo/programu -> tia alama funguo la awali kama lisilo hai -> jaribu na thibitisha funguo jipya la upatikanaji linatenda kazi -> Futa funguo la zamani

MFA - Uthibitisho wa Faktari Mbili

Inatumika kusaidia kuunda faktari ya ziada kwa uthibitisho zaidi ya njia zako za sasa, kama nenosiri, hivyo, kuunda kiwango cha uthibitisho wa faktari nyingi. Unaweza kutumia programu ya bure ya kivitual au kifaa halisi. Unaweza kutumia programu kama uthibitishaji wa google bure kuwezesha MFA katika AWS.

Sera zenye masharti ya MFA zinaweza kuambatanishwa na yafuatayo:

  • Mtumiaji au kikundi cha IAM

  • Rasilimali kama kikapu cha Amazon S3, foleni ya Amazon SQS, au mada ya Amazon SNS

  • Sera ya uaminifu wa jukumu la IAM ambalo linaweza kudhaniwa na mtumiaji

Ikiwa unataka kupata kupitia CLI rasilimali ambayo inachunguza MFA unahitaji kuita GetSessionToken. Hiyo itakupa ishara na habari kuhusu MFA. Kumbuka kwamba vyeti vya AssumeRole havina habari hii.

aws sts get-session-token --serial-number <arn_device> --token-code <code>

Kama ilivyoelezwa hapa, kuna visa vingi tofauti ambapo MFA haiwezi kutumika.

Kikundi cha mtumiaji wa IAM ni njia ya kuambatanisha sera kwa watumiaji wengi kwa wakati mmoja, ambayo inaweza kufanya iwe rahisi kusimamia ruhusa za watumiaji hao. Vyeo na vikundi haviwezi kuwa sehemu ya kikundi.

Unaweza kuambatanisha sera inayotegemea kitambulisho kwa kikundi cha watumiaji ili kwamba watumiaji wote katika kikundi cha watumiaji wapokee ruhusa za sera hiyo. Hauwezi kutambua kikundi cha watumiaji kama Mwakilishi katika sera (kama sera inayotegemea rasilimali) kwa sababu vikundi vinahusiana na ruhusa, sio uthibitisho, na mabwana wanathibitishwa kama viungo vya IAM.

Hapa kuna sifa muhimu za vikundi vya watumiaji:

  • Kikundi cha watumiaji kinaweza kuwa na watumiaji wengi, na mtumiaji anaweza kuwa sehemu ya vikundi vingi.

  • Vikundi vya watumiaji haviwezi kuwa na vikundi vingine ndani yake; vinaweza kuwa na watumiaji tu, sio vikundi vingine vya watumiaji.

  • Hakuna kikundi cha watumiaji cha msingi ambacho kina watumiaji wote kiatomati katika akaunti ya AWS. Ikiwa unataka kuwa na kikundi cha watumiaji kama hicho, lazima ujiunge nacho na kumweka kila mtumiaji mpya ndani yake.

  • Idadi na ukubwa wa rasilimali za IAM katika akaunti ya AWS, kama idadi ya vikundi, na idadi ya vikundi ambavyo mtumiaji anaweza kuwa mwanachama, ni mdogo. Kwa maelezo zaidi, angalia Vikwazo vya IAM na AWS STS.

Kazi ya IAM ni sawa sana na mtumiaji, kwa kuwa ni kitambulisho chenye sera za ruhusa zinazotambua kile kinachoweza na kile hakiwezi kufanya katika AWS. Walakini, kazi haina vyeti (nywila au funguo za ufikiaji) zinazohusiana nayo. Badala ya kuwa moja kwa moja inayohusishwa na mtu mmoja, kazi inalenga kuwa inayoweza kuchukuliwa na yeyote anayehitaji (na ana idhini za kutosha). Mtumiaji wa IAM anaweza kuchukua jukumu kwa muda kuchukua ruhusa tofauti kwa kazi maalum. Kazi inaweza kutolewa kwa mtumiaji aliyeunganishwa ambaye anaingia kwa kutumia mtoa huduma wa kitambulisho wa nje badala ya IAM.

Kazi ya IAM inajumuisha aina mbili za sera: Sera ya imani, ambayo haiwezi kuwa tupu, inayoelezea nani anaweza kuchukua jukumu, na sera ya ruhusa, ambayo haiwezi kuwa tupu, inayoelezea inaweza kupata nini.

Huduma ya Kitambulisho cha Usalama cha AWS (STS)

Huduma ya Kitambulisho cha Usalama cha AWS (STS) ni huduma ya wavuti inayorahisisha utoaji wa vyeti vya muda, vya kikomo. Imelenga haswa kwa:

Vyeti vya muda vinatumika hasa na vyeo vya IAM, lakini kuna matumizi mengine pia. Unaweza kuomba vyeti vya muda ambavyo vina seti iliyopunguzwa zaidi ya ruhusa kuliko mtumiaji wako wa kawaida wa IAM. Hii inazuia wewe kutoka kwa kufanya kwa bahati mbaya kazi ambazo haziruhusiwi na vyeti vilivyopunguzwa zaidi. Faida ya vyeti vya muda ni kwamba hufikia ukomo kiotomatiki baada ya muda uliowekwa. Una udhibiti wa muda ambao vyeti ni halali.

Sera

Ruhusa za Sera

Hutumiwa kuweka ruhusa. Kuna aina 2:

  • Sera zilizosimamiwa na AWS (zilizopangwa mapema na AWS)

  • Sera Zilizosimamiwa na Mteja: Zilizopangwa na wewe. Unaweza kuunda sera kulingana na sera zilizosimamiwa na AWS (kuzibadilisha moja wapo na kuunda yako), kutumia jenereta ya sera (mtazamo wa GUI unaosaidia kutoa na kukataa ruhusa) au kuandika yako mwenyewe.

Kwa upatikanaji wa msingi, kukataliwa kwa kawaida, upatikanaji utapewa ikiwa jukumu maalum limeelezwa. Ikiwa "Kukataa" moja ipo, itapuuza "Ruhusu", isipokuwa kwa maombi yanayotumia vyeti vya usalama vya akaunti ya msingi ya AWS (ambayo huruhusiwa kwa msingi wa kawaida).

{
"Version": "2012-10-17",  //Version of the policy
"Statement": [  //Main element, there can be more than 1 entry in this array
{
"Sid": "Stmt32894y234276923" //Unique identifier (optional)
"Effect": "Allow", //Allow or deny
"Action": [  //Actions that will be allowed or denied
"ec2:AttachVolume",
"ec2:DetachVolume"
],
"Resource": [ //Resource the action and effect will be applied to
"arn:aws:ec2:*:*:volume/*",
"arn:aws:ec2:*:*:instance/*"
],
"Condition": { //Optional element that allow to control when the permission will be effective
"ArnEquals": {"ec2:SourceInstanceARN": "arn:aws:ec2:*:*:instance/instance-id"}
}
}
]
}

Vipengele vya kimataifa vinavyoweza kutumika kwa masharti katika huduma yoyote vimeandikwa hapa. Vipengele maalum vinavyoweza kutumika kwa masharti kwa kila huduma vimeandikwa hapa.

Sera za Ndani

Aina hii ya sera zinapewa moja kwa moja kwa mtumiaji, kikundi au jukumu. Kisha, hazionekani kwenye orodha ya Sera kama nyingine yoyote inavyoweza kuzitumia. Sera za ndani ni muhimu ikiwa unataka kuhifadhi uhusiano wa moja kwa moja kati ya sera na kitambulisho ambacho imeletwa kwake. Kwa mfano, unataka kuhakikisha kuwa ruhusa katika sera haijapewa kimakosa kwa kitambulisho kingine isipokuwa ile iliyokusudiwa. Unapotumia sera ya ndani, ruhusa katika sera haiwezi kupewa kimakosa kwa kitambulisho kibaya. Aidha, unapotumia Konsoli ya Usimamizi wa AWS kufuta kitambulisho hicho, sera zilizojumuishwa katika kitambulisho zinafutwa pia. Hii ni kwa sababu zina sehemu ya kimsingi.

Sera za Rasilimali ya Kikapu

Hizi ni sera zinazoweza kutajwa katika rasilimali. Sio rasilimali zote za AWS zinazisaidia.

Ikiwa mwanzilishi hana kukataa wazi kwao, na sera ya rasilimali inaruhusu ufikiaji wao, basi wanaruhusiwa.

Mipaka ya IAM

Mipaka ya IAM inaweza kutumika kwa kizuia ruhusa ambazo mtumiaji au jukumu anapaswa kuwa nazo ufikiaji. Kwa njia hii, hata kama seti tofauti ya ruhusa zinapewa mtumiaji na sera tofauti operesheni itashindwa ikiwa atajaribu kuzitumia.

Mipaka ni sera tu iliyowekwa kwa mtumiaji ambayo inaonyesha kiwango cha juu cha ruhusa ambazo mtumiaji au jukumu linaweza kuwa nazo. Kwa hivyo, hata kama mtumiaji ana ufikiaji wa Msimamizi, ikiwa mipaka inaonyesha kuwa anaweza kusoma tu vikapu vya S3, hicho ndicho kiwango cha juu anaweza kufanya.

Hii, SCPs na kufuata kanuni ya ruhusa ndogo ni njia za kudhibiti kwamba watumiaji hawana ruhusa zaidi ya zile wanazohitaji.

Sera za Kikao

Sera ya kikao ni sera inayowekwa wakati jukumu linachukuliwa kwa njia fulani. Hii itakuwa kama mipaka ya IAM kwa kikao hicho: Hii inamaanisha kuwa sera ya kikao haipati ruhusa lakini inazizuia kwa zile zilizoonyeshwa katika sera (ikiwa ni ruhusa za juu zaidi zile ambazo jukumu lina).

Hii ni muhimu kwa hatua za usalama: Wakati msimamizi anajiandaa kuchukua jukumu lenye ruhusa kubwa sana anaweza kuzuia ruhusa kwa zile zilizoonyeshwa katika sera ya kikao ikiwa kikao kitadhulumiwa.

aws sts assume-role \
--role-arn <value> \
--role-session-name <value> \
[--policy-arns <arn_custom_policy1> <arn_custom_policy2>]
[--policy <file://policy.json>]

Tafadhali kumbuka kwa chaguo-msingi AWS inaweza kuongeza sera za kikao kwa vikao ambavyo vitazalishwa kwa sababu za tatu. Kwa mfano, katika majukumu yanayodhaniwa ya Cognito yasiyo na uthibitishaji kwa chaguo-msingi (kutumia uthibitishaji ulioboreshwa), AWS itazalisha vyeti vya kikao na sera ya kikao ambayo inapunguza huduma ambazo kikao hicho kinaweza kupata kwa orodha ifuatayo.

Kwa hivyo, ikiwa kwa wakati fulani unakutana na kosa "... kwa sababu hakuna sera ya kikao inayoruhusu...", na jukumu lina ruhusa ya kutekeleza hatua, ni kwa sababu ipo sera ya kikao inayozuia.

Ufedereshaji wa Kitambulisho

Ufedereshaji wa kitambulisho unaruhusu watumiaji kutoka kwa watoaji wa kitambulisho ambao ni wa nje ya AWS kupata rasilimali za AWS kwa usalama bila kutoa sifa za mtumiaji wa AWS kutoka kwa akaunti halali ya mtumiaji wa IAM. Mfano wa mtoa huduma wa kitambulisho unaweza kuwa Active Directory ya Microsoft ya kampuni yako (kupitia SAML) au huduma za OpenID (kama Google). Upatikanaji uliofedereshwa basi utaruhusu watumiaji ndani yake kupata AWS.

Ili kusanidi imani hii, Mtoa Kitambulisho cha IAM huzalishwa (SAML au OAuth) ambayo ita iamini jukwaa lingine. Kisha, angalau jukumu la IAM linapewa (kuamini) Mtoa Kitambulisho. Ikiwa mtumiaji kutoka kwenye jukwaa lililoaminika anapata AWS, atakuwa akifanya hivyo kama jukumu lililotajwa.

Walakini, kwa kawaida utataka kumpa jukumu tofauti kulingana na kikundi cha mtumiaji kwenye jukwaa la tatu. Kisha, majukumu kadhaa ya IAM yanaweza kuamini Mtoa Kitambulisho wa tatu na jukwaa la tatu litakuwa linaloruhusu watumiaji kudai jukumu moja au lingine.

Kituo cha Kitambulisho cha IAM

Kituo cha Kitambulisho cha IAM cha AWS (mrithi wa AWS Single Sign-On) hupanua uwezo wa Kitambulisho na Usimamizi wa Upatikanaji wa AWS (IAM) kutoa mahali pa kati ambapo inakusanya usimamizi wa watumiaji na upatikanaji wao kwa akaunti za AWS na programu za wingu.

Domeini ya kuingia itakuwa kitu kama <user_input>.awsapps.com.

Kuingiza watumiaji, kuna vyanzo 3 vya kitambulisho vinavyoweza kutumika:

  • Kituo cha Kitambulisho: Watumiaji wa kawaida wa AWS

  • Active Directory: Inasaidia kifaa tofauti cha kuunganisha

  • Mtoa Kitambulisho wa Nje: Watumiaji wote na vikundi vinatoka kwa Mtoa Kitambulisho wa Nje (IdP)

Katika kesi rahisi ya kituo cha kitambulisho cha kituo, Kituo cha Kitambulisho kitakuwa na orodha ya watumiaji & vikundi na itaweza kuweka sera kwao kwa akaunti yoyote ya shirika.

Ili kutoa upatikanaji kwa mtumiaji/kikundi cha Kituo cha Kitambulisho kwa akaunti, Mtoa Kitambulisho wa SAML akiwa na imani kwa Kituo cha Kitambulisho atazalishwa, na jukumu lenye imani kwa Mtoa Kitambulisho lenye sera zilizotajwa litazalishwa katika akaunti ya marudio.

Sera ya Ndani ya AwsSSOInlinePolicy

Inawezekana kutoa ruhusa kupitia sera za ndani kwa majukumu yaliyoundwa kupitia Kituo cha Kitambulisho cha IAM. Majukumu yaliyoundwa katika akaunti zinazopewa sera za ndani katika Kituo cha Kitambulisho cha AWS zitakuwa na ruhusa hizi katika sera ya ndani inayoitwa AwsSSOInlinePolicy.

Kwa hivyo, hata kama unaona majukumu 2 na sera ya ndani inayoitwa AwsSSOInlinePolicy, haimaanishi ina ruhusa sawa.

Uaminifu na Majukumu ya Akaunti za Msalaba

Mtumiaji (anayeaminika) anaweza kuunda Jukumu la Akaunti ya Msalaba na baadaye, kuruhusu mtumiaji mwingine (aliyeaminika) kupata akaunti yake lakini tu akiwa na upatikanaji ulioonyeshwa katika sera za jukumu jipya. Ili kuunda hili, tuunda Jukumu jipya na chagua Jukumu la Akaunti ya Msalaba. Majukumu kwa Upatikanaji wa Msalaba hutoa chaguo mbili. Kutoa upatikanaji kati ya akaunti za AWS unazomiliki, na kutoa upatikanaji kati ya akaunti unayomiliki na akaunti ya AWS ya tatu. Inapendekezwa kutaja mtumiaji anayeaminika na usiweke kitu cha jumla kwa sababu la sivyo, watumiaji wengine waliothibitishwa kama watumiaji wa kufedereshwa pia wataweza kutumia vibaya imani hii.

AWS Simple AD

Haitaungwa mkono:

  • Mahusiano ya Uaminifu

  • Kituo cha Utawala cha AD

  • Msaada kamili wa API ya PS

  • Kikapu cha Kurejesha cha AD

  • Akaunti za Huduma zilizosimamiwa na Kikundi

  • Vipanuzi vya Mfumo

  • Hakuna Upatikanaji wa Moja kwa Moja kwa OS au Mifano

Ufedereshaji wa Wavuti au Uthibitishaji wa OpenID

Programu hutumia AssumeRoleWithWebIdentity kuunda vyeti vya muda. Walakini hii haitoi upatikanaji kwa konsoli ya AWS, tu upatikanaji wa rasilimali ndani ya AWS.

Chaguzi Zingine za IAM

  • Unaweza kuweka sera ya nywila kwa chaguzi kama urefu wa chini na mahitaji ya nywila.

  • Unaweza kupakua "Ripoti ya Vitambulisho" na habari kuhusu vitambulisho vya sasa (kama wakati wa uundaji wa mtumiaji, nywila imewezeshwa...). Unaweza kuzalisha ripoti ya vitambulisho mara moja kila masaa manne.

Usimamizi na Upatikanaji wa Kitambulisho cha AWS (IAM) hutoa udhibiti wa upatikanaji wa kina kote AWS. Kwa IAM, unaweza kufafanua nani anaweza kupata huduma na rasilimali zipi, na chini ya hali gani. Kwa sera za IAM, unasimamia ruhusa kwa wafanyakazi wako na mifumo yako ili uhakikishe ruhusa ya chini-kwa-chini.

Vipimo vya Kitambulisho cha IAM

Katika ukurasa huu unaweza kupata vifupisho vya kitambulisho cha IAM kulingana na asili yao:

ABIA

ACCA

Kitambulisho maalum kwa muktadha

AGPA

Kikundi cha mtumiaji

AIDA

Mtumiaji wa IAM

AIPA

Wasifu wa kifaa cha Amazon EC2

AKIA

Kitufe cha kupata

ANPA

Sera iliyosimamiwa

ANVA

Toleo katika sera iliyosimamiwa

APKA

Kitufe cha umma

AROA

Jukumu

ASCA

Cheti

ASIA

Kitufe cha muda (AWS STS) cha ufikiaji hutumia kifupisho hiki, lakini ni kipekee tu kwa ushirikiano na kitufe cha siri cha ufikiaji na kitufe cha kikao.

Ruhusa Zilizopendekezwa kwa Ukaguzi wa Akaunti

Ruhusa zifuatazo hutoa upatikanaji wa kusoma wa metadeta mbalimbali:

  • arn:aws:iam::aws:policy/SecurityAudit

  • arn:aws:iam::aws:policy/job-function/ViewOnlyAccess

  • codebuild:ListProjects

  • config:Describe*

  • cloudformation:ListStacks

  • logs:DescribeMetricFilters

  • directconnect:DescribeConnections

  • dynamodb:ListTables

Mambo Mengine

Uthibitishaji wa CLI

Ili mtumiaji wa kawaida athibitishe kwa AWS kupitia CLI unahitaji kuwa na vitambulisho vya eneo. Kwa chaguo-msingi unaweza kuvikonfiga kwa mkono katika ~/.aws/credentials au kwa kukimbia aws configure. Katika faili hiyo unaweza kuwa na wasifu zaidi ya moja, ikiwa hakuna wasifu uliotajwa ukitumia aws cli, ile iliyoitwa [default] katika faili hiyo itatumika. Mfano wa faili za vitambulisho na wasifu zaidi ya 1:

[default]
aws_access_key_id = AKIA5ZDCUJHF83HDTYUT
aws_secret_access_key = uOcdhof683fbOUGFYEQug8fUGIf68greoihef

[Admin]
aws_access_key_id = AKIA8YDCu7TGTR356SHYT
aws_secret_access_key = uOcdhof683fbOUGFYEQuR2EIHG34UY987g6ff7
region = eu-west-2

If you need to access different AWS accounts and your profile was given access to assume a role inside those accounts, you don't need to call manually STS every time (aws sts assume-role --role-arn <role-arn> --role-session-name sessname) and configure the credentials.

Unaweza kutumia faili ya ~/.aws/config kwa kuonyesha majukumu ya kuchukua, kisha tumia param ya --profile kama kawaida (kuchukua-jukumu kutafanyika kwa njia ya wazi kwa mtumiaji). Mfano wa faili ya config:

[profile acc2]
region=eu-west-2
role_arn=arn:aws:iam::<account-id>:role/<role-path>
role_session_name = <session_name>
source_profile = <profile_with_assume_role>
sts_regional_endpoints = regional

Kwa faili hii ya config unaweza kutumia aws cli kama:

aws --profile acc2 ...

Ikiwa unatafuta kitu fanana na hiki lakini kwa kivinjari unaweza kuangalia urefushaji AWS Extend Switch Roles.

Marejeo

Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (HackTricks AWS Red Team Expert)!

Njia nyingine za kusaidia HackTricks:

Last updated