XFdestek
Kurucu Üye
WordPress, pek çok Web sitesinin ihtiyaç duyduğu basit arayüzü sağlayan popüler içerik yönetim platformlardan biri. Wordpress için güvenlik çözümleri üreten , WordPress kullanıcılarını yakın zamanda gerçekleşebilecek olası ciddi ve zarar verici saldırılara karşı uyardı. Biz de bu bağlamda WordPress blogunuzun ya da sitenizin güvenliğini nasıl arttırabileceğinizi paylaşalım istedik.
Dünyada çok sayıda kullanıcısı olan WordPress, kullanım alanının geniş olması ve açık kaynak olması sebebiyle güvenlik konusunda çok sayıda soru işaretiyle karşılaşmanıza sebep olabilir. Kullanabileceğiniz birçok güvenlik eklentisi mevcut ancak hangisi daha sağlam, hangisi daha güvenilir? Bu da cevabı çok net olmayan bir başka soru işareti. Sucuri, bahsettiğimiz güvenlik eklentilerinden sadece bir tanesi ve bildiğimiz kadarıyla en güvenilir olan eklenti. Sucuri takımı, blog sayfalarında yayınladıkları , içinde bulunduğumuz dönemde gerçekleşmesi muhtemel sert saldırılara (brute force attack) karşı hazır olmamızı tavsiye ediyor.
Aşağıda yer alan grafik, Sucuri’nin olası WordPress saldırılarını izlediği yer almakta:
Gördüğünüz gibi, yılın başında 5-6 milyon civarında olan hatalı giriş ve saldırı sayısı, geçtiğimiz hafta başına kadar 40 milyona ulaşmış durumda. Saldırı saatleri genel olarak öğleden sonra ve gece saatlerinde gerçekleşmekte. Dünya çapında saldırıların gerçekleştiği bazı ülkelere göz attığımızda;
ABD: % 28,9
Fransa: % 16,8
Rusya: % 8,4
Almanya: % 5,7
Türkiye: % 2,5
WordPress Siteniz İçin Güvenlik Tedbirleri
Saldırılara karşı güvende olmak için öncelikle tahmin edilmesi zor ve olabildiğince karmaşık bir parola belirlemenizi tavsiye ederiz. Parolanızın içinde en az bir tane büyük harf, sembol ve rakam olması faydalı olacaktır. Örneğin: “benimsifrem14” çok güvenli bir parola olmayacaktır; yerine “Benim!Sifrem*14” gibi bir parola belirlemeniz, şifrenizin kırılma ihtimalini azaltabilir. Ayrıca tahmin edilebilir tarihler, kişisel zevkler, tahmin edilebilir bilgiler parola olarak seçilmemelidir.
Ayrıca sadece WordPress parolanızda değil, sunucu tarafında dikkat edilmesi gereken noktalar da var. Sadece bilinen eklentileri kullanmak dışında sunucu tarafında düzenlenebilecek bazı alanlar mevcut:
- MySQL veritaban ismi
- Varsayılan MySQL veritabanı ismini değiştirmek faydalı olacaktır. MySQL veritabanı ismini Web sitenizle veya kullanıcı adınızla ilgili olmayacak şekilde değiştirebilirsiniz. Yine büyük – küçük harf, özel karakter ve sayı içeren bir veritabanı ismi belirleyebilirsiniz.
- MySQL kullanıcı adı ve şifresi
- MySQL kullanıcı adı ve şifrenizi çift tırnak ve tek tırnak işareti dışındaki özel karakterlerden oluşacak şekilde belirlemeniz faydalı olacaktır.
- PhpMy Admin tablo ismi
- Wp-config.php dosyasının 67. satırında yer alan “$table_prefix = ‘wp_’;” kodundaki “wp_” yerine karmaşık bir tablo ismi verebilirsiniz.
- Eşsiz doğrulama anahtarı
- Eşsiz doğrulama anahtarı oluşturmak için adresine gidip burada bulunan eşsiz kodu kopyalayıp Wp-Config dosyasındaki “secret key” bölümüne yapıştırabilirsiniz. Bu sayfaya her girişinizde farklı bir kodla karşılaşırsınız. Bu kodun amacı önemli cookie’lerin siteye giren kullanıcıların bilgisayarlarında saklanmasını önlemek.
- Wp-Admin yolunu değiştirmek
-
isimli programı kullanarak Wp-admin yolunu özelleştirebilirsiniz. Ayrıca aşağıdaki yollarda da düzenleme yapabilirsiniz:
/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 - Not: Bu düzenlemeyi her WordPress güncellemesi sonrası aynı şekilde yapmanız gerekmektedir.
-
isimli programı kullanarak Wp-admin yolunu özelleştirebilirsiniz. Ayrıca aşağıdaki yollarda da düzenleme yapabilirsiniz:
- Hata mesajlarını gizlemek
- Giriş sayfasında yanlış kullancı adı veya şifre girildiğinde karşımıza çıkan “hatalı kullanıcı adı” veya “hatalı parola” uyarılarını değiştirebilirsiniz. “<?php” bölümündeki kodu aşağıdaki gibi değiştirebilirsiniz:
add_filter(‘login_errors’,create_function(‘$a’, “return null;”));
- Giriş sayfasında yanlış kullancı adı veya şifre girildiğinde karşımıza çıkan “hatalı kullanıcı adı” veya “hatalı parola” uyarılarını değiştirebilirsiniz. “<?php” bölümündeki kodu aşağıdaki gibi değiştirebilirsiniz:
- Sürüm gizlemek
- Her WordPress sürümünün belli güvenlik açıkları olabilir. Sitenizde yer alan WordPress sürümünü gizlemek için tema içerisindeki “functions.php” bölümüne aşağıdaki kodu ekleyebilirsiniz:
remove_action(‘wp_head’, ‘wp_generator’);
- Her WordPress sürümünün belli güvenlik açıkları olabilir. Sitenizde yer alan WordPress sürümünü gizlemek için tema içerisindeki “functions.php” bölümüne aşağıdaki kodu ekleyebilirsiniz:
- Admin nickini değiştirmek
- Kullanıcı adınızı “Admin” olarak bırakmak tehlike arz etmektedir. Kullanıcı adınızı değiştirmenizi tavsiye ederiz. Bunun için temanızın header.php bölümünde <?php satırından sonra yeni bir SQL sorgusu oluşturarak aşağıdaki kodu ekleyebilirsiniz:
UPDATE wp_users SET user_login = ‘Yeni‘ WHERE user_login = ‘Admin’;
“Yeni” yazan yere belirlediğiniz kullanıcı adını yazabilirsiniz.
- Kullanıcı adınızı “Admin” olarak bırakmak tehlike arz etmektedir. Kullanıcı adınızı değiştirmenizi tavsiye ederiz. Bunun için temanızın header.php bölümünde <?php satırından sonra yeni bir SQL sorgusu oluşturarak aşağıdaki kodu ekleyebilirsiniz:
- Varsa .htaccess dosyasını güvenli hale getirmek
- .htaccess dosyası kullanıyorsanız aşağıdaki kodu kullanarak .htaccess bölümünü daha güvenli hale getirebilirsiniz:
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>
- .htaccess dosyası kullanıyorsanız aşağıdaki kodu kullanarak .htaccess bölümünü daha güvenli hale getirebilirsiniz:
- Dosya izinlerini Varsayılan değere çekmek
- Klasörlerinizin yeniden yazma izinlerini aşağıdaki verilere göre karşılaştırın:
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
- Klasörlerinizin yeniden yazma izinlerini aşağıdaki verilere göre karşılaştırın:
- Eklentileri gizlemek
- Eklentilerin kendine has güvenlik açıkları olabilir. Bunun önüne geçmek için wp-content/plugins bölümüne girerek index.html şeklinde boş bir dosya oluşturun. Sonrasında bu dosyayı eklentiler ana dizinine taşıyın.
- Wp-Config.php dosyasının yerini değiştirmek
- Wp-includes klasörü içerisine yeni bir klasör açarak Wp-config.php dosyasını bu klasöre taşıyın. Klasör yolu Wp-includes/yeniklasör/wp-config.php olacak. “Yeniklasör” kısmını bildiğiniz bir şekilde isimlendirebilirsiniz. Sonrasında Wp-load.php dosyasını ile açıp wp-config.php dosya yolunu yeni dosya yolumuzla değiştiriyoruz. Yaptığınız değişikliği FTP’nize gönderdikten sonra veri tabanı dosyamız değişmiş oluyor.
Bir başka alternatif ise WordPress blogunuzu ya da sitenizi gibi eklenti güncellemelerini ve güvenlik tedbirlerini sizin yerinize yapan bir platformu tercih etmek olabilir. Biz Stradiji.com için son 6 aydır Wpengine.com alt yapısını kullanıyoruz ve performansından ve güvenlik tedbirlerinden son derece memnunuz. Siteyi incelediğinizde belki aylık ücreti yüksek görünebilir fakat bilgiler gittiginde hangisi daha önemli acaba düşünmek lazım