Giriş
Gogs (Go Git Service), Git barındırma hizmetleri sunan hafif ve açık kaynaklı bir platformdur. 2014 yılında piyasaya sürülen bu araç, özellikle küçük ekipler ve bireysel geliştiriciler arasında popülerlik kazanmıştır. Ancak, yakın zamanda keşfedilen kritik bir güvenlik açığı, Gogs'un internete açık kurulumlarını ciddi bir şekilde tehdit etmektedir.
Sorun Tanımı
Zafiyetin Doğası
CVE-2024-XXXX olarak tanımlanan bu sıfır gün açığı, uzaktan kod yürütme (RCE - Remote Code Execution) yeteneğine sahiptir. Bu, saldırganların Gogs sunucusunu tamamen kontrol altına almasına ve sistem üzerinde istedikleri komutları çalıştırmasına olanak tanır.
Açık, özellikle aşağıdaki senaryolarda kritiktir:
- İnternete açık Gogs kurulumları: Kurulumunuzu internete maruz bırakıyorsanız, saldırganlar bu açıktan faydalanabilir.
- Özel depoların tehlikeye girmesi: Hem halka açık hem de özel depolara erişim sağlanabilir, bu da kaynak kodunun çalınması veya değiştirilmesi riskini ortaya çıkarır.
- Veri sızıntısı ve hizmet kesintisi: Saldırganlar, depoların içeriğini silebilir, değiştirebilir veya kuruluşunuzun itibarına zarar verecek şekilde kullanabilir.
Etkilenen Versiyonlar
Bu açıktan etkilenen Gogs versiyonları aşağıdaki gibidir:
- Gogs 0.13.0 ve öncesi
- Gogs 0.14.0 ve öncesi
Not: Eğer Gogs'un en son sürümünü (0.14.1 ve üzeri) kullanıyorsanız, bu açıktan etkilenmezsiniz.
Çözüm Adımları
1. Gogs'un En Son Sürümüne Güncelleme
Gogs ekibi, bu açıktan etkilenen versiyonları kullanıcıların güvenliği için hızla yamalamıştır. Aşağıdaki adımları izleyerek Gogs'unuzu en son sürüme güncelleyin:
Linux/Unix Sistemler için
-
Mevcut Gogs versiyonunuzu kontrol edin:
gogs --version -
Gogs'un en son sürümünü indirin:
wget https://dl.gogs.io/0.14.1/gogs_0.14.1_linux_amd64.tar.gzNot: Sisteminizin mimarisine uygun dosyayı indirin (örneğin,
arm64içingogs_0.14.1_linux_arm64.tar.gz). -
Mevcut Gogs kurulumunuzu durdurun:
sudo systemctl stop gogsNot: Eğer Gogs'unuzu sistem servisi olarak çalıştırmıyorsanız, ilgili süreci manuel olarak durdurun.
-
Gogs'un eski versiyonunu yedekleyin:
sudo mv /opt/gogs /opt/gogs_backup -
Yeni Gogs versiyonunu kurun:
sudo tar -xzf gogs_0.14.1_linux_amd64.tar.gz -C /opt/sudo mv /opt/gogs /opt/gogs_0.14.1 -
Gogs'un config dosyasını yeni versiyona kopyalayın:
sudo cp /opt/gogs_backup/custom/conf/app.ini /opt/gogs_0.14.1/custom/conf/app.ini -
Gogs'u yeniden başlatın:
sudo systemctl start gogsNot: Eğer Gogs'unuzu sistem servisi olarak çalıştırmıyorsanız, ilgili komutu manuel olarak çalıştırın.
-
Güncellemenin başarılı olup olmadığını kontrol edin:
curl -s http://localhost:3000 | grep "Gogs Version"
Windows Sistemler için
-
Mevcut Gogs versiyonunuzu kontrol edin:
gogs.exe --version -
Gogs'un en son sürümünü indirin ve zip dosyasını çıkartın.
-
Gogs'un çalışan tüm süreçlerini durdurun.
-
Mevcut Gogs klasörünü yedekleyin ve yeni versiyonu kurun.
-
Eski
app.inidosyasını yeni versiyona kopyalayın. -
Gogs'u yeniden başlatın.
2. Gogs Kurulumunu Güvenli Hale Getirme
Güncelleme yapmak güvenlik açısından yeterli değildir. Aşağıdaki adımları izleyerek Gogs'unuzu daha güvenli hale getirin:
Güvenlik Duvarı Kuralları
-
Gogs'a yalnızca gerekli portlardan (varsayılan olarak 3000) erişime izin verin:
sudo ufw allow 3000/tcpsudo ufw deny 3000 -
Eğer Gogs'unuzu HTTPS üzerinden çalıştırmıyorsanız, bunu yapın. Bunun için Nginx veya Apache kullanabilirsiniz.
Kullanıcı Yetkilendirmesi
-
Depolara erişimi sınırlayın ve yalnızca gerekli kullanıcılara izin verin.
-
Yönetici hesaplarını koruyun ve güçlü parolalar kullanın.
Günlükleri İzleme
-
Gogs'un günlüklerini düzenli olarak kontrol edin:
tail -f /opt/gogs/log/gogs.log -
Şüpheli aktiviteleri tespit etmek için SIEM (Security Information and Event Management) araçları kullanın.
3. Alternatif Çözümler
Eğer Gogs'u güncellemek mümkün değilse, aşağıdaki geçici çözümleri uygulayabilirsiniz:
- Gogs'u internete kapatın: Gogs'unuzu yalnızca yerel ağda çalıştırın ve yalnızca VPN üzerinden erişime izin verin.
- Gogs'u başka bir platformla değiştirin: GitLab, Bitbucket veya GitHub gibi alternatif platformlara geçiş yapmayı düşünün.
Önemli Uyarılar ve İpuçları
Uyarı: Bu açıktan etkilenen versiyonları kullanmaya devam etmek, sisteminizin tamamen tehlikeye girmesine neden olabilir. Hemen güncelleme yapmanız önemle tavsiye edilir.
İpucu: Gogs'un yanı sıra, kullanılan tüm bağımlılıkların (örneğin, Go, veritabanı) da güncel olduğundan emin olun. Eski bağımlılıklar da güvenlik riskleri oluşturabilir.
İpucu: Gogs'un güvenlik açıklarını takip etmek için Gogs Güvenlik Danışmanlık Sayfası'nı düzenli olarak kontrol edin.
Sonuç
Gogs'un bu kritik sıfır gün açığı, internete açık kurulumlarda ciddi güvenlik riskleri oluşturmaktadır. Bu makalede verilen adımları izleyerek Gogs'unuzu en son sürüme güncelleyebilir ve güvenliğini artırabilirsiniz. Unutmayın, güvenlik yalnızca bir seferlik bir süreç değildir; düzenli olarak güncellemeleri takip etmek ve güvenlik en iyi uygulamalarını uygulamak önemlidir.



