WordPress Güvenlik Önlemleri: Web Site Güvenliği İçin 24 Adım

Wordpress Güvenlik Önlemleri

WordPress güvenliği, her web sitesi sahibi için dikkate alınması gereken önemli bir konudur. Bu kılavuzda, web sitenizi bilgisayar korsanlarına ve kötü amaçlı yazılımlara karşı korumanıza yardımcı olacak en iyi “WordPress güvenlik önlemleri”ni  paylaştık…


WordPress Güvenlik Önlemleri Nasıl Alınır?

WordPress genel olarak oldukça güvenli bir yazılım olmasına ve yüzlerce geliştirici tarafından düzenli olarak denetlenmesine rağmen, açık kaynaklı bir platform olduğundan ve bazen kullanılan eklenti ve temalardan kaynaklı olarak güvenlik açıkları oluşabiliyor. Riskleri tamamen ortadan kaldırmak mümkün olmasa da, WordPress güvenlik önlemleri ile bu riskleri en aza indirmek mümkün.

İnternet live stats (İnternet canlı istatistikleri)‘ne göre her gün “100 bin“den fazla web sitesi saldırıya uğruyor. Bu sitelerin arasında yer almamak için (ya da riski düşürmek için) WordPress güvenlik önlemleri almak kritik öneme sahip.

İşte yapabilecekleriniz için bir liste:

1. Güvenilir ve nitelikli hosting firmaları seçin

Web siteniz veya işletmeniz için hosting seçimi site güvenliğinin can damarıdır desek abartmış olmayız. Bu nedenle WordPress güvenlik önlemleri arasında ilk sıradadır.

Bir web site veya blog açmak için ilk iş hosting seçimi yapmaktır. İşte tam bu noktada, yani daha yolun başındayken iyi bir hostinge yatırım yapmanız yararınıza olacaktır. Seçeceğiniz firma en son PHP ve MySQL sürümünün yanı sıra, bir güvenlik duvarı, günlük yedekleme, kötü amaçlı yazılım taramaları, DDOS önleme tedbirleri ve 7/24 güvenlik izleme gibi önemli hizmetleri içermelidir.

Bu şartları karşılayan bir hostingin maliyeti diğerlerine göre daha yüksek olabilir ama yine de web sitenizin güvenliği ve sağlıklı işleyişi için buna değer.

2. WordPress güvenliği ve güvenilirliği için SSL kullanın

SSL (Secure Socket Layer), veri aktarımını şifreleyen bir protokoldür. SSL’yi etkinleştirdiğinizde, web siteniz HTTP yerine HTTPS olarak açılır ve URL’nin önünde sitenin güvenli olduğunu belirten bir asma kilit sembolü bulunur.

SSL ile sadece WordPress güvenlik önlemi almış olmazsınız, aynı zamanda arama motoru sıralamanız da olumlu etkilenir. (Google https’in resmi olarak bir sıralama faktörü olduğunu belirtmiştir!)

SSL sertifikaları genellikle sertifika yetkilileri tarafından verilir ve genellikle yüksek fiyatları vardır. Ancak, kar amacı gütmeyen bir kuruluş olan Let’s Encrypt ile ücretsiz SSL kullanmanız da mümkün. Hatta artık birçok barındırma şirketi, müşterileri için ücretsiz SSL sertifikası sunuyor.

3. Sitenizi düzenli olarak yedekleyin

Sitenizin güvende kalmasını sağlamak için ne kadar önlem alırsanız alın, yapmanız gereken en önemli şey düzenli olarak yedek almaktır. Sitenizi saldırganlara kaptırırsanız, aldığınız yedekler sayesinde durumu en az hasarla atlatabilirsiniz. Yani ilk savunmanız bu yedekler olacaktır.

“WordPress Yedek Alma: En İyi Yedekleme Eklentileri ve Manuel Yedekleme Yöntemleri” başlıklı içerikte gerekli tüm detayları bulabilirsiniz.

4. WordPress sürümünü, eklentilerinizi ve temalarınızı güncel tutun

Güncellenmemiş Wp sürümü, eklenti ve temalar büyük güvenlik açıkları yaratabilir.

