iThemes Security eklentisi ile WordPress daha güvenli!

Güvenlik alanında en popüler WordPress eklentisi hiç şüphesiz Wordfence Security. Bu eklenti tam otomatik çalıştığından genellikle kullanıcıların bir numaralı tercihi oluyor ama biraz fazla sistem kaynağı tüketiyor. Deneyimli kullanıcılar hem sistem kaynağı tüketmeyen hem de manuel müdahaleler yapabilecekleri eklentilerden biraz daha fazla hoşlanıyor.

Mesela bunlardan biri All In One WP Security & Firewall. Daha önce bahsetmiş, ayrıntılı olarak anlatmıştım. Bilenler Kabilesinin de sırtı ona emanet.

Ama bu yazıda bir başka eklentiyi konuşacağız. Eskiden Better WP Security olarak bilinen, iThemes tarafından satın alındığında iThemes Security olarak isim değiştiren bir başka kaliteli eklentiden bahsedeceğiz.

iThemes Security 3.6 milyon indirme popülaritesiyle, Wolfrence Security’nin birazcık gerisinde kalıyor (0.3 milyon fark). En popüler 2. güvenlik eklentisi. Ben bunu biraz zor kullanımına ve karışık arayüzüne bağlıyorum. Ama yazıyı takip ederseniz çok kolay bir şekilde kullanabileceğinizi garanti ediyorum.

Neden iThemes Security kullanmalıyım?

İnternettek web sitelerinin %20’si WordPress temelli. Bu kadar çok site aynı altyapı üzerine kurulunca hackerlar otomatik botlar yaratıyor ve bu bunlar da webi sürekli tarıyor (Google örümceklerine benzetebiliriz). Amaçları WordPress tabanlı sitelerdeki açıkları bulmak ve faydalanmak. Bilenler Kabilesinde de birkaç bot hep geziniyor.

Aslında onlar adına bunu yapması çok kolay diyebiliriz. Çünkü herşey standart. Mesela herkes sitesine “siteadi.com/wp-admin/” ekranından login oluyor. Botlar bir WordPress sitesi bulduğunda hemen bu sayfaya girip kullanıcı adı&şifre kombinasyonlarını deneme yanılma yöntemiyle bulmaya çalışıyor. Sonuçta zayıf şifre ve “admin” gibi bilindik kullanıcı adı kullanıldıysa site anında hackleniyor.

Örnekleri arttırabiliriz. Ama konunun temeli bu. “iThemes Security” bu durumdan kaynaklanan saldırılara karşı bazı güvenlik önlemleri alabiliyor. Mesela sizin sonradan isteseniz de kolayca değiştiremediğiniz “admin” kullanıcı adını değiştirebiliyor. Giriş yaptığınız sayfanın URL adresini değiştirebiliyor. Girilebilecek maksimum hatalı kullanıcı adı&şifresi sayısını belirleyerek Brute Force saldırılarını zayıflatıyor. Sonuçta iThemes Security kullanmak için birkaç iyi sebebimiz olmuş oluyor.

“iThemes Security” eklentisi ile WordPress güvenliği nasıl arttırılır?

İsterseniz eklentinin yeteneklerine ve nasıl kullanıldığına bakalım. Ama öncesinde WordPress’e nasıl eklenti kurulduğunu bilmiyorsanız, açılır kutuyu tıklayıp kurulumu öğrenebilirsiniz.

000066-02-01

iThemes Security eklentisi, herhangi bir WordPress eklentisi ile aynı şekilde kuruluyor. Özel bir işlem gerektirmiyor.

Önce soldaki WordPress menüsünden Eklentiler->Yeni Ekle öğesine tıklıyoruz.

000066-02-02

Açılan sayfaya "iThemes Security" metnini girerek klavyemizden enter tuşuna basıyoruz.

000066-02-03

"iThemes Security (formerly Better WP Security)" öğesi için "Şimdi Kur" butonuna tıklıyoruz.

000066-02-04

"Tamam" butonuna tıklıyoruz.

000066-02-05

Eklenti kısa sürede indirilip kuruluyor. Kurulum bitince beliren "Eklentiyi Etkinleştir" linkine tıklıyoruz.

000066-02-06

Eklenti etkinleştiriliyor. Uyarıları x işaretlerine tıklayıp kapatabilirsiniz. iThemes Security eklentisini sol menüye eklenen ikona tıklayarak hemen kullanmaya başlayabilirsiniz.

iThemes Security, kur ve unut tarzı çalışan bir eklenti değil. Güvenliği kurar kurmaz arttırmıyor, sizin müdahale etmeniz, bazı ayarları değiştirmeniz gerekiyor.

Bunları yapması biraz riskli. O yüzden başlamadan önce sitenizi yedeklemeniz çok önemli. Yaptığınız yanlış bir ayarla kendinizi de bloke edebilir yada siteyi göçertebilirsiniz. Eğer bu işlemi nasıl yapacağınızı bilmiyorsanız buradan yardım alabilirsiniz; WordPress nasıl yedeklenir?

