All In One WP Security & Firewall eklentisi ile WordPress güvenliğini arttırabilirsiniz

Bilenler Kabilesi henüz 4 aydır online. 2 ayın ardından ilk saldırılar gelmeye başladı. Bugün günün her anı birkaç bot sitede geziniyor. Saldırıların büyük kısmı Çin merkezli. Genellikle BruteForce atakları yapılıyor.

Durum pek ciddi değil ama her ihtimale karşı altyapı olarak kullandığım WordPress’i biraz daha güvenlikli hale getirdim. İki ay önce “All In One WP Security & Firewall” eklentisini kullanmaya başladım. Böylece saldırıları savuşturmak ve yönetmek daha kolay hale geldi.

Eklentiden memnun kalınca, WordPress güvenliğini arttırmak isteyen blog yazarları için geniş bir rehber hazırladım. Çok teknik değil, kolayca uygulanabilir. Neden bu eklenti, nasıl kurulur, nasıl kullanılır ?… Cevaplar burada, hadi başlayalım.

Neden All In One WP Security & Firewall?

WordPress’i korumak için çeşitli konseptlerde eklentiler var. Mesela “Wordfence Security” gibi bulut tabanlı çalışanlar, “BulletProof Security” gibi .htaccess modifikasyonu yapanlar mevcut. Bazı eklentiler ise ülke bazında IP blokajı ile güvenliği arttırıyor. (iQ Block Country, IP2Location Country Blocker)

Benim sitedeki Çin merkezli saldırıları savuşturmak için en uygun konsept IP blokajı görünüyor. Ancak bu eklentiler performansı arttıran cache eklentileri ile çakışıyor ve çalışmıyor. Çalışan eklentiler ise oldukça pahalı.

Öte yandan bulut tabanlı çözümlerin işgal ettikleri bellek biraz fazla ve kullandığım shared hosting kaynaklarım limitli. Sıkıntı yaratabilir diye düşündüm. O nedenle WordPress üzerinde kısmi değişikliklerle güvenliği arttıran “All In One WP Security & Firewall” eklentisine yöneldim.

Eklentiye en yakın çözüm önceden “Better WP Security” olarak bilinen sonra iThemes tarafından satın alınan ve adı değiştirilen “iThemes Security“. Birçok benzeri plugin var ama en popülerleri bunlar.

Ben “iThemes Security” yerine “All In One WP Security & Firewall”‘i tercih ettim. Nedeni arayüzün daha temiz olmasıydı. Aslında iThemes daha popüler.

“All In One WP Security & Firewall” ile WordPress güvenliği nasıl arttırılır?

Şimdi eklentinin yeteneklerine bakalım. Ama öncesinde WordPress’e nasıl eklenti kurulduğunu bilmiyorsanız, açılır kutuyu tıklayıp kurulumu öğrenebilirsiniz.

All In One WP Security & Firewall eklentisi nasıl kurulur? Yeni Ekle” menüsünü takip edelim.

000048-02-02

Textbox’a “All In One WP Security & Firewall” yazıp enter butonuna basalım. Eklenti göründüğünde “Şimdi Kur” butonuna tıklayalım.

000048-02-03

“OK” butonuna tıklayalım.

000048-02-04

Eklenti kurulacak. “Eklentiyi Etkinleştir” linkine tıklayalım.

000048-02-05

Eklenti etkinleştirilecek. İşlem tamam.

All In One WP Security & Firewall, kur ve unut tarzı çalışan bir eklenti değil. Güvenliği kurar kurmaz arttırmıyor, sizin müdahale etmeniz gerekiyor.

Yapacağımız işlemler birazcık riskli. Başlamadan önce sitenizi yedeklemeniz çok önemli. Eğer bu işlemi nasıl yapacağınızı bilmiyorsanız buradan yardım alabilirsiniz; WordPress nasıl yedeklenir?

Şimdi yapılması gereken güvenlik düzenlemelerine bakalım.

000048-03-01

Eklenti ikonuna tıklayalım. Karşımıza dashboard gelecek. Burada güvenlik skorumuz, kritik özelliklerin durumu, saldırı yaptığı için bloklanan IP adresleri gibi bilgiler yer alıyor.

(Daha yeni başladığım için güvenlik skoru dipte. Sizin başlangıç skorunuz, daha fazla olabilir sorun yok. Ben bilerek sıfırdan başlıyorum.)

000048-03-02

İmleci simge üzerinde tutalım. Eklenti modüllerini göreceğiz. Settings modülünü açalım.

(Anlatımda kolaylık olması için devam eden kısımda modülleri ve sekme isimlerini [modül adı]-[sekme adı] şeklinde başlık olarak yazacağım)

000048-03-03

[Settings]-[WP Meta Info]

“Remove WP Generator Meta Info” özelliğini açıp “Save Settings” butonuna tıklayalım.

