Wordpress Güvenliği

24 Eylül 2009 | 01:30 | Decrease font size for Post - Wordpress Güvenliği - Advisories - KnbykL Official Web Site | Web Security, Web Application Security | Reset to normal font size for Post - Advisories - KnbykL Official Web Site | Web Security, Web Application Security - Wordpress Güvenliği | Increase font size for Post - Wordpress Güvenliği |

  Wordpress kullanıcılarının dikkate alması gereken konuyu içeren bu dökümanımda temel olarak “Wordpress Güvenliği” hakkında açıklamalar yaptım. Hiçbir eklenti kullanmadan sadece Wordpress’in kendi kodlarıyla oynarak ve biraz temel bilgiyle wordpress‘inizi nasıl güvenli hale getireceğinizi anlattım.
wordpress-guvenligi

  Wordpress saldırılarının istatistiklerine bakıldığında 2004′te 5 farklı saldırı çeşidi görülürken, 2007′de 22, 2009′un Eylül ayında ise bu sayı 104 olarak görülmekte. 
  Yüzdelik orana bakıldığında ise;
   //yüzdelik resim

#Başlangıç
 - Güvenli Veri Tabanı
 - Kullanıcı Adını Varsayılan Yapmayın(admin)
 - Yönetici İçin Güvenli Şifre Seçin
 - Güvenli Giriş ( SSL nedir? )
 - Dosyalarınızı ve Veritabanınızı Yedekleyin
 - Sunucudaki Dizinlerinizi Koruyun
 - Wordpress Sürümünüzü Gizleyin
 - Wp-Admin Klasörüne Erişimi IP Adresi ile Engellemek
 - Login Lock Down Eklentisi

