Uploads Klasöründe Kötü Dosya Erişimine Karşı Güvenlik Önlemleri

“Uploads klasöründeki kötü uzantılı (tehlikeli) dosyalar doğrudan erişilebilir” uyarısı, genellikle bir güvenlik açığına işaret eder. WordPress’te /wp-content/uploads/ klasörü, medya dosyaları için kullanılır ve tarayıcıdan doğrudan erişilebilen bir klasördür. Eğer bu klasöre .php, .exe, .js gibi kötü amaçlı dosyalar yüklenirse, çalıştırılabilir hale gelir — bu da büyük bir güvenlik riski doğurur.

Çözüm: Kötü uzantılı dosyaların çalıştırılmasını engelle

1 .htaccess ile uploads klasöründe PHP çalışmasını engelle:

Eğer sunucun Apache kullanıyorsa, aşağıdaki işlemi yap:

  1. /wp-content/uploads/ klasörünün içine bir .htaccess dosyası oluştur.
  2. İçine şu kodu ekle:
<FilesMatch "\.(php|php[0-9]|phtml)$">
Order Allow,Deny
Deny from all
</FilesMatch>

Bu, .php uzantılı dosyaların çalıştırılmasını engeller ama resim, PDF gibi dosyaları etkilemez.

2. Web sunucusu NGINX ise (Apache değilse)

Sunucun NGINX ise, şu kuralı nginx.conf dosyana ekle:

location ~* /wp-content/uploads/.*\.(php|php[0-9]|phtml)$ {
deny all;
}

3. Yalnızca izin verilen uzantıların yüklenmesini sağla

functions.php içine ekleyerek, sadece belirli dosya türlerine izin verebilirsin:

function allow_only_safe_upload_mimes( $mimes ) {
return [
'jpg' => 'image/jpeg',
'jpeg' => 'image/jpeg',
'png' => 'image/png',
'gif' => 'image/gif',
'pdf' => 'application/pdf',
// diğer güvenli uzantılar eklenebilir
];
}
add_filter( 'upload_mimes', 'allow_only_safe_upload_mimes' );

Ekstra Önlemler
Kötü dosyaları tespit etmek için bir güvenlik tarayıcısı kullan:
Örneğin: Wordfence, Sucuri Scanner, iThemes Security

Uploads klasöründe .php dosyası varsa silin. Normalde o klasörde PHP dosyası olmamalıdır.

    Bir yanıt yazın