WordPress, düzenli olarak bakımı yapılan ve güncellenen açık kaynaklı bir yazılımdır. Her yeni sürüm çıktığında birçok hata ve güvenlik açığı giderilir. Aynı şekilde tema ve eklentilerinizin de her zaman güncel sürümünü kullandığınızdan emin olun. Güncelleme yapmazsanız siteniz ciddi risk altında olur.

Peki güncelleme nasıl yapılır?

WordPress, tema ve eklentiler için yeni bir güncellemeniz varsa, bunları yönetim paneli “Güncellemeler” kısmından görebilir ve buradan tek tıkla güncelleyebilirsiniz.

Wordpress Güvenliği İçin Güncellemeler

***Kullanmadığınız tema ve eklentileri mutlaka kaldırın.

5. Güçlü parolalar kullanın

Zayıf parolaların tahmin edilmesi kolaydır. Bilgisayar korsanları, kaba kuvvet saldırıları olarak da bilinen girişleri zorlamak için özel bir yazılım kullanır. Bu nedenle, WordPress güvenliği için benzersiz güçlü parolalar oluşturmak önemlidir.

Güçlü bir parola bulmak için büyük ve küçük harflerin, rasgele sayıların ve simgelerin kombinasyonunu kullanın. Ayrıca şifrenizi birkaç ayda bir değiştirmeyi de unutmayın.

Sadece WordPress hesabınıza giriş için değil, aynı zamanda barındırma hesabı, FTP hesapları, veritabanı ve özel e-posta hesaplarınız için de mutlaka güçlü parolalarınız olsun.

6. İki faktörlü kimlik doğrulama kullanın

Parolanız ne kadar güvenli olursa olsun, yine de risk devam eder. İki faktörlü kimlik doğrulama, oturum açmak için yalnızca şifrenize değil, ikinci bir yönteme de ihtiyaç duyduğunuz iki aşamalı bir süreci içerir.

Genellikle bir SMS, telefon araması veya zamana dayalı tek seferlik şifre ile giriş onayı yapmak en iyi WordPress güvenlik önlemleri arasındadır. Hatta çoğu zaman %100 etkilidir.

Bunun için aşağıdaki eklentilerden birini kullanabilirsiniz:

7. CAPTCHA ile WordPress giriş güvenliği

CAPTCHA kullanmak, web sitenize kaba kuvvet saldırılarını önlemenin basit ama etkili bir yoludur.

Belirli sayıda başarısız oturum açma girişiminin ardından, kullanıcının insan mı yoksa bot mu olduğunu belirlemek için bir CAPTCHA oluşturulur. CAPTCHA’lar botlar tarafından okunamayacak şekilde tasarlanmıştır. Botlar CAPTCHA’yı çözene kadar oturum açamazlar.

8. WordPress girişi için kullandığınız kullanıcı adını gizleyin

Kullanıcı adınızı öğrenmek isteyen kişinin tarayıcıya şu basit url’yi girmesi yeterlidir: siteadi.com/wp-json/wp/v2/users

Bunu önlemek için functions.php dosyanıza aşağıdaki kod parçacığını girin. Bu kod ile kullanıcı listesi gizlenir ve url’yi girenlere bir hata mesajı görünür.

add_filter( 'rest_endpoints', function( $endpoints ){
if ( isset( $endpoints['/wp/v2/users'] ) ) {
unset( $endpoints['/wp/v2/users'] );
}
if ( isset( $endpoints['/wp/v2/users/(?P<id>[\\\\\\\\d]+)'] ) ) {
unset( $endpoints['/wp/v2/users/(?P<id>[\\\\\\\\d]+)'] );
}
return $endpoints;
});

9. WordPress giriş url’nizi değiştirin

WordPress güvenlik önlemleri almanın bir diğer önemli adımı da WordPress giriş url’sini değiştirmektir.

Varsayılan olarak, alan adınızın sonuna /wp-login.php veya /wp-admin/ ekleyen herkes WordPress giriş sayfanıza ulaşabilir. URL’yi değiştirerek kendinizi daha az hedef haline getirebilir ve kaba kuvvet saldırılarına karşı daha iyi korunabilirsiniz. Bu WordPress güvenliği için büyük bir çözüm yolu olmasa da, web sitenizi korumak için diğer WordPress güvenlik önlemleri ile birlikte kullanabileceğiniz bir tedbirdir.

