Basic Gitea Information

AWS hacklemeyi sıfırdan kahraman seviyesine öğrenin htARTE (HackTricks AWS Kırmızı Takım Uzmanı)!

HackTricks'i desteklemenin diğer yolları:

Temel Yapı

Temel Gitea ortam yapısı, kuruluş(lar) tarafından repo'ları gruplamak için kullanılır, her biri birkaç depo ve birkaç ekip içerebilir. Ancak, github'da olduğu gibi kullanıcıların kuruluş dışında da repo'ları olabileceğini unutmayın.

Ayrıca, bir kullanıcı, farklı kuruluşların üyesi olabilir. Kullanıcı, kuruluş içinde her bir repo üzerinde farklı izinlere sahip olabilir.

Bir kullanıcı ayrıca, farklı repo'lar üzerinde farklı izinlere sahip olan farklı ekiplerin bir parçası olabilir.

Son olarak, repo'lar özel koruma mekanizmalarına sahip olabilir.

İzinler

Kuruluşlar

Bir kuruluş oluşturulduğunda, Sahipler adında bir ekip oluşturulur ve kullanıcı içine yerleştirilir. Bu ekip, kuruluşa yönetici erişimi sağlar ve bu izinler ve ekip adı değiştirilemez.

Kuruluş yöneticileri (sahipler), kuruluşun görünürlüğünü seçebilir:

  • Halka açık

  • Sınırlı (yalnızca giriş yapmış kullanıcılar)

  • Özel (sadece üyeler)

Kuruluş yöneticileri, ayrıca repo yöneticilerinin takımlar için erişim ekleyip veya kaldırabileceğini belirtebilir. Ayrıca, maksimum repo sayısını belirtebilirler.

Yeni bir ekip oluşturulduğunda, birkaç önemli ayar seçilir:

  • Ekip üyelerinin erişebileceği ekip üyelerinin orgun repo'ları belirtilir: belirli repo'lar (ekibin eklenmiş olduğu repo'lar) veya tümü.

  • Üyelerin yeni repo'lar oluşturabilmesi belirtilir (oluşturan kişiye yönetici erişimi verilir)

  • Repo üyelerinin sahip olacağı izinler:

  • Yönetici erişimi

  • Belirli erişim:

Ekipler ve Kullanıcılar

Bir repo'da, kuruluş yöneticisi ve repo yöneticileri (kuruluş tarafından izin verildiyse) işbirlikçilere (diğer kullanıcılara) ve ekiplere verilen rolleri yönetebilir. Üç olası rol vardır:

  • Yönetici

  • Yazma

  • Okuma

Gitea Kimlik Doğrulama

Web Erişimi

Kullanıcı adı + şifre ve potansiyel olarak (ve önerilen) bir 2FA kullanarak.

SSH Anahtarları

Hesabınızı, ilgili özel anahtarın adınıza işlemler yapmasına izin veren bir veya birkaç genel anahtarla yapılandırabilirsiniz. http://localhost:3000/user/settings/keys

GPG Anahtarları

Bu anahtarlarla kullanıcıyı taklit edemezsiniz, ancak kullanmadığınızda imzasız taahhütler göndermek için keşfedilebilir.

Kişisel Erişim Belirteçleri

Kişisel erişim belirteci oluşturarak bir uygulamanın hesabınıza erişim sağlamasını sağlayabilirsiniz. Kişisel erişim belirteci, hesabınız üzerinde tam erişim sağlar: http://localhost:3000/user/settings/applications

Oauth Uygulamaları

Kişisel erişim belirteçleri gibi Oauth uygulamaları, hesabınız üzerinde tam erişime sahip olacak ve hesabınızın erişimi olduğu yerler, belgelerde belirtildiği gibi, henüz kapsamları desteklemediği için:

Dağıtım Anahtarları

Dağıtım anahtarları, repo'ya salt okunur veya yazma erişimi olabileceğinden, belirli repo'ları tehlikeye atmak için ilginç olabilir.

Dal Korumaları

Dal korumaları, kullanıcılara bir depoyu tam kontrol vermemek için tasarlanmıştır. Amaç, bir dalın içine kod yazmadan önce birkaç koruma yöntemi koymaktır.

Bir depodaki dal korumaları, https://localhost:3000/<orgadı>/<reponame>/settings/branches adresinde bulunabilir.

Kuruluş düzeyinde bir dal koruması ayarlamak mümkün değildir. Bu nedenle, tüm korumalar her bir repo için belirtilmelidir.

Bir dala (örneğin ana dala) farklı korumalar uygulanabilir:

  • Push Devre Dışı Bırak: Hiç kimse bu dala push yapamaz

  • Push Etkinleştir: Erişimi olan herkes push yapabilir, ancak zorla push yapamaz.

  • Beyaz Liste Kısıtlı Push: Yalnızca belirli kullanıcılar/ekipler bu dala push yapabilir (ancak zorla push yapamaz)

  • Birleştirme Beyaz Listesini Etkinleştir: Yalnızca beyaz listeye alınan kullanıcılar/ekipler PR birleştirebilir.

  • Durum kontrolünü etkinleştir: Birleştirmeden önce durum kontrolünün geçmesi gereklidir.

  • Onayları Gerektir: Bir PR'nin birleştirilebilmesi için gereken onay sayısını belirtin.

  • Onayları beyaz listeye alınanlarla sınırla: PR'leri onaylayabilecek kullanıcıları/ekipleri belirtin.

  • Reddedilen incelemelerde birleştirmeyi engelle: Değişiklikler istendiğinde birleştirilemez (diğer kontroller geçse bile)

  • Resmi inceleme isteklerinde birleştirmeyi engelle: Resmi inceleme istekleri varsa bir

Last updated