secaudit.eu
Sıkılaştırma

OWASP Top 10:2025 WordPress için ne anlama gelir?

OWASP Top 10:2025 WordPress'te: her riskin eklentilerde, temalarda ve ayarlarda nasıl göründüğü, site sahipleri ve geliştiricilerin yapabileceği kontroller.

Yazar: , AngelForce OÜ 5 dk okuma

Diğer diller: English Deutsch Français Español Italiano Polski Português

OWASP Top 10, web uygulamalarına yönelik güvenlik risklerinin en bilinen listesidir; 2025 sürümü de 2021 listesinin yerini alıyor. WordPress açısından bakıldığında liste, sitelerin gerçekte nasıl ele geçirildiğini gösteren bir harita gibi okunur: eklentilerde eksik yetki kontrolleri, özensiz yapılandırma ve güncel olmayan ya da terk edilmiş bileşenler.

Bu rehber on riskin her birini WordPress diline çeviriyor; hangilerini site sahiplerinin bugün kontrol edebileceğini, hangilerini ise yalnızca geliştiricilerin kodda düzeltebileceğini gösteriyor.

OWASP Top 10 nedir, ne değildir?

Listeyi, yazılım güvenliği alanında çalışan kâr amacı gütmeyen bir topluluk olan OWASP Foundation yayımlar. OWASP listeyi "a standard awareness document for developers and web application security" (geliştiriciler ve web uygulaması güvenliği için standart bir farkındalık belgesi) olarak tanımlar: güvenlik açığı verilerinden ve bir topluluk anketinden derlenen, en kritik risk kategorilerinin bir sıralaması.

Liste bir sertifika değildir; "OWASP uyumlu" bir site diye bir şey de yoktur. Onu, önce nereye bakmanız gerektiğine karar vermek için kullanın. Test edilebilir gereksinimlerin ayrıntılı bir listesine ihtiyacınız varsa OWASP bunun için Application Security Verification Standard'ı (ASVS) yayımlar.

2025'te neler değişti?

2021 sürümüyle karşılaştırıldığında OWASP Top 10:2025 iki yeni kategori ve birkaç yer değişikliği getiriyor:

  • A03 Software Supply Chain Failures (yazılım tedarik zinciri hataları) yeni. Eski "Vulnerable and Outdated Components" (açık barındıran ve güncel olmayan bileşenler) kategorisini, sitenizi kurarken ve güncellerken kullandığınız her şeyi kapsayacak biçimde genişletiyor.
  • A10 Mishandling of Exceptional Conditions (istisnai durumların yanlış ele alınması) da yeni: kötü hata yönetimi, mantık hataları ve bir şey ters gittiğinde kapıyı açık bırakan ("fail open") sistemler.
  • Sunucu taraflı istek sahteciliği (server-side request forgery, SSRF) artık ayrı bir kategori değil; A01 Broken Access Control kapsamına alındı.
  • Security Misconfiguration (hatalı güvenlik yapılandırması) beşinci sıradan ikinci sıraya yükseldi.
  • A09'un yeni adı Security Logging and Alerting Failures; kimsenin okumadığı kayıtların işe yaramadığını hatırlatan bir değişiklik.

WordPress diliyle on risk

Diyagram: OWASP Top 10:2025'in on riski, bir WordPress sitesinde bulundukları yere göre gruplanmış
On OWASP riskinin tipik bir WordPress sitesinde ortaya çıktığı yerler.
OWASP 2025WordPress'te nasıl görünürİlk kontrol
A01 Broken Access ControlYetki (capability) veya nonce kontrolü olmayan eklenti AJAX ya da REST uç noktalarıRoller ve eklenti uç noktaları
A02 Security MisconfigurationCanlı sitede hata çıktısı, açık dizin listeleri, web kök dizininde yedeklerHata ayıklama ayarları, sunucu yapılandırması
A03 Software Supply Chain FailuresGüncel olmayan, terk edilmiş veya nulled eklenti ve temalarEklenti envanteri
A04 Cryptographic FailuresHer yerde HTTPS olmaması, sızmış anahtarlar veya indirilebilir bir wp-config.php yedeğiHTTPS ve gizli anahtarlar
A05 InjectionEklenti veya tema kodunda SQL enjeksiyonu ve siteler arası betik çalıştırma (XSS)Kod incelemesi, güncellemeler
A06 Insecure DesignTarayıcıya güvenen özellikler, örneğin istemcinin gönderdiği bir fiyatTasarım incelemesi
A07 Authentication FailuresZayıf veya tekrar kullanılan parolalar, ikinci faktör yok, sınırsız giriş denemesi2FA, giriş sınırları
A08 Software or Data Integrity FailuresDeğiştirilmiş çekirdek dosyaları, enjekte edilmiş kod, güvensiz unserialize()Sağlama toplamları
A09 Security Logging and Alerting FailuresGirişlerin, yeni yöneticilerin veya dosya değişikliklerinin kaydı yokEtkinlik kaydı
A10 Mishandling of Exceptional ConditionsDosya yollarını açığa çıkaran PHP hataları, başarısız olduğunda erişime izin veren kontrollerHata ayarları