WordPress giriş url’nizi değiştirmenizin en kolay yolu bir eklenti kullanmaktır (özellikle bu işte yeniyseniz). Kullanabileceğiniz en iyi eklentilerden biri de WPS Hide login eklentisidir. Ayrıca başarısız giriş denemelerini sınırlandırmak için de Login Lockdown plugin eklentisini kullanabilirsiniz.

10. WordPress sürümünü gizleyin

Bir bilgisayar korsanının, bilinen WordPress güvenlik açıklarına sahip herhangi bir dosyanızın olup olmadığını öğrenmesinin bir yolu da, hangi WordPress sürümünü kullandığınızı görmesidir. Eğer eski bir sürüm kullanıyorsanız, bu durum sitenizi savunmasız hale getirebilir.

Bilgisayar korsanları, temel WordPress kurulumunun önceki sürümünde var olabilecek herhangi bir güvenlik açığından yararlanabilir. Bu nedenle, kullandığınız WordPress sürümünü gizlemeniz faydalı olacaktır.

Bunun için aşağıdaki kodu function.php dosyanıza eklemeniz yeterlidir:

function wp_version_remove_version() {
return '';
}
add_filter('the_generator', 'wp_version_remove_version');

11. Dosya düzenlemeyi devre dışı bırakın

Tema ve eklenti dosyalarınızı doğrudan WordPress yönetici panelinden düzenleyebilirsiniz. Ancak bu özellik ciddi güvenlik riskleri doğurabilir. Bu nedenle dosyalarınızı doğrudan Wp panelden düzenlemeyi engellemenizi öneririz.

Bunu yapmak için wp-config.php dosyanıza aşağıdaki kodu eklemeniz yeterli olacaktır.

// Disallow file edit
define( 'DISALLOW_FILE_EDIT', true );

cPanel’e giriş yapın ve “Dosya Yöneticisi“ne geçin. “public.html” klasöründe “wp-config.php“yi bulun ve sağ tıkla “Düzenle” seçeneğine tıklayın. Yukarıdaki kodu dosyanın sonuna ekleyip sayfayı kaydedin.

Dosya düzenlemeyi devre dışı bırakın-wp-config.php

12. WordPress veritabanı önekini değiştirin

WordPress güvenliği önlemlerinden bir diğeri de veritabanı önekini değiştirmektir.

Varsayılan olarak, veritabanınızdaki tüm tablolar için wp_ öneki kullanır. Varsayılan ön eki kullanmak, site veritabanınızı SQL enjeksiyon saldırılarına açık hale getirir. Bunu değiştirmeniz güvenliğinizi biraz daha artıracaktır. Örneğin wp_ yerine shfwp_ , mywp_, wpdlt_ vs gibi rasgele bir önek belirleyebilirsiniz.

İlk kez WordPress kurulumu yaptığınızda veritabanı önekini belirleyebilirsiniz. Ancak bunu yapmadıysanız halihazırda wp_ olarak bulunan veritabanı önekini yine de değiştirebilirsiniz. Bu işlem risklidir ve doğru yapılmadığı takdirde sitenizi tamamen bozabilir. Bu nedenle eğer WordPress’e yeterince hakim değilseniz manuel düzenleme yerine All in One WP Security and Firewall  gibi bir güvenlik eklentisi kullanmanızı şiddetle tavsiye ederiz!

13. WordPress’te XML-RPC’yi devre dışı bırakın

XML-RPC, WordPress sitenizi web ve mobil uygulamalara bağlamanıza yardımcı olsa da kaba kuvvet saldırılarını önemli ölçüde artırabilir.

Bu nedenle XML-RPC kullanmıyorsanız, devre dışı bırakmanızı öneririz. Aşağıdaki kodu .htaccess dosyanıza eklemeniz yeterli olacaktır:

Apache’de XML-RPC’yi engelle

<Files xmlrpc.php>
    order deny, allow
    deny from all
    allow from 123.123.123.123
</Files>

Nginx’te XML-RPC’yi engelle

location = /xmlrpc.php {
deny all;
}

Bu işlem yerine dilerseniz Disable XML-RPC Pingback gibi bir eklenti de kullanabilirsiniz.

XML-RPC’nin başarıyla engellenip engellenmediğini WordPress XML-RPC doğrulama hizmeti aracılığıyla test edebilirsiniz