Burada, WP tarafından otomatik üretilen bir meta bilgisini tarayıcıyı göndermeyi iptal ediyoruz. Böylece otomatik botların WP versiyonunu öğrenmesini engelliyoruz. Botlar eski WP versiyonlarını bilinen açıklar için tarar ve bulduğunda suistimal eder. Biz versiyonu gizleyerek ataklardan korunmayı umuyoruz.

Mavi bölümde yaptığımız ayarın ne işe yaradığı yazıyor. Bu bölümleri işlemleri yaparken dikkatlice okumanızı öneririm. Böylece neyi değiştirdiğinizi öğrenebilirsiniz. Ben bundan sonraki aşamada daha geniş bir alan elde etmek için mavi kısımları imajlardan çıkaracağım. Anlatımı kendim yapacağım.

000048-03-04

[Filesystem Security]-[WP File Access]

Botlara versiyon bilgimizi söyleyebilecek ikinci kaynak WP ile birlikte gelen readme.html, license.txt ve wp-config-sample.php dosyaları. Bu dosyalara da erişimi engellemeliyiz ki WP versiyonu gizli kalsın.

“Prevent Access to WP Default Install Files” özelliğini açalım ve “Save Settings” butonuna tıklayalım. İşlem tamam.

000048-03-05

[User Accounts]-[WP Username]

WP kurulumunda yapılan hatalardan biri kullanıcı adı olarak “admin” kullanmaktır. Otomatik saldırı yapan botlar “admin” adı ile siteye Brute Force saldırıları yapar ve parolamızı öğrenmeye çalışır. Adı değiştirmek güvenliği arttırır. Çünkü olmayan bir kullanıcının şifresi öğrenilemez.

Eğer kurulumda “admin” kullanıcı adını kullandıysanız, durumu düzeltip kullanıcı adınızı değiştirmek için kutuya yeni adınızı yazın ve “Change Username” butonuna tıklayın. WP logout olacak ve sonrasında giriş için yeni kullanıcı adınızı kullanmaya başlayacaksınız.

000048-03-06

[User Login]-[Login Lockdown]

Az önce Brute Force ataklarına önlemimizi aldık. Ancak botlar (bulamayacak olsalar dahi) halen “admin” kullanıcı adıyla şifremizi tespit etmek için Brute Force saldırıları yapacaktır. Bu da sitemizde bant genişliğine/işlemci gücüne mal olacaktır.

Bu nedenle aşağıdaki ayarları yapıp hatalı giriş yapılması durumunda IP numarasını bloke ediyoruz. Böylece saldırganları sitemizden uzak tutmayı umuyoruz.

Enable Login Lockdown Feature: ON
Max Login Attempts:3
Login Retry Time Period (min):15
Time Length of Lockout (min):60
Instantly Lockout Invalid Usernames:ON

000048-03-07

[Brute Force]-[Rename Login Page]

Aslında sorunun biraz daha kaynağına inelim. WordPress’in varsayılan login sayfası herkesce bilinir. Otomatik botlar yada hacker’lar Brute Force ataklarını bu sayfada kolayca yapabilir.

Sayfanın adresini değiştirirsek, yeni login sayfamızın adı tahmin edilemeyeceğinden, atakların önemli bir kısmından kurtulmamız mümkün olabilir.

Bunun için “Enable Rename Login Page Feature” özelliğini aktif edelim ve textbox’a yeni bir adres yazıp ayarları kaydedelim. İşlem tamam.

000048-03-08

[Brute Force]-[Honeypot]

Diyelim ki sayfa yine de tespit edildi. Otomatik botlar genellikle sayfadaki tüm form öğelerini doldurma eğiliminde olacaktır. Honeypot özelliğini aktif ettiğimizde, login formuna görünmez bir öğe eklenir.

Herhangi bir insan bu öğeyi göremeyeceğinden dolduramaz. Ancak botlar kodları taradığından öğeyi görür ve doldurur. Sonuçta bot olduğu tespit edilir ve bloke edilir.

Nihayetinde 4 farklı önlem alarak login güvenliğini arttırmış olduk. Otomatik botların ve korsanların birbiri ardına şifre/kullanıcı adı deneyerek, deneme/yanılma yöntemi ile siteye girmesini engelledik. Şimdi sırada veritabanı var.

000048-03-09

[Database Security]-[DB Prefix]

WP kurulumu sırasında bizden veritabanı tablosu isimleri için öneki (ön-ismi) 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 atak yapmak için kullanılabilir. Bu yüzden öneki değiştiririz ki tablolarımızın adı tahmin edilemesin.

İşlem için [Database Security] modülüne geliyoruz ve ilk sekmedeki kutucuğu işaretleyip “Change DB Prefix” butonuna tıklıyoruz. 6 harfli random bir isim oluşturuluyor ve veritabanı tablo isimlerimiz değiştiriliyor.

