Log4j
| Geliştirici | Apache Yazılım Vakfı |
|---|---|
| İlk yayınlanma | 8 Ocak 2001) |
| Güncel sürüm | 2.25.3[1] |
| Kod deposu | github.com/apache/logging-log4j2 |
| Programlama dili | Java |
| İşletim sistemi | Çapraz platform |
| Tür | Logging |
| Lisans | Apache Lisansı 2.0 |
| Resmî sitesi | logging.apache.org/log4j/2.x/ |
Log4j, tam adıyla "Logging for Java", Ceki Gülcü ve iki meslektaşı tarafından 1997 yılında İsviçre Rüschlikon'da IBM Araştırma Laboratuvarında kendi projelerinde bir loglama sistemine ihtiyaç duymaları üzerine yaratılmış, Java için bir loglama kütüphanesidir.[2] 2000 yılında IBM tarafından Apache Yazılım Vakfına bağışlanmıştır. [2][3]
Apache bünyesinde Log4j'yi gönüllü olarak geliştirmeye devam eden Ceki Gülcü, 2006 yılında Apache'den ve Log4J geliştirme ekibinden ayrılmıştır.[2]
Bireysel olarak loglayıcı kütüphaneleri geliştirmeye devam eden Gülcü, SLF4J, Reload4j[4] ve Logback[5] adlarında, Log4j'ye alternatif Java loglama kütüphaneleri geliştirmiştir.[2] Bu alternatif projeler, Log4j 2 ile beraber bugün en yaygın kullanılan Java loglayıcı kütüphaneleri arasındadır.[6]
2012 yılında Apache tarafından Log4j yeniden dizayn edildi ve önceki sürümlerdeki pek çok hatanın giderildiği, daha gelişmiş özelliklerin eklendiği Log4j 2 yayınlandı.[7] 2015 yılında eski Log4j 1.X sürümlerinin artık desteklenmeyeceği duyuruldu ve kullanıcılara Log4j 2'ye güncellemeleri önerildi[8]
Log4Shell zafiyeti
[değiştir | kaynağı değiştir]9 Aralık 2021 tarihinde, Alibaba Cloud Güvenlik Takımı tarafından yapılan araştırmada, Log4j 2.0.0 versiyonundan itibaren ileriye dönük bütün versiyonlarda, saldırganların uzaktan kod çalıştırmasını mümkün kılan bir sıfır-gün açığı keşfedildi. Güvenlik takımı bu zafiyete Log4Shell adını vermiştir.[9] Amerikanın en büyük siber güvenlik şirketlerinden Tenable bu durumu "son 15 yılın en büyük ve en kritik güvenlik açığı" olarak tanımlamıştır.[10] Apache, zafiyetin en yüksek CVSS tehlike derecesi olan 10 puan olduğunu açıkladı.[11] Uzmanlara göre kötü aktörlerin bu zafiyeti kullanarak bir saldırı gerçekleştirmesi oldukça kolaydı ve yüz milyonlarca cihaz bu açıktan etkilenmişti.[12][13]
Zafiyet kamuoyuna duyurulmadan 3 gün önce yayınlanan sürüm, 2.15.0-rc1 ile açık giderilmiş olsa da,[14][15] vaktinde güvenli sürüme geçiş yapamayan pek çok şirket bu zafiyetten faydalanan Fidye yazılımların hedefi olmaktan kurtulamadı. Arctic Wolf Sibergüvenlik şirketinin araştırmasına göre, bu zafiyetin etkilenen işletmelere ortalama zararı 90.000$ olarak belirlendi.[16] İlerleyen süreçte, aynı yıl yapılan detaylı tahkikatlarda, kütüphanede iki farklı kritik güvenlik açığı daha tespit edildi [17]
Reload4j
[değiştir | kaynağı değiştir]12 Ocak 2022 tarihinde, uzun yıllardır proje ekibinde olmayan, projenin ilk yaratıcısı Ceki Gülcü; desteği sonra ermiş ve 2013'ten bu yana çözülmesi gereken pek çok hata birikmiş eski versiyon olan 1.2.17 sürümünü düzeltmek amacıyla çatallayarak, Reload4j isimli yeni bir sürüm oluşturdu.[4]
Geliştirici Ceki Gülcü, Reload4j proje sayfasında Log4Shell zafiyeti hakkında şu ifadeleri kullandı:[4]
| “ | Not edilmelidir ki ne log4j 1.X sürümleri ne de reload4j yazılımı, mesaj arama özellikleri içermediğiden, Log4Shell olarak bilinen ünlü güvenlik açığından şuanda da, geçmişte de etkilenmemiştir. | „ |
Özellikler
[değiştir | kaynağı değiştir]Log4j Log Katmanları
[değiştir | kaynağı değiştir]Ceki Gülcü'ye göre bu projenin bu kadar popülerleşmesinin ana sebebi, kendi değimiyle "akıllıca bir fikir" olan katman tabanlı yapısıdır.[2] Kullanıcı hangi katmanlar için log tutulacağını belirleyebilir. Katman büyüdükçe bilgi akışı da büyük ölçüde artar.
Aşağıdaki tabloda, soldaki sütunda katmanların isimleri, sağdaki sütunda ise basitçe her katmanın ne tür bilgiler için kullanıldığı gösterilmiştir.
| Katman | Açıklama |
|---|---|
| OFF | En küçük katman, loglamayı tamamen kapatmak için kullanılır. |
| FATAL | Uygulamanın erken durdurulmasına sebebiyet veren büyük hataları gösterir. |
| ERROR | Uygulamanın çalışması sırasında karşılaşılan diğer hatalar ve durumları da gösterir. |
| WARN | Tam olarak hata denemeyecek problemleri ve uyarıları da belirtir. |
| INFO | Uygulamanın çalışması sırasında gerçekleşen önemli olayları da belirtir. |
| DEBUG | Uygulama akışı hakkında çok detaylı bilgi verir, hata gidermede kullanılır. |
| TRACE | En detaylı ve kapsamlı bilgilendirme, yazılmın akışını tamamen kayıt tutar. |
Kaynakça
[değiştir | kaynağı değiştir]- ^ "Release 2.25.3". 16 Aralık 2025. Erişim tarihi: 17 Aralık 2025.
- ^ a b c d e Fulterer (16 Aralık 2021). "Log4j wurde 1997 in der Schweiz entwickelt – der Erfinder erzählt" [Log4j'nin Yaratıcısı Hikayesini anlatıyor] (Röportaj) (Almanca). Erişim tarihi: 23 Kasım 2025.
- ^ "Logger (Apache Log4j 1.2.17 API) Dökümantasyonu". Erişim tarihi: 23 Kasım 2025.
- ^ a b c "reload4j project". Erişim tarihi: 23 Kasım 2025.
- ^ "Logback Project". Erişim tarihi: 23 Kasım 2025.
- ^ "Best Java Logging Libraries". Erişim tarihi: 23 Kasım 2025.
- ^ Ralph Goers (14 Aralık 2019). "Why was Log4j 2 created?" (blog yazısı).
- ^ "Apache™ Logging Services™ Project Announces Log4j™ 1 End-Of-Life; Recommends Upgrade to Log4j 2". 6 Ağustos 2015. Erişim tarihi: 23 Kasım 2025.
- ^ Weaver, Nicholas (10 Aralık 2021). "What's the Deal with the Log4Shell Security Nightmare?". Lawfare Media. Erişim tarihi: 23 Kasım 2025.
- ^ "Recently uncovered software flaw 'most critical vulnerability of the last decade'". The Guardian. 11 Aralık 2021. Erişim tarihi: 23 Kasım 2025.
- ^ "Apache Loglama Servisleri Güvenlik Sayfası". Apache Yazılım Vakfı. Erişim tarihi: 23 Kasım 2025.
- ^ Murphy, Hannah (14 Aralık 2021). "Hackers launch more than 1.2m attacks through Log4J flaw". Financial Times. Erişim tarihi: 23 Kasım 2025.
- ^ Hunter, Tatum (20 Aralık 2021). "The 'most serious' security breach ever is unfolding right now. Here's what you need to know". The Washington Post. Erişim tarihi: 23 Kasım 2025.
- ^ "Restrict LDAP access via JNDI".
- ^ "log4j-2.15.0-rc1 Sürümü". Erişim tarihi: 24 Kasım 2025.
- ^ "A Log4Shell (Log4j) Retrospective" (İngilizce). Arctic Wolf Labs. 5 Aralık 2022. Erişim tarihi: 24 Kasım 2025.
- ^ CVE-2021-44832, CVE-2021-44832