WordPress'te de listenin başında bozuk erişim kontrolü yer alıyor: Patchstack'in State of WordPress Security in 2026 raporu, onu 2025'te en çok istismar edilen güvenlik açığı kategorisi olarak gösteriyor. Patchstack güvenlik ürünleri satan bir şirkettir; bu nedenle bu veriyi konuya hâkim kaynaklardan biri olarak okuyun.

Site sahiplerinin bugün kontrol edebileceği beş risk

Bunlar için kod okumanız gerekmez. Yönetim paneli veya WP-CLI ile her kontrol yalnızca birkaç dakikanızı alır.

A03: Bileşenlerinizi tanıyın ve güncel tutun

WordPress güvenlik açıklarının çoğu çekirdekte değil, eklentilerde ve temalardadır. Bir envanter tutun, güvenlik sürümlerini hızla kurun ve kullanmadığınız her şeyi silin. Şu komut, bekleyen bir güncellemesi olan eklentileri listeler:

wp plugin list --update=available --fields=name,version,update_version

Açık barındıran WordPress eklentileri rehberimiz, terk edilmiş ve nulled eklentileri ayrıntılı olarak ele alıyor.

A02 ve A10: Hataları ziyaretçilerden gizleyin

Canlı bir site asla PHP hataları veya uyarıları göstermemelidir, çünkü bunlar dosya yollarını ve bazen veritabanı ayrıntılarını açığa çıkarır. Canlı ortamda wp-config.php içinde hata ayıklamayı kapalı tutun:

define( 'WP_DEBUG', false );
define( 'WP_DEBUG_DISPLAY', false );

Ayrıca sunucunuzun dizin içeriklerini listelemediğinden ve web kök dizini altında erişilebilir hiçbir yedek veya dışa aktarma dosyası bulunmadığından emin olun.

A07: Her girişi koruyun

Tüm yöneticiler ve editörler için iki faktörlü kimlik doğrulamayı açın ve başarısız giriş denemelerini sınırlayın. WordPress için iki faktörlü kimlik doğrulama rehberimiz, kimlik doğrulama uygulamalarından geçiş anahtarlarına (passkey) kadar seçenekleri anlatıyor.

A08: Dosyaların orijinal olduğunu doğrulayın

WP-CLI, dosyalarınızı WordPress.org'un resmî sağlama toplamlarıyla (checksum) karşılaştırır:

wp core verify-checksums
wp plugin verify-checksums --all

Çekirdekte değiştirilmiş ya da tanınmayan her dosyaya bakmaya değer. WordPress.org dışından gelen eklentiler bu yolla kontrol edilemez; onları geliştiricisinden yeni indirdiğiniz temiz bir kopyayla karşılaştırın.

A09: Kayıt tutun ve uyarı alın

Girişleri, yeni kullanıcıları, rol değişikliklerini, eklenti kurulumlarını ve dosya değişikliklerini kayda alın ve birinin uyarı aldığından emin olun. Bu kayıtlar olmadan bir olayın ardından ne olduğunu anlayamaz, veri ihlali rehberimizde anlatılan GDPR'ın 72 saatlik bildirim süresine de uyamazsınız.

Yalnızca geliştiricilerin düzeltebileceği üç risk

