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.
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
| OWASP 2025 | WordPress'te nasıl görünür | İlk kontrol |
|---|---|---|
| A01 Broken Access Control | Yetki (capability) veya nonce kontrolü olmayan eklenti AJAX ya da REST uç noktaları | Roller ve eklenti uç noktaları |
| A02 Security Misconfiguration | Canlı sitede hata çıktısı, açık dizin listeleri, web kök dizininde yedekler | Hata ayıklama ayarları, sunucu yapılandırması |
| A03 Software Supply Chain Failures | Güncel olmayan, terk edilmiş veya nulled eklenti ve temalar | Eklenti envanteri |
| A04 Cryptographic Failures | Her yerde HTTPS olmaması, sızmış anahtarlar veya indirilebilir bir wp-config.php yedeği | HTTPS ve gizli anahtarlar |
| A05 Injection | Eklenti veya tema kodunda SQL enjeksiyonu ve siteler arası betik çalıştırma (XSS) | Kod incelemesi, güncellemeler |
| A06 Insecure Design | Tarayıcıya güvenen özellikler, örneğin istemcinin gönderdiği bir fiyat | Tasarım incelemesi |
| A07 Authentication Failures | Zayıf veya tekrar kullanılan parolalar, ikinci faktör yok, sınırsız giriş denemesi | 2FA, giriş sınırları |
| A08 Software or Data Integrity Failures | Değiştirilmiş çekirdek dosyaları, enjekte edilmiş kod, güvensiz unserialize() | Sağlama toplamları |
| A09 Security Logging and Alerting Failures | Girişlerin, yeni yöneticilerin veya dosya değişikliklerinin kaydı yok | Etkinlik kaydı |
| A10 Mishandling of Exceptional Conditions | Dosya yollarını açığa çıkaran PHP hataları, başarısız olduğunda erişime izin veren kontroller | Hata 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()veyawp_verify_nonce()ile doğrulayın ve her REST rotasına birpermission_callbackverin. 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_truekullanı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