Basic Gitea Information
Last updated
Last updated
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Osnovna struktura Gitea okruženja je grupisanje repozitorijuma po organizacijama, svaka od njih može sadržati several repositories i several teams. Međutim, imajte na umu da, kao i na github-u, korisnici mogu imati repozitorijume van organizacije.
Štaviše, korisnik može biti član različitih organizacija. Unutar organizacije korisnik može imati različite dozvole za svaki repozitorijum.
Korisnik može biti i deo različitih timova sa različitim dozvolama za različite repozitorijume.
I konačno, repozitorijumi mogu imati posebne mehanizme zaštite.
Kada se organizacija kreira, tim pod nazivom Vlasnici se kreira i korisnik se stavlja unutar njega. Ovaj tim će dati admin pristup nad organizacijom, te dozvole i ime tima se ne mogu menjati.
Org admini (vlasnici) mogu odabrati vidljivost organizacije:
Javno
Ograničeno (samo prijavljeni korisnici)
Privatno (samo članovi)
Org admini takođe mogu naznačiti da li repo admini mogu dodavati ili uklanjati pristup za timove. Takođe mogu naznačiti maksimalan broj repozitorijuma.
Kada se kreira novi tim, biraju se nekoliko važnih podešavanja:
Naznačuje se repozitorijumi organizacije kojima će članovi tima moći da pristupaju: specifični repozitorijumi (repozitorijumi gde je tim dodat) ili svi.
Takođe se naznačuje da li članovi mogu kreirati nove repozitorijume (kreator će dobiti admin pristup).
Dozvole koje će članovi repozitorijuma imati:
Administrator pristup
Specifičan pristup:
U repozitorijumu, org admin i repo admini (ako to dozvoljava org) mogu upravljati ulogama dodeljenim saradnicima (drugim korisnicima) i timovima. Postoje 3 moguće uloge:
Administrator
Pisanje
Čitanje
Korišćenjem korisničkog imena + lozinke i potencijalno (i preporučeno) 2FA.
Možete konfigurisati svoj nalog sa jednim ili više javnih ključeva koji omogućavaju povezani privatni ključ da izvršava radnje u vaše ime. http://localhost:3000/user/settings/keys
Ne možete se predstavljati kao korisnik sa ovim ključevima, ali ako ih ne koristite, može biti moguće da budete otkriveni zbog slanja commit-a bez potpisa.
Možete generisati lični pristupni token da dajte aplikaciji pristup vašem nalogu. Lični pristupni token daje potpun pristup vašem nalogu: http://localhost:3000/user/settings/applications
Baš kao i lični pristupni tokeni, Oauth aplikacije će imati potpun pristup vašem nalogu i mestima kojima vaš nalog ima pristup, jer, kao što je naznačeno u dokumentaciji, opsezi još nisu podržani:
Ključevi za implementaciju mogu imati pristup samo za čitanje ili pisanje repozitorijumu, tako da mogu biti zanimljivi za kompromitovanje specifičnih repozitorijuma.
Zaštita grana je dizajnirana da ne da potpunu kontrolu nad repozitorijumom korisnicima. Cilj je postaviti nekoliko metoda zaštite pre nego što se može pisati kod unutar neke grane.
Zaštita grana repozitorijuma može se naći na https://localhost:3000/<orgname>/<reponame>/settings/branches
Nije moguće postaviti zaštitu grane na nivou organizacije. Tako da sve one moraju biti deklarisane na svakom repozitorijumu.
Različite zaštite mogu se primeniti na granu (kao na master):
Onemogući Push: Niko ne može da pošalje na ovu granu
Omogući Push: Svako ko ima pristup može da pošalje, ali ne može da forsira push.
Lista dozvoljenih korisnika za Push: Samo odabrani korisnici/timovi mogu da pošalju na ovu granu (ali ne može da forsira push)
Omogući Merge lista dozvoljenih: Samo korisnici/timovi sa liste dozvoljenih mogu da spoje PR-ove.
Omogući provere statusa: Zahteva da provere statusa prođu pre spajanja.
Zahteva odobrenja: Naznačite broj odobrenja potrebnih pre nego što se PR može spojiti.
Ograniči odobrenja na listu dozvoljenih: Naznačite korisnike/timove koji mogu odobriti PR-ove.
Blokiraj spajanje na odbijene recenzije: Ako su tražene izmene, ne može se spojiti (čak i ako ostale provere prođu)
Blokiraj spajanje na zvanične zahteve za recenziju: Ako postoje zvanični zahtevi za recenziju, ne može se spojiti
Odbaci zastarele odobrenja: Kada su novi commit-i, stara odobrenja će biti odbijena.
Zahteva potpisane commit-e: Commit-i moraju biti potpisani.
Blokiraj spajanje ako je pull request zastareo
Zaštićeni/Nezaštićeni obrasci datoteka: Naznačite obrasce datoteka koje treba zaštititi/nezaštititi od izmena
Kao što vidite, čak i ako ste uspeli da dobijete neka akreditivna sredstva korisnika, repozitorijumi mogu biti zaštićeni sprečavajući vas da šaljete kod na master, na primer, da kompromitujete CI/CD pipeline.
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)