Böyle bir manzara ile karşılaşırtığınızda pişman olmamak için yedek almaya önem vermelisiniz.

Böyle bir manzara ile karşılaşırtığınızda pişman olmamak için yedek almaya önem vermelisiniz.

Ben mümkün olduğunca az riskli ama olabildiğince yüksek güvenlikli ayarları aktif edecek şekilde konuyu anlatacağım. Ama yine de önlem almanız lazım. Başlayalım…

iThemes Security eklentisi nasıl kullanılır?

000066-03-01

"iThemes Security" eklentisini yükleyip oluşan eklenti ikonunu tıkladığımızda ekrandaki sayfayı görüyoruz. Bu sayfada "Allow File Updates" ve "One-click Secure" butonlarına tıklıyoruz.

iThemes Security, böylece "wp-config.php" ve ".htaccess" dosyalarına konfigürasyon için gerekli erişim iznini kazanıyor, güvenliği arttıracak bazı ayarları otomatik olarak kendisi yapıyor.

Sağ alt köşedeki "Dismiss" linkine tıklıyoruz.

000066-03-02

Karşımıza iThemes Security yönetim paneli geliyor. Sayfayı biraz aşağıya kaydırıyoruz...

000066-03-03

"Security Status" bölümünde duruyoruz. Burada bazı güvenlik önlemleri önem sırasına göre kategorize edilmiş ve renklendirilmiş halde. Kırmızı olanlar yüksek öncelikli. Sarı olanlar orta öncelikli. Mavi olanlar da düşük öncelikli.

Bunların hepsini yapmamız gerekmiyor. Hatta bazılarını yapmak siteyi kullanılmaz hale getirebiliyor. O nedenle tüm öğeleri değerlendirip ihtiyacımız varsa mühale etmeliyiz.

Şimdi sırasıyla hangi müdahaleyi "neden" yaptığımızı da açıklayarak işlemlere başlayalım...

000066-03-04

Bildiğiniz gibi WordPress kurulumu esnasında bizden kullanıcı adı seçmemiz istenir. Genellikle "admin" adı tercih edilir ki bu da büyük bir hatadır.

Çünkü, hacker'lar bu adın sık kullanıldığını bilir ve yine sık kullanılan şifreler ile eşleştirerek brute force atakları düzenler. (Brute force, deneme yanılma yöntemi ile binlerce kullanıcı adı/şifre kombinasyonunu birbiri ardına deneyerek sisteme girmeye çalışmaktır.)

Tahmin edeceğiniz gibi bu duruma alınacak en güzel önlem, pek kullanılmayan kendimize has bir isim kullanmak olacaktır.

Bunun için dashboard ekranından "The admin user still exists." öğesinin yanındaki "Fix-it" butonuna tıklayalım. Ayarları ekrandaki şekilde değiştirelim ve "Save Admin User" butonuna tıklayarak kaydedelim. WordPress derhal logout olacak, sizin yeni kullanıcı adınız ile giriş yapmanız gerekecektir.

Ben "sahip" kullanıcı adını kullandım ama siz istediğinizi seçebilirsiniz. Şaşırmayın, eğer WordPress'i kurarken farklı bir kullanıcı adı seçtiyseniz, burada "user ID" bölümünü görür ama "New Admin Username" bölümünü görmezsiniz.

000066-03-05

WordPress'te kulanıcı adını "admin" den bir başka isme değiştirmek BruteForce saldırılarının başarısını engeller ama saldırıları durdurmaz. En iyisi her zaman giriş yaptığınız WordPress login sayfasının standart adresini değiştirmek ve yeni bir adrese taşımaktır.

Bunu yaptığınızda hacker'lar sitenizin giriş sayfasını 'genellikle' bilemeyeceğinden BruteForce atakları da yapamayacaktır.

Bu işlem için dashboard'dan "Your WordPress Dashboard is using the default addresses. This can make a brute force attack much easier." öğesinin yanındaki "Fix-it" butonuna tıklayalım.

Açılan sayfada "Login Slug" ayarına giriş için kullanmak istediğimiz yeni adresin ismini yazalım ve "Save All Changes" butonuna tıklayalım.

000066-03-06

iThemes Security sizi login sayfanızın değiştirildiği konusunda uyaracak. Yeni sayfanızı unutmamanız için not etmenizi isteyecek.

000066-03-07

İşlem tamamlandığında eğer her zaman giriş yaptığınız "sitenizinadi.com/wp-admin/" adresini ziyaret ederseniz, 404 sayfa bulunamadı hatası alacaksınız.

000066-03-08

Artık sitenize girebilmek için belirlediğiniz yeni adresi kullanmalısınız.

000066-03-09

WP kurulumu sırasında bizden veritabanı tablosu isimleri için öneki istenir. Varsayılan önek "wp_" dir. Bu önek hali hazırda veritabanında mevcut olan tablolarla çakışma olmasın diye önlem amaçlıdır. Genellikle kullanıcılar değiştirmez ve olduğu gibi bırakır.

Eğer varsayılan öneki değiştirmezseniz, tüm tablo isimleriniz bilinir ve SQL injection saldırıları için kullanılabilir. Bu yüzden öneki değiştirmeliyiz ki tablolarımızın adı tahmin edilemesin.

