Basic Gitea Information

Jifunze na kufanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Jifunze na kufanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks

Basic Structure

Muundo wa msingi wa mazingira ya Gitea ni kuunganisha repos kwa shirika(s), kila moja inaweza kuwa na repo kadhaa na tim kadhaa. Hata hivyo, kumbuka kwamba kama ilivyo kwenye github watumiaji wanaweza kuwa na repos nje ya shirika.

Zaidi ya hayo, mtumiaji anaweza kuwa mwanachama wa mashirika tofauti. Ndani ya shirika mtumiaji anaweza kuwa na ruhusa tofauti juu ya kila repo.

Mtumiaji anaweza pia kuwa sehemu ya timu tofauti na ruhusa tofauti juu ya repos tofauti.

Na hatimaye repos zinaweza kuwa na mifumo maalum ya ulinzi.

Permissions

Organizations

Wakati shirika linaundwa timu inayoitwa Owners inaundwa na mtumiaji anawekwa ndani yake. Timu hii itatoa upatikanaji wa admin juu ya shirika, hizo ruhusa na jina la timu haziwezi kubadilishwa.

Org admins (wamiliki) wanaweza kuchagua kuonekana kwa shirika:

  • Public

  • Limited (watumiaji walioingia tu)

  • Private (wanachama tu)

Org admins wanaweza pia kuonyesha kama repo admins wanaweza kuongeza na au kuondoa upatikanaji kwa timu. Wanaweza pia kuonyesha idadi ya juu ya repos.

Wakati wa kuunda timu mpya, mipangilio kadhaa muhimu inachaguliwa:

  • Inaonyeshwa repos za org ambazo wanachama wa timu wataweza kufikia: repos maalum (repos ambapo timu imeongezwa) au zote.

  • Inaonyeshwa pia kama wanachama wanaweza kuunda repos mpya (muundaji atapata upatikanaji wa admin kwake)

  • Ruhusa ambazo wanachama wa repo watakuwa nazo:

  • Upatikanaji wa Administrator

  • Upatikanaji maalum:

Teams & Users

Katika repo, org admin na repo admins (ikiwa inaruhusiwa na org) wanaweza kusimamia majukumu yaliyotolewa kwa washirika (watumiaji wengine) na timu. Kuna 3 majukumu yanayowezekana:

  • Administrator

  • Write

  • Read

Gitea Authentication

Web Access

Kutumia jina la mtumiaji + nenosiri na uwezekano (na inapendekezwa) 2FA.

SSH Keys

Unaweza kusanidi akaunti yako na ufunguo mmoja au kadhaa wa umma kuruhusu ufunguo wa kibinafsi kufanya vitendo kwa niaba yako. http://localhost:3000/user/settings/keys

GPG Keys

Huwezi kujifanya mtumiaji na funguo hizi lakini kama hutumii inaweza kuwa inawezekana kwamba ugunduliwe kwa kutuma commits bila saini.

Personal Access Tokens

Unaweza kuzalisha token ya upatikanaji wa kibinafsi ili kutoa programu upatikanaji wa akaunti yako. Token ya upatikanaji wa kibinafsi inatoa upatikanaji kamili juu ya akaunti yako: http://localhost:3000/user/settings/applications

Oauth Applications

Kama ilivyo kwa token za upatikanaji wa kibinafsi Oauth applications zitakuwa na upatikanaji kamili juu ya akaunti yako na maeneo ambayo akaunti yako ina upatikanaji kwa sababu, kama ilivyoonyeshwa katika docs, scopes hazijaungwa mkono bado:

Deploy keys

Deploy keys zinaweza kuwa na upatikanaji wa kusoma tu au kuandika kwa repo, hivyo zinaweza kuwa za kuvutia kuathiri repos maalum.

Branch Protections

Branch protections zimeundwa ili kutopeana udhibiti kamili wa repo kwa watumiaji. Lengo ni kutoa mbinu kadhaa za ulinzi kabla ya kuweza kuandika msimbo ndani ya tawi fulani.

Branch protections za repo zinaweza kupatikana katika https://localhost:3000/<orgname>/<reponame>/settings/branches

Haiwezekani kuweka ulinzi wa tawi katika ngazi ya shirika. Hivyo zote lazima zitangazwe kwenye kila repo.

Ulinzi tofauti unaweza kutumika kwa tawi (kama kwa master):

  • Disable Push: Hakuna mtu anayeweza kusukuma kwa tawi hili

  • Enable Push: Mtu yeyote mwenye upatikanaji anaweza kusukuma, lakini si kusukuma kwa nguvu.

  • Whitelist Restricted Push: Watumiaji/timu zilizochaguliwa tu wanaweza kusukuma kwa tawi hili (lakini si kusukuma kwa nguvu)

  • Enable Merge Whitelist: Watumiaji/timu zilizoorodheshwa tu wanaweza kuunganisha PRs.

  • Enable Status checks: Inahitaji ukaguzi wa hali kupita kabla ya kuunganisha.

  • Require approvals: Inaonyesha idadi ya idhini zinazohitajika kabla ya PR kuunganishwa.

  • Restrict approvals to whitelisted: Inaonyesha watumiaji/timu zinazoweza kuidhinisha PRs.

  • Block merge on rejected reviews: Ikiwa mabadiliko yanahitajika, haiwezi kuunganishwa (hata kama ukaguzi mwingine unapita)

  • Block merge on official review requests: Ikiwa kuna maombi rasmi ya ukaguzi haiwezi kuunganishwa

  • Dismiss stale approvals: Wakati commits mpya, idhini za zamani zitafutwa.

  • Require Signed Commits: Commits lazima zisainiwe.

  • Block merge if pull request is outdated

  • Protected/Unprotected file patterns: Inaonyesha mifumo ya faili kulinda/kutoilinda dhidi ya mabadiliko

Kama unavyoona, hata kama umefanikiwa kupata baadhi ya sifa za mtumiaji, repos zinaweza kulindwa kukuzuia kusukuma msimbo kwa master kwa mfano kuathiri CI/CD pipeline.

Jifunze na kufanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Jifunze na kufanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks

Last updated