WordPress'inizi Güncel Tuttun
Wordpress, internetteki web sitelerinin %25'den fazlasına altyapı sağladığı için kötü niyetli kişilerin saldırılarına çok fazla uğramaktadır. WordPress küçük çaplı güncellemeleri otomatik olarak yapıyor. Ancak büyük güncellemeleri kendiniz yapmanız gerekiyor. Bu yüzden yayınlanan güncellemeleri takip ederek gerçekleştirmeniz güvenlik açıklarından korunmanızı sağlayacaktır.Veritabanı Güvenliği
Veritabanı adı, kullanıcısı ve parolası oluştururken tahmin edilmesi zor karakterlerden oluşmalıdır. İlk kurulumda kullanıldıktan sonra tekrar gerekli olmadığı için ne kadar karışık olursa o kadar iyi olacaktır.Ayrıca kurulumda varsayılan olarak WordPress size veritabanı için wp_ ön-ekini sunacaktır. Yine siz bu ön-eki kendi isteğinize göre değiştirin.
WordPress Kullanıcı Adı Seçimi
WordPress kurulumda varsayılan olarak admin kullanıcısını size sunacaktır. Bunun yerine farklı bir kullanıcı adı yazmanızda fayda var. WordPress parolanızın da karmaşık karakterlerden oluşması güvenlik için faydalı olacaktır.Dizin Güvenliği
WordPress'de dizinlere ve dosyalara yanlış izinler verdiğinizde ciddi güvenlik açıklarına neden olmaktadır. Bu yüzden ideal dizin izinlerinizi aşağıda bulabilirsiniz.Kod: Tümünü seç
Ana dizin (root directory) : 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
.htaccess Düzenlemeleri
Aşağıdaki düzenlemeleri .htaccess dosyanıza ekleyin. Değişiklikleri yapmadan önce yedek almayı unutmayın.Kod: Tümünü seç
# .htaccess dosyasına erişimi engelle
<files .htaccess>
order allow,deny
deny from all
</files>
# sunucu imzasını kaldır
ServerSignature Off
# dosya yükleme boyutunu 10mb ile sınırlandır
LimitRequestBody 10240000
# wpconfig.php dosyasına erişimi engelle
<files wp-config.php>
order allow,deny
deny from all
</files>
# wp-load.php dosyasına erişimi engelle
<files wp-load.php>
order allow,deny
deny from all
</files>
# xmlrpc.php dosyasına erişimi engelle
<Files xmlrpc.php>
order deny,allow
deny from all
</Files>
# dizin listelemeyi iptal et
Options All -Indexes
Dosya Düzenleyici Kapatma
WordPress yönetici panelindeki dosya düzenleyicisini basit bir değişiklikle kapatabilirsiniz. Bunun için ana dizinde bulunan wp-config.php dosyasına aşağıdaki kodu eklemeniz yeterlidir.Kod: Tümünü seç
define('DISALLOW_FILE_EDIT', true);
PHP Executionları Engelleme
İstemediğiniz dizinlerdeki php dosyalarının çalıştırılmasını engellemek için aşağıdaki kodu metin editörü ile .htaccess adında bir dosyaya kaydedin. Kaydettiniz bu dosyayı wp-content/uploads ve wp-includes dizinlere yükleyin.Kod: Tümünü seç
<Files *.php>
deny from all
</Files>
Eşsiz Doğrulama Anahtarları
WordPress’in kullanıcı parolalarını ve çerezlerin (cookie) güvenilirliğini artırmak için eşsiz doğrulama anahtarlarını kullanabilirsiniz. WordPress Secret Key adresinden eşsiz doğrulama anahtarları oluşturup wp-config.php dosyasındaki “secret key” bölümüne eklemelisiniz. Sayfayı her yenilediğinizde farklı kodlar üretilecektir.WordPress Sürümünü Gizlemek
WordPress sürümüne ait belli güvenlik açıkları olabilir. Sürümünüzü öğrenen kötü niyetli kişiler daha kolay saldırı yapabilirler. WordPress sürümünü gizlemek için tema klasörünüzün içerisindeki “functions.php” dosyasına aşağıdaki kodu ekleyebilirsiniz:Kod: Tümünü seç
remove_action('wp_head', 'wp_generator');
Wp-Admin Yolunu Değiştirmek
Aşağıdaki dosyalarda wp-admin yollarını bulup yenisiyle değiştirmeniz yeterlidir. Bu değişiklikleri her WordPress güncellemesi sonrası uygulamanız gerekmektedir.Kod: Tümünü seç
/wp-admin/css/wp-admin.css
/wp-admin/css/wp-admin.dev.css
/wp-admin/css/wp-admin-rtl.css
/wp-admin/css/wp-admin-rtl.dev.css
/wp-includes/class-wp-admin-bar.php
/wp-login.php
/wp-register.php
Robots.txt Önlemleri
Arama motorları, taradıkları web sitelerinde ulaştıkları tüm bağlantıları indeksler. Bu yüzden arama motorlarına indekslenmesini istemediğiniz dizinleri ya da dosyaları robots.txt dosyası ile belirtebilirsiniz.Kod: Tümünü seç
User-agent: *
Disallow: /wp-admin
Disallow: /wp-content/plugins
Disallow: /readme.txt
Wp-Config.php Dosyasının Yerini Değiştirmek
Varsayılan olarak ana dizinde olan wp-config.php dosyasını farklı bir dizine taşıyabilirsiniz. Bunun için wp-load.php içindeki wp-config.php ait dizin yollarını yeni dizinle değiştirmeniz yeterlidir.Wp-Config.php Dosyasını Şifreleme
wp-config.php dosyasındaki tüm değişiklikleri yaptıktan sonra şifreleyerek okunmaz hale getirebilirsiniz. Şifrelemek için en yaygın ve güçlü bir şifreleme için ioncube Encrypt kullanabilirsiniz. Bunun için sunucunuzda ioncube eklentisi kurulu olmalıdır. Şifrelemeden önce yedek almayı unutmayınız.Güvenlik Eklentileri
Yukarıdaki bazı önlemleri eklentiler sayesinde de yapabilirsiniz. Aşağıdaki eklentiler benzer özelliklere sahiptir ve aynı anda kullanıldığında bazı sorunlara neden olabilir. Bu yüzden birlikte kullanılmadan önce test ortamında test etmenizde fayda vardır.- iThemes Security
- Sucuri Security
- All in One WP Security & Firewall
Yukarıdaki önlemler dışında güvenlik için aldığınız önlemler varsa bizimle paylaşarak daha güvenli bir WordPress kullanımına katkı sağlayabilirsiniz.