WordPress Güvenlik Tedbirlerinizi Aldınız Mı?

 

wordpress sucuri

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 Sucuri, 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ı uyarı yazısıyla, 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 güvenlik sayfasında yer almakta:

sucuri wordpress saldırı grafiği

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 WordPress Secret Key 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
    • Grewpin 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.
  • 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;”));
  • 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’);
  • 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.
  • 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>
  • 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
  • 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ı Grewpin 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.

Siz de WordPress kullanıyorsanız, yukarıdaki değişiklikleri yapabilir ve ek olarak Sucuri güvenlik eklentisini kullanarak sitenizin güvenliğini artırabilirsiniz. Kullanabileceğiniz birçok eklenti var, ancak Sucuri bu eklentiler arasında sağlamlığıyla dikkat çekiyor. Web sitenizin yönetimi dışında sayfalarınızın zararlı amaçlar için kullanılmasını önleyebilecek olan bu yöntemler bütünü sayesinde sitenizin herhangi bir ceza almasının önüne geçebilirsiniz.

Bir başka alternatif ise WordPress blogunuzu ya da sitenizi Wpengine.com 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, ancak WordPress blogunuzun hacklenmesi sonucu yüz yüze kalacağınız zararla kıyaslandığında devede kulak kalır. Seçim tamamen size kalmış.

9 Yorum Var: “WordPress Güvenlik Tedbirlerinizi Aldınız Mı?

    • 05 Mayıs 2016 at 14:02
      Permalink

      Biz güvenliğimizi Sucuri ile sağlıyoruz, hostingimizi ise Wpengine.com üzerinden alıyoruz, biraz tuzluya mal oluyor belki ama, geceleri rahat uyuyoruz 🙂

      Reply
  • 12 Ağustos 2016 at 14:35
    Permalink

    wp-admin yolunu değiştirmek için o kadar uğraşmak yerine X kere yanlış login yapıldığında IP’yi bloke eden bir eklenti de kullanılabilir. yahut kullandığınız servis sağlayıcıdan gelen IP aralığınız dışındaki IP’lerden wp-admin’e giriş yapılmasını basit bir kodla engelleyebilirsiniz.

    Reply
    • 02 Kasım 2016 at 17:26
      Permalink

      Merhabalar,
      Sucuri’nin böyle bir özelliği zaten bulunuyor, hem login kaydını tutmakta hem de birden fazla login girişimi olduğunda IP Ban gibi özellikleri var.

      Reply
  • 27 Ekim 2016 at 18:59
    Permalink

    Emre bey, öncelikle bu faydalı yazı için teşekkürler. Ben kendi sitemle alakalı bir sabah siteye girdiğimde daha doğrusu giremediğimde veri tabanı hatası oluştu diye bir uyarı vardı. Sonra cpanele girince bu sitenin veritabanının silinmiş olduğunu gördüm. Hosting şirketi ile görüştüm. Önce sen silmediysen kimse silmemiştir dediler. Sonra ben de hayır kesinlikle silmediğimi belirttim. Bir müddet sonra sistemin sildiğini söylediler. Şu anda sitem çalışıyor ben yedekleme yapmıştım. Anlamadığım konu veri tabanı nasıl siliniyor. Sonra veri tabanı belirdi ancak 0 Mb olarak gördüm. Ama bütün veriler kaybolmuş mu oldu? Fikriniz nedir? Saygılarımla

    Reply
    • 02 Kasım 2016 at 17:28
      Permalink

      Nilüfer Hanım Merhabalar,
      Sorun Sucuri veya benzeri bir güvenlik eklentisinden mi kaynaklanıyor acaba, bundan mı şüpheleniyorsunuz? Eğer buna benzer bir güvenlik eklentisi kullanmıyorsanız siteniz saldırıya uğramış da olabilir. Sunucu tarafından detaylı bir güvenlik ve login analizi talep edebilirsiniz, belki bir güvenlik açığı vardır. Saygılarımızla,

      Reply
  • 30 Kasım 2016 at 22:10
    Permalink

    Bir hacker olarak söylemek gerekirse bu anlatılanların tamamına yakını boş arkadaşlar 1. si eklentilere dikkat ediniz bir eklenti kuracağınız zaman expoliti yazılmış mı kontrol ediniz 2. si siz sabaha kadar güvenlik önlemi alın sunucunuz da barınan başka sitelerden herhangi biri basit bir şekilde hacklendiği zaman baypass yöntemi kullanılır yani sitenizin bulunduğu sunucuya shell sokulur ve baypass uygulanır bu sayede bütün sitelerin config bilgileri çekilerek hacklenebilir.
    Demekki neymiş ;
    HOSTİNG çok önemli…
    Eklenti kurulurken dikkat edilmeli…
    Ve Config.php içeriği buradaki site ile http://fopo.com.ar/ şifrelenmeli …
    son olarak giriş bilgileriniz Admin ve şifrenizde basit şifrelerden oluşmamalı ..

    Herkese selamlar sevgiler.

    Reply
  • 08 Şubat 2017 at 21:35
    Permalink

    işime yaradı emeğinize sağlık teşekkür ederim

    Reply

Bir Cevap Yazın

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