İşlem için dashboard'aki "Your database table prefix should not be wp_." metninin yanındaki "Fix-it" butonuna tıklıyoruz. "Change Table Prefix" kutusunu işaretleyip butona tıklıyoruz. Tablo önekimiz üretilen rasgele bir değerle otomatik olarak değiştiriliyor.

000066-03-10

Hackerlar'ın kullandığı tekniklerden biri de eski WordPress sürümlerini taramak ve eski sürümlerdeki bilinen güvenlik açıklarını kullanarak sitenize saldırmaktır. WordPress sürüm bilgisi sistem dosyalarında mevcuttur. Bu yüzden dışarıdan öğrenilememesi amacıyla dosyalara erişimi bloke ederiz.

Bu iş için dashboard'dan "You are not protecting common WordPress files from access. Click here to protect WordPress files." öğesinin yanındaki "Fix-it" butonuna tıklayalım. Açılan sayfada "Protect System Files" öğesini aktif edelim.

Madem bu sayfaya geldik, devam eden kısımdaki aşağıdaki özellikleri de aktif ederek zararlı URL taleplerini süzelim, SQL injection saldırılarını engellemeye yardım edelim.
Filter Request Methods
Filter Suspicious Query Strings in the URL
Filter Non-English Characters

Yine bu sayfadaki "Disable PHP in Uploads" ve "Disable Directory Browsing" özelliklerini işaretleyelim. Böylece Upload klasörüne zararlı php dosyaları yüklense de çalıştırılamasın, sitemizde index.php dosyası içermeyen klasörlerimizin içeriği görüntülenemesin.

000066-03-11

WordPress sürüm bilgisi sadece sistem dosyalarında değildir. Aynı zamanda her üretilen sayfada HTML çıktısı olarak ziyaretçiye de gönderilir.

İsterseniz iThemes Security ile bu bilgiyi manipüle edip hacker ve otomatik botları yanıltabilirsiniz. Bunun için "Users may still be able to get version information from various plugins and themes. Click here to fix this." öğesine gidip "Display Random Version" özelliğini aktif edebilirsiniz.

000066-03-12

Tüm bunlara rağmen sitenizde bir zararlı injekte edilirse, onu da VirusTotal malware taraması ile yapılan taramalarda görebilirsiniz. Bunun için VirusTotal api anahtarı gerekir ve nasıl alınacağı "VirusTotal API Key tutorial" linkinde görsel olarak çok güzel anlatılmıştır.

Göreceğiniz üzere aslında iThemes Security kötü düzenlenmiş arayüzüne rağmen oldukça kolay kullanımlı bir eklenti.

Eklentiyi kullanırken halen bazı ayarların geride kaldığını, müdahale etmediğimizi gördünüz. Sebebini merak ediyor olabilirsiniz. “iThemes Security ve benzerlerinin sunduğu öneriler eklentinin tüm potansiyelini gösterir. Sizin yapmanız gereken ayarların neler olması gerektiğini değil.” diyelim ve bir örnek verelim.

Mesela sitenizde zaten iyi bir WordPress yedekleme eklentisi kullanıyorsanız (mutlaka kullanmalısınız), eklentinin “Your site is not performing any scheduled database backups.” önerisini önemle hatırlatmasına rağmen uygulamak zorunda değilsiniz.

Yada “Your WordPress Dashboard is available 24/7. Do you really update 24 hours a day? Consider using Away Mode.” özelliğini açarak belirli saatlerde siteye girmeyi kendinize bile yasaklamayı mantıklı bulmayabilirsiniz. Bu ayar biraz gereksiz ve aşırı gelebilir. Daha fazla güvenlik elde edeyim derken, ihtiyacınız olmayan bazı ayarları değiştirerek, sitenizi kullanılmaz hale getirmeniz mümkündür. O nedenle makul ölçülerde müdahale etmek yetecektir.

Toparlayalım…

iThemes Security güvenlik alanında en kıymetli eklentilerden. Tamamen ücretsiz. iThemes satın aldıktan sonra bir de ücretli versiyonunu çıkardı ama henüz ücretli/ücretsiz arasında aman aman bir fark yok. Elbette zamanla ücretli/ücretsiz arasındaki makas açılacaktır.

Ben güvenlik konusunda şimdilik “All In One WP Security & Firewall” eklentisini tercih ediyorum. Aslında iThemes ile aynı işi görüyor, aynı mantıkta çalışıyor. Ama arayüzünü daha fazla beğendiğimden ve biraz daha fazla konfigürasyon yapabildiğimden tercihim o yönde oldu. Eğer sizde bana uyarsanız, buradan yardım alabilirsiniz: All In One WP Security & Firewall nasıl kullanılır? Bununla birlikte, iThemes Security eklentisini de beğendim. Kullanmak isterseniz çekinmeyin derim.

4 Comments

  1. Hakan Özdemir January 20, 2015
    • admin January 20, 2015
  2. Hakan Özdemir January 20, 2015

Leave a Reply