Magento PolyShell Güvenlik Açığına Karşı Korunma ve Temizleme Rehberi
Son dönemde, Magento Open Source ve Adobe Commerce platformlarının belirli sürümlerini hedef alan PolyShell adlı kritik bir güvenlik açığı saldırıları yoğunlaşmıştır. Güvenlik araştırmacıları, savunmasız durumdaki Magento mağazalarının %56'sının bu zafiyet üzerinden hedef alındığını rapor etmiştir. Bu makale, yöneticilerin bu tehdidi anlamalarına, sistemlerini kontrol etmelerine ve gerekli temizlik/yama işlemlerini uygulamalarına yardımcı olmak için tasarlanmıştır.
1. PolyShell Zafiyeti Nedir?
PolyShell, genellikle arka kapı (backdoor) yerleştirmek veya uzaktan komut çalıştırmak (RCE) amacıyla kullanılan bir istismar tekniğidir. Saldırganlar, bu zafiyeti kullanarak sunucu üzerinde kalıcı erişim sağlamayı amaçlarlar. Bu tür saldırılar, genellikle dosya yükleme işlevlerindeki veya oturum yönetimi mekanizmalarındaki mantık hatalarından faydalanır.
2. Etkilenen Sürümler ve Öncelikli Kontrol
Bu zafiyet, genellikle Magento 2'nin güncel olmayan veya belirli yamaları almamış sürümlerini etkilemektedir. İlk adım, Magento kurulumunuzun güncel olduğundan emin olmaktır.
- Sürüm Kontrolü: Yönetici panelinizden veya
composer.jsondosyanızdan mevcut Magento sürümünüzü doğrulayın. - Yama Durumu Kontrolü: Adobe Security Bulletin'lerini kontrol ederek, sisteminizin PolyShell'i engelleyen en son güvenlik yamalarını içerdiğinden emin olun.
UYARI: Eğer sisteminizde şüpheli bir dosya veya komut çalıştırma faaliyeti tespit ederseniz, derhal sunucu erişimini (SSH/FTP) kısıtlayın ve sisteminizi çevrimdışı moda alın. Saldırganlar, genelliklevar/view_preprocessedveyapub/staticdizinlerine zararlı dosyalar yerleştirirler.
3. Adım Adım Temizleme ve İyileştirme Süreci
Saldırıya uğradığınızdan şüpheleniyorsanız, aşağıdaki adımları sırasıyla uygulayın. Bu süreç, sistem dosyalarının bütünlüğünü sağlamayı ve kalıcı arka kapıları kaldırmayı hedefler.
3.1. Acil Durum Müdahalesi
- Tüm Şifreleri Değiştirin: Magento Yönetici, Veritabanı (DB), FTP/SSH ve Sunucu (cPanel/Plesk) şifrelerini güçlü şifrelerle değiştirin.
- İstenmeyen Kullanıcıları Kaldırın: Yönetici panelinde (Admin Panel) oluşturulmuş olabilecek tüm şüpheli veya tanımadığınız kullanıcı hesaplarını silin.
- Zararlı Dosya Tespiti: Aşağıdaki komutları kullanarak son yüklenen veya değiştirilen dosyaları kontrol edin (Bu komutlar, saldırganların sıkça kullandığı dizinleri hedefler):
# Son 7 günde değiştirilen dosyaları listeleme (Örnek)
find /path/to/magento -mtime -7 -ls
# Şüpheli PHP dosyalarını arama
find /path/to/magento -name "*.php" -print0 | xargs -0 grep -l 'eval(' | grep -l 'base64_decode'
3.2. Temiz Kod Tabanı ile Karşılaştırma
En güvenli yöntem, temiz bir Magento kurulumu ile mevcut dosyaları karşılaştırmaktır. Eğer bir sürüm kontrol sistemi (Git) kullanıyorsanız, son temiz taahhüt ile mevcut durumu karşılaştırın.
- Temiz Sürümü İndirin: Etkilenen sürümünüzle eşleşen resmi Magento sürümünü indirin.
- Dosya Farklarını Bulun: Yalnızca
app/etc/config.php,app/etc/env.php,pub/mediavepub/staticgibi dinamik olarak oluşturulan dizinler hariç, diğer tüm çekirdek dosyaları karşılaştırın. - Temiz Kodla Değiştirme: Fark bulunan tüm şüpheli dosyaları, temiz sürümdeki karşılıklarıyla değiştirin.
4. Önleyici Tedbirler ve Güvenlik Yapılandırması
Saldırının tekrarlanmasını önlemek için kalıcı önlemler alınmalıdır:
- Güncelleme Zorunluluğu: Magento'yu en son kararlı sürüme güncelleyin.
- Güvenlik Modülü: Güvenlik eklentilerini (örneğin, Web Application Firewall - WAF) aktif edin ve yapılandırın.
- Dosya İzinleri: Web sunucusu (genellikle
www-data) kullanıcısının yazma izinlerini sadece zorunlu dizinlerle (örneğinvar,generated) sınırlandırın.
# Örnek dosya izinleri (Dikkatli uygulanmalıdır)
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
chmod 777 var generated pub/static pub/media