Eklenti veya tema geliştiriyorsanız A01, A05 ve A10 büyük ölçüde birkaç WordPress fonksiyonunu tutarlı biçimde kullanmaya dayanır.

  • Erişim kontrolü (A01): yetki gerektiren her işlemden önce current_user_can() ile kontrol yapın, nonce'ları check_ajax_referer() veya wp_verify_nonce() ile doğrulayın ve her REST rotasına bir permission_callback verin. WordPress 5.5'ten beri bu geri çağırma işlevi olmayan bir rota bir uyarı (notice) üretir; herkese açık olması amaçlanan rotalar için WordPress __return_true kullanılmasını önerir.
  • SSRF (artık A01'in parçası): kullanıcının verdiği bir URL'yi çağırırken wp_safe_remote_get() kullanın. Bu fonksiyon adresi ve her yönlendirmeyi doğrular; yerel ve özel ağları varsayılan olarak reddeder.
  • Enjeksiyon (A05): sorguları $wpdb->prepare() ile oluşturun, girdiyi geldiği anda temizleyin (sanitize_text_field(), absint()) ve çıktıyı olabildiğince geç, yazdırırken güvenli hâle getirin (esc_html(), esc_attr(), esc_url()).
  • İstisnai durumlar (A10): başarısız olabilecek her çağrıda is_wp_error() ile kontrol yapın ve güvenlik kontrollerini hata durumunda kapalı kalacak ("fail closed") şekilde kurun: bir yetki veya lisans kontrolü tamamlanamıyorsa işlemi reddedin.

Bu kurallara uyan bir REST rotası şöyle görünür:

register_rest_route( 'myplugin/v1', '/report', array(
    'methods'             => 'POST',
    'callback'            => 'myplugin_save_report',
    'permission_callback' => function () {
        return current_user_can( 'manage_options' );
    },
) );

WordPress geliştirici el kitabının güvenlik bölümü, her fonksiyonu örneklerle açıklar.

OWASP, GDPR ve NIS2

OWASP Top 10 bir yasa değildir, ancak web güvenliğinde "teknolojinin son durumu" için yaygın bir başvuru kaynağıdır. GDPR Madde 32, uygun teknik tedbirlerin yanı sıra bunların etkinliğini düzenli olarak test etmeye, ölçmeye ve değerlendirmeye yönelik bir süreç ister. Bir WordPress sitesini on kategoriye göre test etmek, bu süreci göstermenin pratik bir yoludur.

NIS2 kapsamındaki kuruluşlar için Madde 21(2), edinme, geliştirme ve bakım süreçlerinde güvenliği, güvenlik açığı yönetimi dahil, asgari önlemler arasında sayar. A03 ve A05 doğrudan bu yükümlülüğe karşılık gelir.

Eklentimiz Security Audit & Compliance, her bulguyu GDPR Madde 32 ve NIS2 Madde 21'in yanı sıra bir OWASP Top 10:2025 kategorisiyle de eşleştirir; böylece raporda bir sorunun hangi riske ait olduğu görünür. Eklenti tespit eder ve raporlar; düzeltme kararı size kalır. Neleri kontrol ettiğine bakın.

Sık sorulan sorular

OWASP Top 10 yasal bir zorunluluk mu?

Hayır. Bir farkındalık belgesidir. GDPR gibi yasal düzenlemeler uygun bir güvenlik düzeyi ister; Top 10 ise bunun bir web sitesi için ne anlama geldiğine karar vermenize yardımcı olur.

2025 sürümü yüzünden güvenlik incelememi yenilemem gerekir mi?

Sıfırdan değil. Risklerin çoğu yerinde kaldı; notlarınızı yeni A03 ve A10 kategorilerine ve yeni numaralandırmaya göre güncelleyin.

WordPress çekirdeği büyük bir OWASP riski oluşturur mu?

Nadiren. Patchstack 2025'te çekirdekte altı güvenlik açığı saydı ve hepsi düşük öncelikliydi; eklenti ve temalarda ise binlerce açık vardı. Asıl risk eklenti listenizde.

Bu makale genel bilgi niteliğindedir, hukuki danışmanlık değildir.

Kendi sitenizi kontrol edin

Security Audit & Compliance, secaudit.eu’nun WordPress eklentisidir: zararlı yazılımları, gizli spam’i, değiştirilmiş çekirdek dosyalarını ve açıklı kodu tarar; bulguları GDPR Md. 32, NIS2 Md. 21 ve OWASP Top 10 ile eşleştirir.

Eklentinin neleri kontrol ettiğini görün
Melike Görel

Melike Görel, secaudit.eu’nun arkasındaki Tallinn merkezli yazılım şirketi AngelForce OÜ adına WordPress güvenliği ve AB uyumluluğu rehberlerini yazıyor.

Yapay zekâ desteğiyle hazırlanmış ve yayından önce doğruluğu kontrol edilmiştir. Bu makale genel bilgi niteliğindedir, hukuki danışmanlık değildir.