Geçtiğimiz Cuma akşamı, yan projeniz üzerinde çalışmak için bilgisayarınızı açtınız. Bağımlılıklarınızı güncel tutmak için composer update komutunu çalıştırdınız. Ancak ertesi sabah, kullandığınız popüler bir Laravel paketinin saldırıya uğradığını öğrendiniz. Saldırganlar, 233 farklı versiyona kimlik bilgisi çalan bir kötü amaçlı yazılım yerleştirmişti — SSH anahtarlarınızdan bulut hesaplarınıza, tarayıcı verilerinizden kripto cüzdanlarınıza kadar her şeyi ele geçirebiliyordu. Neyse ki benim Docker tabanlı PHP kurulumum, bu saldırıya karşı bir kalkan görevi gördü.
Peki Docker nasıl bir koruma sağladı? Ve sizin için de neden bu yöntemi benimsemeniz gerekiyor? İşte hikayenin detayları.
Siber Saldırının Arka Planı: Composer Güncellemesiyle Gelen Tehdit
22 Mayıs 2026 tarihinde, saldırganlar Laravel-Lang adlı organizasyonun GitHub hesabını ele geçirdi. Sadece kötü amaçlı bir versiyon yayınlamakla kalmadılar — dört popüler paketin tüm git etiketlerini kendi commit'lerine yönlendirdiler. Saldırının hedefinde ise Composer'ın otomatik yükleyicisi aracılığıyla çalışan bir kimlik bilgisi çalma aracı vardı.
Tehdit ne kadar genişti? Saldırganlar aşağıdaki verileri hedef aldı:
- AWS, GCP ve Azure gibi bulut platformu kimlik bilgileri
- SSH özel anahtarları
- Tarayıcı parolaları ve çerezleri
- Parola yöneticisi veritabanları
- Kripto para cüzdanları
.envdosyaları içindeki gizli bilgiler- Ve değerli görünen hemen hemen her şey
Saldırı sadece 15 dakika sürdü ve dört paketin 233 farklı versiyonunu etkiledi. Eğer 22 Mayıs'ta 22:32 UTC ile gece yarısı arasında composer update çalıştırdıysanız, dijital hırsızın bilgisayarınıza girmesine izin vermiş olabilirsiniz.
Docker Tabanlı PHP Kurulumu: Beklenmedik Bir Koruma Kalkanı
Ben PHP projelerimi Docker içerisinde çalıştırıyorum. Bu kurulumu ilk başta farklı PHP versiyonlarını desteklemek, ZTS (Zend Thread Safety) derlemeleri kullanmak ve yeni bir laptop aldığında kolayca geçiş yapabilmek için oluşturmuştum. Ancak zamanla anladım ki bu mimari, siber saldırılara karşı beklenmedik bir koruma katmanı sağlıyordu.
Kurulumum şu şekilde çalışıyor:
/usr/local/bin/php-dockeradlı bir betik, Docker ortamında PHP çalıştırıyor. Bu betik, çalıştırılan dizini otomatik olarak Docker'a mount ediyor ve Composer dahil tüm komutları container içinde yürütüyor./usr/local/bin/phpve/usr/local/bin/composerbetikleri, PHP ve Composer komutlarını ilgili PHP versiyonunun Docker container'ına yönlendiriyor. Örneğin,php-8.5veyacomposer-7.4şeklinde komutlar çalıştırdığınızda, işlemler doğrudan Docker içerisinde gerçekleşiyor.
Bu sayede, yerel makinenizin ana dizinindeki hassas bilgiler — SSH anahtarları, bulut kimlik bilgileri, tarayıcı verileri ve parola yöneticileri — Docker container'ının izole edilmiş ortamına ulaşamıyor. Saldırganın hedeflediği dosyalar container içinde mevcut değil.
Docker Neleri Korudu? Kritik Verilerinizi Nasıl Koruduğunu Görün
Kimlik bilgisi çalan kötü amaçlı yazılım, aşağıdaki konumlarda arama yapıyor:
~/.ssh/— SSH özel anahtarları~/.aws/credentials— AWS kimlik bilgileri~/.config/gcloud/— GCP kimlik bilgileri~/.azure/— Azure kimlik bilgileri.git-credentials,.netrc,.npmrc,.pypircgibi dosyalar- Tarayıcı verileri (Chrome, Firefox profilleri)
- Parola yöneticileri (KeePass, 1Password)
- Kripto para cüzdanları
Sonuç: Docker container'ında bu dosyaların hiçbiri bulunmuyor. Container'ın /home dizini boş olduğu için saldırganın eline hiçbir şey geçmiyor. Docker Compose yapılandırmasında da yalnızca projenizin bulunduğu dizin mount ediliyor — sistem genelindeki diğer dizinlere erişim kesiliyor.
Docker Kullanmanın Avantajları: Güvenliğin Ötesinde
Docker tabanlı PHP kurulumunun sağladığı faydalar sadece siber saldırılara karşı koruma ile sınırlı değil:
- Çoklu PHP versiyon desteği: Farklı projeler için farklı PHP versiyonlarını aynı anda kullanabilirsiniz. Örneğin, eski bir projede PHP 7.4, yeni bir projede ise PHP 8.5 çalıştırabilirsiniz.
- Temiz ve izole ortam: Proje bağımlılıkları ve sistem genelindeki diğer uygulamalar arasında çatışma yaşanmaz. Her şey container içinde izole olarak çalışır.
- Kolay geçiş ve yedekleme: Yeni bir bilgisayara geçiş yaptığınızda veya projeyi başka bir geliştiriciye aktardığınızda, tüm ortamı kolayca yeniden oluşturabilirsiniz.
- Geliştirme ortamının standardizasyonu: Ekibinizdeki tüm geliştiricilerin aynı ortamı kullanmasını sağlayarak "çalışan makinemde çalışıyor" sorununu ortadan kaldırırsınız.
Geleceğe Bakış: Docker'ı Standartlaştırmak
Mayıs 2026'daki saldırı, geliştiricilerin yerel geliştirme ortamlarını nasıl güvence altına almaları gerektiğine dair önemli bir ders oldu. Docker kullanmak, sadece bağımlılık yönetimini değil, aynı zamanda veri güvenliğini de sağlayan basit ama etkili bir yöntemdir.
Artık Docker tabanlı PHP kurulumunu standartlaştırmak için adımlar atıyorum. Yeni projelerde ve mevcut projelerin çoğunda Docker'ı kullanmayı planlıyorum. Eğer siz de hassas verilerinizi korumak istiyorsanız, Docker'ı bir adım öteye taşıyarak geliştirme ortamınızı daha güvenli hale getirebilirsiniz. Unutmayın, siber tehditler sürekli evriliyor — hazırlıklı olmak en iyi savunmadır.
Yapay zeka özeti
Docker tabanlı PHP kurulumunun siber saldırılardan nasıl koruma sağladığını ve yerel geliştirme ortamınızı nasıl güvenceye aldığını keşfedin.