WordPress Güvenliği

WordPress artık hayatımızın bir parçası oldu. Kişisel bloglar, şirketler, özel tasarımlar artık her şey wordpress üzerinden yapılıyor. Haliyle ne yapacağını şaşırmış arkadaşlarımız hacklemeye yönelik girişimlerde bulunabilirler. Çünkü wordpress açık kaynak kodludur. Bundan dolayı bir açık olduğu zaman hemen bulabiliyorlar.21 maddelik bir liste hazırladım çoğunu yaptığınız takdirde wordpress sisteminizin açıkları kapanacaktır.

 

1-iThemes Security (formerly Better WP Security)

Bu pluginle bir çok güvenlik açığını kolay bir şekilde kapatabilirsiniz.

Buradan indirebilir: https://wordpress.org/plugins/better-wp-security/

Kurulumu burada anlatıldığı gibi yapabilirsiniz:

https://wordpress.org/plugins/better-wp-security/installation/

 

Eklentinin Yararları:

  1. Generator metasını kaldırır
  2. Login ve admin sayfalarının yanı sıra pek çok yönetim sayfasının adını ve URL’sini değiştirir
  3. Login özelliğini pasifleştirebilir ya da periyodik hale getirir
  4. Tema, eklenti ve versiyon güncelleme uyarılarını, bunları güncelleme yetkisi olmayan kullanıcılardan gizler
  5. Windows Live Write header bilgisini kaldırır
  6. RSD header bilgisini kaldırır
  7. Admin hesabını yeniden adlandırabilir
  8. ID’si 1 olan kullanıcının, yani admin’in, ID’sini değiştirebilir
  9. WordPress tablo ön ekini değiştirebilir
  10. Wp-content yolunu değiştirir
  11. Login hata mesajlarını gizler
  12. Yönetici harici herkese rastgele bir versiyon numarası gösterir

 

2-Gereksiz olarak hiç bir dizine chmod 777 yapmayınız.

 

3-wp-config.php içerisine aşağıdaki kodu ekleyiniz varsa değiştiriniz.

 

define(‘DISALLOW_FILE_EDIT’, true);

 

4-wp-includes klasörünü güvenli hale getirin

 

5-.htaccess içerisine aşağıdaki kodu yerleştiriniz.

 

# Block the include-only files.

RewriteEngine On

RewriteBase /

RewriteRule ^wp-admin/includes/ – [F,L]

RewriteRule !^wp-includes/ – [S=3]

RewriteRule ^wp-includes/[^/]+\.php$ – [F,L]

RewriteRule ^wp-includes/js/tinymce/langs/.+\.php – [F,L]

RewriteRule ^wp-includes/theme-compat/ – [F,L]

# BEGIN WordPress

 

<files wp-config.php>

order allow,deny

deny from all

</files>

 

6-Sıksık yedek alın.

7-Wordpress güncellemelerini sıkı takip edin

8-Yönetici kullanıcı adını değiştirir.

WordPress ilk kurulumda yönetici hesabını admin olarak atar.Bu da özellikle doğrudan yönetim panelini ele geçirmek için yapılan kaba kuvvet saldırıları (Brute Force) için bir güvenlik tehdidi oluşturuyor. O yüzden yönetici kullanıcı adını ya database yönetim programı (phpmyadmin) üzerinden ya da yine bir eklenti kullanarak değiştirin.

 

9-Kuvvetli Bir Şifre Kullanın

10-Robot.txt Dosyasını Dikkatli Düzenleyin

Arama motorlarının sitenin alt klasörlerini de listelemesini engellemek için “robot.txt” dosyasına aşağıdaki satırları ekleyin:

User-agent: *

Disallow: /cgi-bin/

Disallow: /site-content/

Disallow: /wp-admin/

Disallow: /wp-includes/

11-Siteye Girişlerde SSL’i Etkinleştirin

WordPress uzunca bir süredir SSL ile kullanıcı/yönetici girişini destekliyor. Bu sayede giriş yaparken kullanıcı bilgileri internet üzerinden şifrelenerek gönderiliyor olacak. Eğer SSL sertifikanız varsa, WordPress’i de SSL’li yapmak için tek yapmanız gereken “wp-config.php” dosyasına aşağıdaki satırı eklemek:

# Sadece kullanıcı girişlerini SSL’li yapmak için:

define(‘FORCE_SSL_LOGIN’, true);

# Hem kullanıcı hem yönetici girişlerini SSL’li yapmak için:

define(‘FORCE_SSL_ADMIN’, true);

12-Veritabanı Kullanıcısının Haklarını Kısıtlayın

Veritabanına ulaşan kullanıcının sadece “select, insert, delete, update, create, drop, alter” yetkilerinin olması yeterli. Diğer yetkileri budayın.