14. PHP hata raporlamasını devre dışı bırakın

Hackerlar hata mesajlarını kötü amaçlı kullanabilirler. Örneğin, bir tema veya eklentiden kaynaklanan bir hata, sunucu yolunuzu görüntüleyebilir.

Hata raporlamayı devre dışı bırakmak için, aşağıdaki kodu wp-config.php dosyanıza ekleyin :

error_reporting (0);
@ini_set ('display_errors', 0);

Ayrıca, her başarısız giriş denemesinde, giriş sayfanızdaki hata mesajları hackerlar için oldukça kullanışlıdır.

functions.php dosyanıza aşağıdaki kod satırını ekleyerek bunları kaldırabilirsiniz:

add_filter('login_errors',create_function('$a', "return null;"));

15. Dizin listelemeyi devre dışı bırakın

Wp Güvenliği için Dizin listelemeyi devre dışı bırakın

Dizin tarama, başkaları tarafından dosyalarınıza bakmak, görüntüleri kopyalamak, dizin yapınızı ve diğer bilgileri bulmak için kullanılabilir. Ayrıca, bilgisayar korsanları güvenlik açıkları bulmak için dizin taramayı kullanabilir. Bu nedenle bu özelliği kapatmanızı şiddetle tavsiye ederiz.

Bunun nasıl yapılacağıyla ilgili gerekli detayları içeren “WordPress’te Dizin Listelemeyi Devre Dışı Bırakma” başlıklı yazımıza bakabilirsiniz.

16. wp-config.php dosyanızı koruyun

Wp-config.php dosyası sitenizdeki en önemli, aynı zamanda en savunmasız dosyalardan biridir. Oldukça hassas veriler içerir. Bu dosyayı mutlaka korumaya almak gerekir.

Bunu yapmanın en basit yolu ise, wp-config.php dosyasını WordPress kök dizininizin bir adım üstüne taşımaktır.

Ayrıca aşağıdaki kodu .htaccess dosyanıza ekleyerek de dosyaya erişilmesini engelleyebilirsiniz:

<Files wp-config.php>
   order allow,deny
   deny from all
</Files>

17. Diğer hassas dosyalara erişimi engelleyin

WordPress kurulumu sadece wp-config.php dosyasını değil, install.php, readme.html dosyaları gibi birkaç hassas dosya daha içerir. Bu dosyalar başkalarının erişimine kapalı olmalıdır.

Yine burada en iyi dostumuz olan .htaccess dosyası devreye giriyor. Aşağıdaki kodları bu dosyaya ekleyerek hassas dosyalarınızı yetkisiz erişimlerden gizleyebilirsiniz:

<files .htaccess>
     Order allow,deny
     Deny from all
</files>

<files readme.html>
     Order allow,deny
     Deny from all
</files>

<files license.txt>
     Order allow,deny
     Deny from all
</files>

<files install.php>
    Order allow,deny
    Deny from all
</files>

<files error_log>
    Order allow,deny
    Deny from all
</files>

18. Etkin olmayan oturumları otomatik olarak kapatın

Etkin olmayan oturumlar bir güvenlik riski oluşturabilir. Bu nedenle, bu tür oturumları otomatik olarak kapatmak da WordPress güvenlik önlemleri arasına dahil edilmelidir.

Inactive Logout gibi bir eklenti yardımıyla, belirli bir süre etkin olmayan kullanıcı oturumlarını otomatik olarak kapatabilirsiniz.

19. WordPress güvenlik duvarını etkinleştirin

Bir diğer kritik WordPress güvenlik önlemi de “web uygulaması güvenlik duvarı (WAF)” kurmaktır. WAF’ınız, kötü niyetli saldırıları sitenize ulaşmadan önce engelleyen ilk savunma hattıdır.

WordPress güvenlik duvarı eklentileri, web sitenizi kaba kuvvet ve DDoS saldırıları gibi durumlara karşı korur. Sucuri, SiteLock, Wordfence, Cloudflare gibi eklenti ve uygulamalarla bu soruna karşı tedbir alabilirsiniz.

20. En son HTTP güvenlik başlıklarını ekleyin