000048-03-10

[Filesystem Security]-[File Permissions]

Tablo isimleri dışında, WP kurulumunda (otomatik olarak) ayarlanan şeylerden biri de klasör izinleridir. Aslında WP kurulumunda verilen klasör izinleri makul ve ihtiyaç doğrultusundadır, sizin birşey yapmanıza gerek olmaz. Ancak bir terslik varsa, klasör izinleri fotoğraftaki gibi ise “Set Recommenden Permissions” butonlarına tıklamanız gerekir.

000048-03-11

[Firewall]-[Basic Firewall Rules]

Son olarak .htaccess dosyasına ekleyeceğimiz kurallar ile bir tür güvenlik duvarı oluşturacağımız Firewall ayarları var. Bunu bilgisayarda kullandığımız FW ile karıştırmamak gerek. Pasif bir koruma ve zararlı URL taleplerinin en baştan yasaklanmasına yönelik.

Öncelikle “Basic Firewall Settings” bölümünü aktif edelim ve “Save Basic Firewall” butonuna tıklayalım. (Eğer “WordPress iOS Uygulaması” kullanmıyorsanız, “Enable Pingback Protection” özelliğini de aktif edebilirsiniz.)

000048-03-12

[Firewall]-[Additional Firewall Rules]

Bilinen XSS saldırılarını engellemek için bir adım daha atalım. “Enable Advanced Character String Filter” korumasını açalım ve “Save Additional Firewall Rules” butonuna tıklayalım.

000048-03-13

[Firewall]-[5G Blacklist Firewall Rules]

“Enable 5G Firewall Protection” özelliğini aktif edip “Safe 5G Firewall Settings” butonuna tıklayalım.

(5G Blacklist Firewall Rules, Perishable Press tarafından hazırlanmış .htaccess kurallarıdır.)

000048-03-14

[Miscellaneous]-[Copy Protection]

Bitti! Güvenlik ayarlamalarımız bu kadardı.

Eklenti istenirse içeriğin çalınmasına karşı da koruma sağlıyor. “Enable Copy Protection” fonksiyonunu aktif edip “Save Copy Protection Settings” butonuna tıkladığınızda içeriğin kopyalanmasına ilişkin bazı güvenlik önlemleri aktif hale geliyor.

000048-03-15

[Miscellaneous]-[Frames]

İçeriğinizin “frame/iframe” denilen gömme yöntemiyle direkt olarak bir başka web sitesinde kullanılmasını da buradan engelleyebiliyorsunuz.

000048-03-16

[Dashboard]-[Dashboard]

Günün sonunda yaptığımız ayarlar ile daha güvenli bir WordPress bizim oluyor.

Kritik Noktalar;

1- Son puanımızın 460 üzerinden halen düşük kaldığını görmüşsünüzdür. Burada güvenliği puanlama ile kıyaslamamak gerek. 460 puan eklentinin tüm potansiyelini gösteriyor, yapmak zorunda olduğumuz ayarlamaları değil.

Mesela Spam koruması’nı ben anlatmadım. Çünkü basit bir koruma ve pek kullanışlı bulmadım. Akisment çok daha güzel bir çözüm. Bu noktada tüm puanı almaya çalışmak anlamsız. Ayrıca bazı riskleri de var. Örneğin [Firewall]-[Additional Firewall Protection] bölümündeki “Disable Trace and Track” ve/veya “Bad Query Strings” özelliklerini aktif hale getirdiğimde bakın ne oldu;

WordPress Internal Server Error

WordPress Internal Server Error

Ayarlamaları yaparken özellikle “Advanced” etiketli öğelere karşın dikkatli ve çekingen olmalısınız. Sitenizi çökertebilecek ayarlar advanced etiketi ile verilmiştir. Bu ayarları açmak zorunda değilsiniz.

000048-01-03

2- Yedekleme çok önemli. Muhakkak işe girişmeden önce yedek oluşturmalısınız. Yukarıdaki gibi bir problemle karşılaşırsanız yedekten hemen blogunuzunu kurtarmanız mümkün olur aksi taktirde saatlerce süren uğraş gerekebilir. (Genellikle sadece .htaccess ve wp-config.php dosyalarınızı yedekten sunucuya geri yüklemeniz problemi çözmek için yeterlidir)

000048-01-04

3- Sitenize saldırı olup olmadığını, [Dashboard]-[Locked IP Addresses] bölümünden görebilirsiniz. Yaptığımız ayarlara göre bloklanan IP numaraları burada listelenir.

Check Also

WordPress Otomatik Öne Çıkarılmış Görsel Ayarlama

WordPress otomatik olarak her yazıya öne çıkarılmış görsel eklemeniz mümkün. Çok basit bir işlemle her …

Bir Cevap Yazın

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

Bu sayfada 160 sorgu var.