1- Güvenli Veri Tabanı

  • Veritabanı şifrenizi güçlü yapın, kolay kırılacak bir şifre seçmemeye özen gösterin.
  • Veritabanı izinlerinizi verirken dikkat edin. ( Güvenli izin tablosu için bkz: #1 )

#1
database-veritabani

2- Kullanıcı Adını Varsayılan Yapmayın(admin)

  Wordpress kurulumu yapıldığında standart olarak kullanıcı ismi admin olarak atanır (her ne kadar kullanıcı ismi olarak blog içinde farklı isimde kullanabilsekte) ve bu yönetim panelinden değiştirilemez. Kullanıcı ismini database’den değiştirerek kolayca brute force’a karşı bir önlem almış oluruz. Peki nasıl değiştireceğiz?:

  • Bir MySQL yönetim aracı ile (örneğin phpmyadmin) Wordpress’inizin kurulu olduğu database’i görüntüleyin.
  • Bulunduğunuz database’de wp_users tablosunu (Not: wp ön takısı farklılık gösterebilir) seçin ve “Gözat” ‘a tıklayın.
  • Buradan admin ‘i bulun ve “Düzenle”‘ye tıklayın.
  • user_login sütunundaki admin`i değiştirin. Fakat bu tahmin edibelecek kolay bir isim olmasın.

 

3- Yönetici için Güvenli Şifre Seçin

  Şifrenizin güvenliği, blogunuzun güvenliğidir. Bu yüzden şifrenizi kendiniz bile zor hatırlamalısınız. Yani bilindik bir cümle, rakam, telefon numarası olmamalıdır.
  Yanlış -> Mustafa12, Türkiye89, Ankaralı, MustafaveAyşe, 5323008172
  Doğru -> 2gk(3cn-yx

4- Güvenli Giriş (SSL)

Bu kodu wp-config.php’ye kopyalayın. SSL hakkında bilgi için tıklayın

define('FORCE_SSL_ADMIN', true);

Fakat bunun sağlayıcınız tarafından desteklenmiş (SSL sertifikası) olması gerekiyor.

5- Dosyalarınızı ve Veritabanınızı Yedekleyin

Yedek almak bilindiği üzere olası hatalardan yada kötü amaçlı kişilerin amaçlarına ulaştıktan sonra verdiği hasarlardan sitemizi yeniden kurtarabilmemizi sağlar. Yedeklerin güvenli bir yerde tutulması, alınan yedeklerinden hasarlardan nasibini almasını engeller. Mesela günlük yedek alarak bunları bir CD’ye yazdırmanız alınan yedeğin değiştirlmesini ve uzun süre korunmasını sağlar. MySQL yedeğinin yanında dosyaların yedeğini almayıda ihmal etmeyin.

WordPress Database Backup Eklentisi ( indir )

Yedek alan eklentiler arasında en iyisi olan WordPress Database Backup, basit bir şekilde yedek almanızı sağlıyor. Hatta yedek alırken size 3 seçenek sunuyor:

  • Yedek server’da mı depolansın?
  • Yedeği bilgisayarınıza mı yüklemek istersiniz?
  • Yoksa size email olarak mı atılsın?

Ayrıca bunlara ek olarak bir yedek alma takvimi belirleyip bu işi otomatik olarak eklentiye bırakabiliyorsunuz.

6- Sunucunuzdaki Dizinlerinizi Koruyun

wp-content
wp-content/plugins
wp-content/themes
wp-content/themes/temaadi/img
wp-content/uploads

ve kendi özel dosyalarınızı koyduğunuz dizinlere kesinlikle index.html dosyası oluşturun. kendi sitemin plugins dizinine buradan bakabilirsiniz

7- Wordpress Sürümünüzü Gizleyin

  Sitenize saldırı yapacak kişi ilk önce wordpress sürümünüzü öğrenmek isteyecektir. Öğrenirse o sürümdeki güvenlik açıklarını kullanacaktır. Bu yüzden wordpress sürümünüzü gizlemeniz veya değişik göstermenizde fayda var. “header.php”deki ufak bir değişiklikle sürümünüzün gözükmesini engelleyebilir veya sitenizi değişik bir sürüm olarak gösterbilirsiniz.

  header.php’deki bu kodu;

<meta name="generator" content="WordPress <?php bloginfo('version'); ?>"

 silmek istiyorsanız bununla değiştirin;

<meta name="generator" content="WordPress" />

  değişik göstermek için;

<meta name="generator" content="WordPress 11.0" />

Not: 11.0 yazan yere gözükmesini istediğiniz sürümü yazın.

8- Wp-Admin Klasörüne Erişimi IP Adresi ile Engellemek

  Wp-admin klasöründe oluşturacağımız .htaccess dosyası ile belirli bir IP adres(ler)ine erişim hakkı sağlayıp diğerlerinin erişimini engelleyeceğiz.
  “.htaccess” inizin içine;

AuthUserFile /dev/null

AuthGroupFile /dev/null

AuthName "Example Access Control"

AuthType Basic

<limit GET>

order deny,allow

deny from all

allow from xx.xx.xx.xx

allow from xx.xx.xxx.xx

</limit>

 

Bu kodu .htaccess dosyasına ekleyin ve kaydedin. “allow from” karşılıklarına IP adreslerinin geleceklerini unutmayın.

9- Login Lock Down Eklentisi

Login Lock Down eklentisi admin paneline girişteki şifre ekranındaki başarısız girişlerin bir listesini tutar ve bu listede giriş yapmaya çalışan IP adreslerini ve zaman aralıklarını barındırır. Eğer belirlenen başarısız giriş sayısı aşılırsa giriş isteklerine bir süre cevap verilmemesini sağlar. Bu süreleri kendiniz istediğiniz gibi düzenleyebilirsiniz. Buradan eklentiyi indirebilir ve kullanmaya başlayabilirsiniz.

//

SSL Hakkında Bilgi
  • - Kullanıcı güvenli web sitesine giriş yaptığında sunucu ile tarayıcı arasında SSL oturumu başlatılır. Sunucu tarafından, tarayıcıya fonksiyonun çalışabilmesi, yani oturum açıldıktan sonra artık göndericeği şifrelenmiş verilerin açılabilmesi için ihtiyaç duyacağı anahtarları nereden ve ne şekilde alacağını bildirir.
  • - Sertifika sağlayıcı firma, talebin geldiği adresi doğrular var tarayıcıya gerekli anahtarları gönderir.
  • - Bu aşamadan sonra tarayıcı sunucudan gelen verileri elindeki anahtarlarla çözer yada sunucuya göndereceği verileri sunucunun çözebileceği şekilde şifreleyip gönderir.
  • - Eğer SSL anahtarlarınının talep edildiği adres ve diğer kriterler doğru değil ise yada sertifikanın süresi dolmuş ise tarayıcı ihtiyacı olan anahtarları alamaz, dolayısıyla güvenli oturum doğru şekilde başlamaz ve sertifika geçersiz uyarısıyla karşılaşılır.

Makale Adresi: http://www.knbykl.org/wordpress-guvenligi/

Print This Post Print This Post     Mail Bu Makaleyi Yolla     Bu Makaleyi Ekle
  1. 2 Yorum Mevcut “Wordpress Güvenliği”

  2. Çok çok teşekkür ederim üstad. Wordpress güvenliği konusunda yaptıklarını takip ediyorum. Keşke diğer insanlar da senin gibi sadece güvenliğe önem verse.

    Bu yorum hitb-tr tarafından 01 Ekim 2009 | 13:59 tarihinde yapılmıştır.

  3. Bu bilgiler hakikaten çok kıymetli, benim gibi wordpress içerik sistemine ve onun güvenlik konusuna aşina olmayanlar için çok anlamlı. Teşekürler

    Bu yorum Mesih Efrens tarafından 10 Ocak 2010 | 20:16 tarihinde yapılmıştır.

İlgili Makaleler

09.05.09: Blogunuza Yapılan Saldırı Girişimlerini Engelleyin (11) 01.09.09: İndirdiğiniz Dosyalara Dikkat Edin (3)