13-Eşsiz doğrulama anahtarları

Bir diğer wp-config.php güvenliğimiz bu. WordPress secret key adresine giriyoruz. Karşımıza aşağıda verdiğime benzer bir kod dizini veriyor:

define(‘AUTH_KEY’,         ‘Rx-n.6AYH>L5iOaE72=rJXt]LDmZyng`xr*B@P(v1nDJC$>bt6Gzd!{`t?>8/A{~’);
define(‘SECURE_AUTH_KEY’,  ‘+OD,C~jf-JJ$AK*Wv`L:`_Q(r)r|F0(Nk-sV)~.l`P(I&J|N~J)DHa(>ozc=v9O-‘);
define(‘LOGGED_IN_KEY’,    ‘MA`Q;]#-~.R}%h}xx_7,W3X*?F;CA&hDxm=:VYy,$0,9?7TY)qlMJjLP8$6e-u=C’);
define(‘NONCE_KEY’,        ‘SynG6/UF}-kM+?KBzDQln3nnm^!Z`v&C1`<?)r&;p=1`LCq79#N<<akd*c/70zPt’);
define(‘AUTH_SALT’,        ‘vH5l![xS%e2&o2-W x<)*2h;VtnIPD89?O}7-N][;N_eslAQ^y[*pdeFc+#8uw]@’);
define(‘SECURE_AUTH_SALT’, ‘2AlRr[B`V`{eY`dFw,@0K9h$8#P6D+Tbl9~CA|h@)U,a8SzO2g(o:z^cy=-.RzEi’);
define(‘LOGGED_IN_SALT’,   ‘KG@Awag#r|(w*(1KOLW+[gr73_ #82+xYkzD5-&9Cr=&rC=N~jIC5R/H#P+c-kHb’);
define(‘NONCE_SALT’,       ‘vl)ft-^IG(0csUP7QO{oHtb:b.2$u+&!bH3|t{vf[2Hn+CwsC(E+bBRU&bmFPsK-‘);

14-Sürüm gizlemek

Tarayıcı üzerinden web sitenizin kaynak koduna baktığınızda meta etiketleri arasında aşağıdaki gibi bir satır görürsünüz.

Bu meta etiketi, Hacker’lara sitenizin hangi WordPress sürümünü kullandığını gösterir. Bu etiketi silmek için kullandığınız temanın “functions.php” dosyası içine aşağıdaki kodu yapıştırın.

remove_action(‘wp_head’,’wp_generator’);

15-.htaccess dosyasını güvenli hale getirmek

Ana dizinde bulunan “.htaccess” dosyanızı açın. En üstüne ekleyin;

ServerSignature Off
LimitRequestBody 10240000
Options All -Indexes
<files .htaccess>
order allow,deny
deny from all
</files>
<files wp-config.php>
order allow,deny
deny from all
</files>
<files wp-load.php>
order allow,deny
deny from all
</files>

16-Dosya izinlerini default değere çekin

Klasörlerin rewrite(tekrar yazma) değerlerini doğru seçmezseniz hack olayı kaçınılmazdır. Muhakkak bir şekilde hack yersiniz. Onun için klasörlerinizi şu özelliklere göre tekrar bir inceleyin. Şu şekilde olmalılar;

 

Ana dizin (public_html veya wordpress dizini): 0755

wp-includes/: 0755
wp-admin/: 0755
wp-admin/js/: 0755
wp-content/: 0755
wp-content/themes/: 0755
wp-content/plugins/: 0755
wp-admin/index.php: 0644
.htaccess: 0644
wp-config.php: 0644

17-Eklentileri gizlemek

Kullandığınız herhangi bir eklentide açık olabilir. Kişiler kullandığınız eklentileri bilirse güvenlik açığı oluşur. Bunun için kullandığınız eklentileri gizlemek zorundasınız. Bunun için wp-content/plugins klasörüne girin. index.html adında bir sayfa oluşturun. Boş bir sayfa da olabilir. Bunu plugins(eklentiler) ana dizinine atın. Böylelikle kişiler kullandığınız bütün eklentileri göremeyecekler.

18-wp-config.php dosyasının yerini değiştirmek

Bu da kilit yöntemlerden bir tanesi. Hack olayını çoğunlukla engeller. Herkes veri taban bağlantı dosyanızın yerini bilirse ne olur? Bence hiç hoş olmaz. Bundan dolayı dosyanızı taşıyalım. Örneğin wp-includes klasörünün içine bir klasör açalım. Klasörün adını da veritabani yapalım. wp-config.php dosyasını da buraya taşıyalım. Yani yeni yolumuz; wp-includes/veritabani/wp-config.php olacak. Taşıma işlemi bittikten sonra wp-load.php dosyasını grepwin ile açıyoruz. Search for kısmına “wp-config.php” yazıyoruz ve Replace bölümüne ise “wp-includes/veritabani/wp-config.php” yazıyoruz. Replace butonuna tıklıyoruz. Daha sonra bu değişikliği ftp’ye tekrar gönderiyoruz. Böylelikle artık hiç kimse veri taban dosyamızın yerini bilmiyor. Tabi siz değişik bir yol seçin, ona göre değiştirin.

19-Oturum Açma Girişimlerini Önleyin

Oturum açma girişimlerini engelleyen eklenti, Admin paneline giriş yapmak için bir çok deneme yapan hacker’ların saldırı girişimlerini engellemek konusunda kullanışlı olmaktadır.

Limit Login Attempts” eklentisini ise “Eklentiler” bölümünden “Yeni Ekle” bölümüne tıklayıp arama yaparak kurabilirsiniz. Oturum açma giriş denemelerini ve diğer sınırlamarı ayarlamak için eklentiyi kurabilir ve değişiklikleri kaydedebilirsiniz.

20-Web Sitenizin Veritabanını Yedekleyin

Web sitenizi güvenli tutmak için veri tabanınızı yedeklemek çok önemlidir. Sitenizde olası bir saldırı durumları oluşursa , tüm site içeriğinizi baştan yüklemeniz gerekebilir. Eğer elinizde veri tabanı yedekleme (backup) dosyası bulunmuyorsa, tüm site içeriğinizi risk altında tutuyorsunuz demektir.

WordPress de yedek alma işlemini kolaylaştıran ücretli ve ücretsiz eklentiler bulunmaktadır. Örneğin WP-DB-Backup eklentisi yeni başlayan kullanıcılar için ücretsiz sunulmakta ve Dünya genelinde en çok indirilen yedekleme eklentisidir.

Veri tabanı yedekleme (backup) eklentisini , yüklemek için panelinizde bulunan “Eklentiler” bölümünden “Yeni ekle” seçeneğine tıklayarak arama kısmına WP-DB-Backup yazarak eklentiyi kurabilirsiniz. Eklentiyi aktif hale getirdikten sonra kullanmaya başlayabilirsiniz.

Eklenti aktif hale getirildikten sonra panelinizde bulunan “Araçlar” bölümünde bulunan “Yedekle” kısmına tıklayın ve karşınız da eklentinin özellikleri gelecektir. Hızlı bir şekilde verilerinizi yedeklerken aynı zamanda bu yedeklemeyi haftalık günlük ve saatlik olarak düzenli bir şekilde alabilirsiniz. Yedeklemiş veri tabanınızı ister sunucunuza veya bilgisayarınıza kayıt edebilir isterseniz de mail adresinize gönderebilirsiniz.

Veri tabanınızı yedekleyerek sitenizi olası saldırılara karşı içerik kaybetme riskinizi ortadan kaldırmış olursunuz.

21-Google Authenticator

Google Authenticator sadece WordPress değil ssh yada ftp gibi bir çok farklı servis için hizmet verebilmektedir. Arka tarafta TOTP denilen Zaman Tabancı Tek Seferlik Şifre mantığını kullanmaktadır. Belirli zaman süresi boyunca geçerli olan 6 haneli şifre oluşturur ve login işleminde mevcut kullanıcı adı ve şifrenin haricinde Google’ın ürettiği bu şifreninde doğru olması gerekmektedir.

WordPress için kurulumu oldukça kolay olan Google Authenticator için aşağıda ki plug’in WordPress’inize kurmalısınız.

http://wordpress.org/plugins/google-authenticator/

Kurulum işlemi tamamlandıktan sonra WordPress yönetim panelinde User -> Profile sekmesine geldiğinizde Google Authenticator Settings isminde bir alanın geldiğini göreceksiniz.

Bu noktadan sonra ki adım için Google Authenticator uygulamasını telefonunuza kurmanız gerekmektedir.

https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2&hl=en

Uygulamayı kurup, User Profile sayfasında ki Active ‘in yanına tick attıktan sonra ekrandaki QR kodu Google Authenticator uygulaması ile okutun. Bu işlem ile artık Google’ın sizin için ürettiği TOTP şifresini görebileceksiniz.

WordPress login sayfasına girdiğinizde aşağıda ki gibi ikinci bir şifre alanı belirecektir. Giriş işlemi için kullanıcı adı ve şifrenizi girdikten sonra telefonunuzda ki Google Authenticator uygulamasını açın  ve Google’ın sizin ürettiği 6 haneli TOTP şifresini girin.

Yorumlar

Burası çok boş... yorum bırakabilirsin!

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Sidebar