WordPress güvenlik önlemleri için bir diğer önemli detay da http güvenlik başlıklarından faydalanmaktır. Bunlar genellikle web sunucusu düzeyinde yapılandırılır ve tarayıcıya sitenizin içeriğini işlerken nasıl davranması gerektiğini söyler.

HTTP güvenlik başlıkları, saldırıların ve güvenlik açıklarının azaltılmasına yardımcı olur.

WordPress web sitenizi securityheaders.io aracıyla tarayıp şu anda sitenizde hangi HTTP güvenlik başlıklarının bulunduğunu görebilirsiniz. Eksik http başlıkları için aşağıdaki satırları .htaccess dosyanıza ekleyebilir ya da bunu daha kolay hale getirmek için HTTP headers to improve web site security eklentisini kullanabilirsiniz.

# X-Frame-Options
<IfModule mod_headers.c>
	Header set X-Frame-Options "SAMEORIGIN"
</IfModule>
# Strict-Transport-Security
<IfModule mod_headers.c>
	Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains"
</IfModule>
# X-Content-Type-Options
<IfModule mod_headers.c>
	Header set X-Content-Type-Options "nosniff"
</IfModule>
# Referrer-Policy
<IfModule mod_headers.c>
	Header set Referrer-Policy "same-origin"
</IfModule>

21. Doğru dosya izinleri kullanın

777 gibi yanlış dosya izni , bir hackerın dosya yüklemesine veya mevcut bir dosyayı değiştirmesine izin verebilir. Dosya izinlerini değiştirmek için cPanel’inizde oturum açmanız, “Dosya Yöneticisine” gitmeniz ve gerekli değişiklikleri yapmanız gerekir.

WordPress’e göre, aşağıdaki izinler doğru izinlerdir:

  • Tüm dizinler 755 veya 750 olmalıdır
  • Tüm dosyalar 644 veya 640 olmalıdır
  • wp-config.php 440 veya 400 olmalıdır

Doğru dosya izinleri için WordPress’in kapsamlı kılavuzuna buradan göz atabilirsiniz.

22. Sitenizi Google Search Consol’a ekleyin

WordPress sitenizi Google Search Consol’a eklemenin bir çok avantajı vardır. Sitenizle ilgili verileri görmenin yanı sıra, güvenlik sorunlarını da buradan görebilirsiniz.

Google sitenizle ilgili sorunlar tespit ederse e-posta yoluyla sizi bilgilendirir.

23. Web sitenizi kötü amaçlı yazılımlara karşı tarayın

Web sitesi trafiğinde veya arama sıralamalarında ani bir düşüş fark ederseniz, manuel olarak bir tarama yapmanız sorunun tespiti için faydalı olabilir. Hatta herhangi bir sorun yaşamasanız bile düzenli olarak tarama yapmanızı öneririz. Bunun için  kötü amaçlı yazılım ve güvenlik tarayıcılarından birini kullanabilirsiniz.

Hızlı tarama için buraya tıklayın!

24. Tüm WordPress güvenlik önlemlerini kapsayan bir güvenlik eklentisi kullanın

WordPress güvenlik önlemleri almanın en basit, hızlı ve güvenli yolu, yukarıdaki adımları ve daha fazlasını içeren hepsi bir arada bir WordPress güvenlik eklentisi kullanmaktır.

Güvenlik eklentilerinin bir çoğu sitenizi güvende tutmak için gerekli tedbirleri içerir ve bunu otomatikleştirerek sizi manuel önlemler alma zahmetinden kurtarır.

WordPress güvenlik önlemleri için en iyi eklentilerin bulunduğu “En İyi WordPress Güvenlik Eklentileri (12 Popüler Eklenti)“başlıklı yazımız, ihtiyacınız olan eklentiyi seçmenize yardımcı olabilir.


Evet, web site sahiplerinin WordPress güvenliğini arttırmak için yapabileceği çok şey var. Yukarıda bu önlemlerden bazılarına değindik.

Dünyanın en popüler CMS’si olan WordPress, çok sayıda hackerın hedefidir. Bu nedenle, vakit kaybetmeden WordPress güvenliği için gerekli önlemleri almak gerekir. Yine de %100 güvenlik diye bir şey ne yazık ki söz konusu değildir; amacımız önlemlerle riskleri en aza indirmek, kötü niyetli kişilerin işlerini zorlaştırmaktır…