WordPress Güvenlik Kılavuzu

WordPress Güvenlik Kılavuzu

WordPress Güvenlik önlemleri için hazırlamış olduğum eklentili ve eklentisiz olarak WordPress Güvenlik Kılavuzu başlıklı yazımla sizlerleyim. Web sitelerinin güvenliği sahipleri için büyük önem taşımaktadır.

WordPress olsun ya da olmasın web sitesinin güvenliği site sahibi için büyük önem taşıyan bir konu olduğu aşikar. Arama motorları özellikle Google kötü amaçlı yazılımlar için servet harcamaktadır. Her gün binlerce web sitesini kötü amaçlı yazılım, kimlik avı gibi sebeplerden kara listeye almaktadır. Siz de web sitenizi internetin büyük çoğunluğu gibi wordpress altyapısıyla hazırladıysanız bu popüler ve dünyada en çok tercih edilen içerik yönetim sisteminin eksi yönlerinden de etkileneceksiniz demektir. Popüler ve ilgi gören her sistemin pozitif yönleri kadar negatif hanesine yazılan yönleri de ön plana çıkacaktır. Web site güvenliği denilince yeni kullanıcıların gözleri biraz korksa da korkulacak bir şey yok demek istemiyorum 🙂 Dünyanın en çok tercih edilen içerik yönetim sistemi WordPress, bir çok uzman web site güvenlik şirketlerinin istatistiklerine ve raporlarına göre en fazla hacklenen de içerik yönetim sistemi. Fakat bu istatistikler ve güvenlik zafiyetleri sizleri telaşa sürüklemesin. Sizler için WordPress güvenlik önlemlerini listelediğim bu WordPress Güvenlik Kılavuzu yazımda bazı kurallar, çeşitli püf noktalar ve web sitenizi hacker ve kötü amaçlı yazılımlara karşı korumanızda yardımcı olacak en iyi WordPress güvenlik ipuçlarını vermeye çalışacağım.

WordPress sistemi incelendiğinde yüzlerce geliştirici tarafından düzenli denetlenen ve oldukça güveni bir çekirdek yazılım ile karşılaşıyor olsak da wordpress güvenlik önlemleri almaktan zarar gelmez. Samuel Johnson’un çok güzel bir sözü var: ” Güvenlik tehlikeyi de üretir.”. Galiba bu yazıyı yazmamı bekliyormuş bu söz beynimin ücra bir köşesinde hemen aklıma geldi 🙂 Neyse Riskin ortadan kaldırılması güvenlik olarak görülse de riskin azaltılması, önlemlerin arttırılması için çabalamak gerek diye düşünüyorum. WordPress güvenliğinizi arttırmak için sizlere detaylı bir liste hazırlamaya çalıştım ve bu listeyi sıfır bilgili bir birisi işlemleri zorlanmadan yapabilsin diye açık ve anlaşılır bir dille yazmaya çalıştım. WordPress Güvenlik Hizmeti almak isterseniz linke tıklayarak hizmetim hakkında bilgi alabilirsiniz.

WordPress Güvenlik Temelleri

Web Sitesi Güvenliği Neden Önemli?

Günümüzde internet ortamından alışveriş, bilgi edinme ve araştırma oranlarının artmasını ve günler geçtikçe artmasını göz önünde bulundurursak bu süreçlerde en önemli faktörlerden bir tanesinin güvenlik olduğu söylenebilir. Kendimizi örnek gösterecek olursak eğer yavaş açılan, modası geçmiş tasarıma sahip, ayrıca tarayıcınızda bu site güvenli değil ibaresi çıkan bir siteyi ziyaret etmek ister misiniz? Şahsen ben istemem. Özellikle alışveriş sitelerini kullanıyorsanız bazı sitelerin ödeme sayfalarına ya da footer alanlarına güvenliklerini sağlamak için kullandıkları, satın aldıkları sertifikaları ve lisansların logolarını eklemektedirler ki bu ekstra güvenlik önlemlerini müşterilerine açıkça belirtmeleri müşterilerinin rahatlamasına neden olduğunu kanıtlanmıştır.

Günümüzde web siteleri genel olarak işletmeleri, markaları ve sunulan hizmetleri dijital dünyada temsil eden en etkili araçlardan biri olarak görülmektedir. Durum böyle iken hedef kitlenize ulaşmada ve hedef kitlenizin sizi tanımasında en etkili yöntemlerden biri haline gelmiştir. Saldırıya uğramış bir site, işletme gelirine, itibarınıza ciddi zararlar verebilir. Kullanıcı bilgileri ve şifreleri çalınabilir, sitenize kötü amaçlı yazılım yüklenebilir hatta bu yazılımlar site kullanıcılarınıza da siteniz aracılığıyla dağıtılabilir.

Kullandığınız web sitesi WordPress altyapısıyla çalışıyor ve kurumsal bir site ise wordpress güvenlik önlemleri için daha dikkatli olmanız gerekiyor. Nasıl fiziksel mağazanızı/dükkanınızı korumak sizin gözetimizde ise web sitenizi de korumak, kullanıcılarınızın bilgilerinin güvenliğini sağlamak sizlerin sorumluluğundadır.

WordPress ‘i Güncel Tutma

WordPress yüzlerce geliştirici tarafından sürekli olarak bakımı ve güncellemeleri yapılan açık kaynak kodlu bir içerik yönetim sistemidir. WordPress kullanıcısı iseniz siz farkında olmadan ufak güncellemeleri sisteminiz otomatik olarak yapmaktadır fakat bazı büyük versiyonlar için güncellemelerinizi manual yapmanız gerekmektedir. WordPressi tanımladığım ve açıklamaya çalıştığım diğer yazılarımda hep bahsettiğim gibi binlerce eklenti ve tema seçenekleriyle birlikte gelen wordpress altyapısında eklenti ve tema yayınlayan geliştiriciler PHP sürümleri ve WordPress güncellemerine göre eklenti ve ya temalarını güncellemektedirler.

WordPress sitenizin güvenliği için WordPress sürümünüzü güncel tutmak, sitenizde kullandığınız eklenti ve tema güncellemelerini yapmak web sitenizin sürekliliği ve güvenliği için oldukça önemli bir husustur. WordPress altyapısını, eklentilerinizi ve temanızı güncel tuttuğunuzdan emin olmalısınız.

Güçlü Şifre ve Kullanıcı İzinleri

WordPress kurulumunda varsayılan kullanıcı adı olan “admin” mi kullanıyorsunuz? Evet mi? Bu bölümü okuduktan sonra değiştireceğinize eminim. En sık kullanılan WordPress saldırı girişimleri admin paneline giriş için şifre denemeleridir. Sitenize saldıranların işlerini kolaylaştırmak istemiyorsanız öncelikle kullanıcı adınızı değiştirerek farklı bir kullanıcı adı bulun. WordPress sitenizin güvenliği için güçlü ve benzersiz şifreler kullanmanızı öneririm. Güçlü ve benzersiz şifreler saldırı girişiminde bulunan bilgisayar korsanının işini zorlaştıracaktır. Tabi bu güçlü ve benzersiz şifreleri sadece wordpress admin paneliniz için değil, aynı zamanda FTP hesaplarınızda, veritabanı kullanıcı adları ve şifrelerinde, hosting sağlayıcınıza giriş şifrelerinizde ve sitenizin maillerinde de kullanmanızı öneririm. Yeni bir geliştirici ya da site sahibiyseniz güçlü ve benzersiz şifre oluşturmak pek hoşuna gitmeyecek ve hatırlamakta zorluk çekeceğinizi düşünüyorsanız şifre yöneticisi kullanarak bu sorunu aşabilirsiniz.

WordPress güvenlik önlemlerinden biri de gerekmedikçe kimseye WordPress yönetici hesabınıza erişim vermemektir. Eğer sitenizde editör, yazar gibi büyük bir ekip yönetiyor ise WordPress Kullanıcı rolleri ve yetkilerini iyi araştırdığınızdan emin olmalısınız.

Ufak Tüyo | Şifre Yöneticileri:
LastPass, 1Password, Dashlane

WordPress Güvenliğinde Hosting Rolü

Aslına bakılırsa WordPress güvenlik önlemleri en önemli rol bu başlık altında olacaktır. Siz ne kadar önlemlerinizi alırsanız alın hosting sağlayıcınız saldırılara karşı ekstra önlemler almamış ise sizin aldığınız önlemlein bir önemi kalmayabilir. Piyasada bir çok hosting firması var. Hangisini seçeceğiniz konusunda karar vermekte zorlanabilirsiniz. Hizmet detaylarını okumak ya da internet üzerinden araştırma yaparak istediğiniz bilgilere erişemeyebilirsiniz. Tabi konumuz hosting seçimi değil. İyi bir hosting şirketi web sitenizi ve verilerinizi korumak için arka planda nasıl çalışır onu anlatmaya çalışacağım.

  • Tüm iyi hosting şirketleri DDOS saldırılarını önlemek için özel araçlara sahiptirler.
  • Bilgisayar korsanlarının eski sürümlerin bilinen açıklarını kullanacaklarını varsayarak sunucu yazılımlarını ve donanımlarını sürekli olarak güncel tutmaktadırlar.
  • Şüpheli etkinlikleri tespit etmek için sürekli olarak ağları izlerler.
  • Büyük bir saldırı durumunda veri güvenliği için özel planları mevcuttur.

Eğer paylaşımlı bir hosting kullanıyorsanız sunucu kaynakları diğer siteler ile kullanılmaktadır. Bu da web sitenize saldırmak isteyen bir bilgisayar korsanının paylaşımlı hosting paketinde başka bir siteyi kullanarak sizin sitenize saldırabileceğini anlamına gelir. Yönetilebilri bir WordPress hosting almak siteniz için daha güvenli bir platform olacaktır. WordPress hostinglerde genel olarak otomatik yedekleme, otomatik WordPress core güncellemeleri ve gelişmiş güvenlik yapılandırmaları sunmaktadır.

Benim sizlere önerebileceğim kendi projelerimi ve müşterilerimin sitelerini barındırdığım, sürekli olarak çalıştığım iki adet hosting firması var: Güzel Hosting ve Veridyen

Kolay Yollarla WordPress Güvenliği

Yedekleme

Siteniz WordPress olsun ya da olmasın web sitelerinin saldırılara karşı ilk savunması yedeklemelerdir. Teknolojinin ve bilgiye erişimin kolay olduğu günümüzde sadece yararlı bilgiler değil zararlı yazılımlar ve hack konusunda bilgilere de ulaşmak oldukça kolaydır. İnternette hiç bir site 0 güvenli değildir. Günümüze kadar bir çok devletin siteleri saldırılara uğramış ve ele geçirilmiştir. Peki devletin siteleri bile saldırıya uğrayıp ele geçirilebiliyorsa sizin siteleriniz neden hacklenemesin?

Saldırı sırasında veri kaybınız olması ve ya başka bir sorun ile karşılaşmanız durumunda yedeklemeler sitenizi tekrar aktif etmenizde sizlerin en büyük yardımcısı olacaktır. WordPress altyapısında yedekleme için kullanabileceğiniz çok sayıda ücretli ve ücretsiz eklentiler mevcuttur. Fakat ben yedeklerimi manual olarak almayı tercih etmekteyim. Sizin tercihiniz ne olursa olsun yedek dosyalarınızı aynı hostingde barındırmamanızı tavsiye ederim. Dropbox, Google Drive, Amazon gibi bir çok bulut hizmetinden yararlanabilirsiniz. Web sitenizi güncelleme sıklığınıza göre günlük ve ya haftalık yedeklemeler yapabilirsiniz. Bu süreç tamamen sizlere kalmış bir durum.

Güvenlik Eklentileri

Gün içerisinde birden çok WordPress güvenlik eklentisi kullanmak zorunda mıyım? gibi sorular ile karşılaşıyorum. Gerek mail, gerek telefon gerekse sosyal çevremden. -Kesinlikle zorundasınız! diyorum. Güvenlik eklentileri sizlerin sitelerinizi kurarken harcadığınız zaman, emek ve paranın korunmasına yardımcı olmaktadır.

WordPress altyapısında bir çok ücretli ve ücretsiz güvenlik eklentisi edinmek mümkün. Ben burada hangi eklentiyi öneriyorum moduna girmeyeceğim(Tabi ki de öneride bulunacağım 🙂 ). Sizlere wordpress güvenlik etklentisinde bulunması gerek fonksiyonlardan bahsedeceğim.

  • Kötü Amaçlı Yazılım Taraması: Birden fazla hack türü için tarama yapamıyor ise işinize yarayacak bir eklenti değildir.
  • Güvenlik Duvarı: Kötü amaçlı botların sitenize ulaşmasını engelliyor olmalıdır.
  • Dosya Onarılmasına Yardımcı Olması: Kötü amaçlı yazılımların bulaştığı dosyaları tespit etmesinin önemli olduğu kadar bu dosyaları onarmanız için WordPress çekirdek kodlarına ulaşabilir ve karşılaştırmalar yaparak size yol gösterebilir olmalıdır.
  • Yazının başında söylemiştim. Google bir çok siteyi kara listeye alıyor. Sitenizin Güvenli Taram Listesinde olup olmadığını kontrol etmesi sizin için fayda sağlamaz mı?
  • Yukarıda saydığım özellikleri içeren bir eklenti buldunuz mu? Eklenti açıklamalarında bu özellikleri okudunuz ama hemen satın almayın ya da kurmayın! Eklenti çalışıyor mu? Eklenti çalışmıyor ise ya da WordPress sürümünüz ile uyumlu değil ise sitenizi saldırılara açmış olabilirsiniz.

WordPress Güvenlik Eklentileri Önerileri:

  • Sucuri Security
    Kullanıcı aktivitelerini takip etme / Dosyaları takip etme ve değiştirilip değiştirilmediğini denetleme / Botların zararlı yazılım yüklemelerine karşı güvenlik duvarı ve ayarları / Güvenlik duvarı / Sitenizin kara listede olup olmadığını takip etme
  • iThemes Security ( Eski adı Better WordPress Security )
    Eklentinin amacı güvenlik için WordPress kullanıcıların ihtiyaçlarını karşılayacak farklı özelliklere sahip birden fazla eklentinin kullanma zorunluluğunu ortadan kaldırmak. Eklenti bir çok özelliği barındırıyor. İnternet üzerinden detaylı bilgi ve kurulum detaylarına erişebilirsiniz.
  • Wordfence
    Dünya üzerinde 2 Mİlyon + indirilmeye sahip bir eklenti. / Kötü botları ve sahte Googlebotları engelleme /IP veya ülke engelleme (ücretli özellik)/Gerçek zamanlı denetleme ve engelleme /Şüpheli davranan ya da web sitenize potansiyel risk olabilecek kullanıcıları ve botları engelleme /İki faktörlü kimlik doğrulama /Kullanıcıları güçlü şifreler oluşturmaya zorlama /Kaba kuvvet saldırılarını engelleyecek giriş sayfası güvenliği / Dosyaları WordPress çekirdek dosyaları, temaları ve eklentileriyle karşılaştırarak tarama / WordPress.org’da bulunma / Trojan (Truva atı virüsü), arka kapılar ve daha fazlası için güvenlik taraması / Çoklu WordPress web siteleri için destek
  • All In One WP Security and Firewall
    iThemes Security benzeri eklenti. Bazı hostinglerde iThemes Security eklentisi verimli çalışmayabiliyor. Bu tarz durumda bu eklentiyi tercih edebilirsiniz.

WordPress Sitenizi SSL/HTTPS’ye Taşıma

SSL (Secure Sockets Layer), web siteniz ve kullanıcının tarayıcı arasındaki veri aktarımlarını şifreleyen bir protokoldur. Bu şifreleme protokolü bilgi çalınmasını zorlaştırır. SSL Sertifikası etkinleştirildikten sonra sitenizin urlleri http:// şeklinden https:// şekline dönüşecektir ve tarayıcınızda site adresinizin yanında asma kilit işareti görünecektir.

Günümüzde bir çok hosting firması Let’s Encrypt adlı kar amacı gütmeyen kuruluş tarafından sağlanan SSL sertifikalarını hosting paketleriyle birlikte vermektedir. Let’s Encrypt Google Chrome, Facebook, Mozilla ve daha birçok şirket tarafından destekleniyor. Eğer hosting sağlayıcınız ücretsiz SSL Sertifikası sağlamıyor ise harici bir kaynaktan SSL Sertifikası edinebilirsiniz. Ortalama SSL Sertifika fiyatları 8$’dan başlamaktadır.

Web Application Firewall (WAF) Kullanmak

Bilişim teknolojisinde sistem ve yazılımların güvenlik özellikleri artık vazgeçilmez olmuştur. Günümüzde internet ortamına açılan hemen hemen her şirket güvenlik duvarı kullanmaktadır. Kimi şirketler güvenlik için kimi şirketler ise ek özellikleri için güvenlik duvarı kullanmayı tercih etmektedirler. Klasik güvenlik duvarları ip adresi, port numarası, bağlantı durumu gibi bir paketi OSI katmanında 4. seviyeye kadar inceleyerek karar verirler. Bazı güvenlik duvarları yedinci katmana kadar çıkarak belirli protokoller için inceleme imkânı sunsa da günümüz için bunlar istisna sayılacak kadar azdır.
Web Application Firewall (WAF),  karmaşıklaşan web trafiği üzerinde detaylı inceleme yaparak anormal trafiği engellemeye yarayan bir teknolojidir. Kısacası HTTP/HTTPS/SOAP/XML/Web Servisleri üzerinde detaylı paket incelemesi yaparak zararlı istekleri bloklamak için kullanılan bir araç diyebiliriz.

WAF sistemlerinin kullanımı bazı güvenlik standartları tarafından da tavsiye edilmektetir. Bunların başında duruma göre WAF kullanımını zorunlu tutan PCI Veri Güvenliği standartı geliyor. WAF kullanımı PCI DSS (6.6)’a göre zorunlu tutuluyor. Ya da kod analizi, kaynak kod incelemesi uzun vadede daha efektif bir çözüm sunsa da kısa vadede WAF çözümü daha uygun gözükmektedir.

WAF Yazıları Kaynak: https://www.isnet.net.tr/BlogIcerik/WAF-nedir-isnet-blog

Sizlere önerebileceğim Sucuri WAF yıllık sadece 99$ gibi bir ücretle kullanabilirsiniz.

Kendin Yap’çılar için WordPress Güvenlik Önlemleri

Yukarıdakileri yaptığınız takdirde bile WordPress güvenliği konusunda oldukça iyi bir yere geldiniz denilebilir fakat WordPress güvenlik önlemleri tabiki bu kadar değil. Daha yapılacak çok şeyimiz var. Aşağıda vereceğim öneriler kodlama bilgisi gerektirebilmektedir. O yüzden başlığı biraz dikkat çekici yazmaya çalıştım.

Varsayılan Yönetici Kullanıcı Adını Değiştirme

WordPress varsayılan yönetici kullanıcı adı “admin”dir. Kullanıcı adları yönetim panelinize giriş için gerekli bilgilerin yarısını oluşturmaktadır. Kaba kuvvet saldırı olarak adlandırılan saldırıların yapılmasını kolaylaştıran en büyük faktör kullanıcı adlarının bilgisayar korsanları tarafından bilinmesidir. WordPress varsayılan yönetici kullanıcı adını yükleme yaparken seçilebilecek şekilde düzenledi. Ama günümüzde WordPress kurulumu için çeşitli yöntemler mevcut fakat hala bazı tek tıkla kurulum hizmetlerinde kullanıcı adları yükleme işlemi yapılırken belirlenememektedir. Eğer böyle hizmet sağlayan bir hosting ile çalıştığınızı farkederseniz bana kalırsa yedeklerinizi alıp o hostingden sessizce uzaklaşın 🙂

WordPress varsayılan kullanıcı adlarını değiştirmemize izin vermemektedir. Bu yüzden biz kendimize göre kullanıcı adları edinmek için 3 farklı yol izleyebiliriz.

  • Yeni Yönetici Oluşturma ve Eski Yöneticiyi Silme
    WordPress kullanıcı adınızı değiştirmenizin en kolay yolu yeni bir yönetici oluşturmaktır. Eski yönetici hesabınızdan farklı bir e-posta adresi gerekiyor. WordPress Admin Paneli’ne giriş yaptığınızda Kullanıcılar> Yeni Ekle seçeneklerini takip ederek yeni kullanıcı oluşturabilir ve oluşturma işleminizi tamamladıktan sonra, çıkış yaparak yeni oluşturduğunuz yönetici hesabına giriş yaparak eski yönetici hesabınızı silebilirsniz. Fakat silerken sileceğiniz yöneticiye ait içeriklere ne olacağını soracaktır. Tüm içeriği yeni yöneticinizi seçerek ilişkilendirebilirsiniz.
  • Kullanıcı Adı Değiştirici Eklentiler Kullanma
    WordPress kullanıcı adınızı değiştirmek için başka bir seçeneğiniz de eklenti eklemektir. Ama ben her zaman minimum eklenti ile WordPress sitemi ayakta tutmaya çalışanlardanım. O yüzden bu konuya çok sıcak bakamıyorum. İnternet üzerinden çeşitli basit eklentiler ile kullanıcı adınızı değiştirebilirsiniz.
  • phpMyAdmin’den kullanıcı adı güncelleme
    WordPress kullanıcılarının genel olarak PhpMyAdmin üzerinden değişiklik yapmasını pek önermiyor olsam da bazı durumlarda başka seçeneğimiz kalmayabiliyor. PhpMyAdmin sayfasına giderek WordPress sitenizin kullandığı veritabanını seçiniz. Ardından “wp_users” seçeneğine tıklayarak veritabanındaki kullanıcıların yüklenmesini bekleyiniz. Ardından değiştirmek istediğiniz kullanıcı adının üzerine tıklayarak ya da düzenle diyerek wordpress yönetici alan adınızı düzenleyebilirsiniz.

Dosya Düzenlemeyi Devre Dışı Bırakma

WordPress kurulumunda eklenti ve tema dosyalarınızı düzenlemenize olana sağlayan bir kod düzenleyicisi ile birlikte gelmektedir. Yanlış kişilerin erişimi halinde bu durum güvenlik risklerini de beraberinde getirebilmektedir. Bu yüzden WordPress Admin Paneli üzerinden Kod Düzenleyicileri kapatmanızı öneririm. WordPress yerleşik kod düzenleyicisini kapatmanız için gereken kod aşağaıda verilmiştir. Bu kodu wp-config.php dosyanıza ekleyerek kullanabilirsiniz.

// Kod Düzenleyicisi Devre Dışı Bırakma
define( 'DISALLOW_FILE_EDIT', true );

Bazı güvenlik eklentileri (Sucuri gibi) tek tık ile kod düzenleyicinizi devre dışı bırakabilmektedir. Güvenlik eklentisi kullanıyorsanız Seçeneklerini ve ayarlarını incelemenizi öneririm.

WordPress Dizinlerinde PHP Dosyaların Çalışmasını Engelleme

WordPress güvenliğinizi arttırma yollarından bir tanesi de wordpress dizinlerinde gerekli olmayan klasörlerde php dosyalarının çalışmasını engellemektir. Bu işlem için wp-content ve uploads klasörleri başlangıç için oldukça iyi bir seçim olacaktır. Çeşitli güvenlik eklentilerinin ayarlar bölümünde bu ayarlamaları yapmanıza olanak sağlayan seçenekler olsa da biz bunu kendimiz yaparak pekiştirelim. Aşağıda verdiğim kodları .htacess dosyası oluşturararak PHP dosyalarının çalışmasını engellemek istediğiniz klasörlere FTP aracılığıyla yükleyebilirsiniz.

<Files *.php>
deny from all
</Files>

Giriş Denemelerini Sınırlandırma

WordPress kullanıcıların sınırsız oturum açma denemesi yapmasına izin vermektedir. Bu da bilgisayar korsanlarına karşı farklı kombinasyonlar ile giriş yapma denemeleri yapmalarına olanak sağlamaktadır. Yukarıda bahsedilen wordpress güvenlik önlemleri listesini tamamen yaptıysanız WAF kullanımınız bunu otomatik olarak engellemektedir.

Güvenlik duvarınız yok ise Login LockDown eklentisini kullanabilir ve oturum açma nedenemelerini sınırlandırabilirsiniz. Eklenti kullanmak istemeyenler için Google reCAPTCHA gibi seçeneklere de göz atabilirsiniz.

İki Faktörlü Kimlik Doğrulama Ekleme

İki faktörlü kimlik doğrulama tekniğini artık bilmeyen yoktur diye tahmin ediyorum. Facebook, Instagram, Google gibi bir çok sitede bu tabirler karşımıza çıkıyor ve kullanıyorsunuzdur diye umut ediyorum. Facebook, Twitter, Google, Intagram gibi web siteleri hesaplarınız için iki faktörlü kimlik doğrulama seçeneklerini kullanmanıza izin vermektedir. Siz de bu özelliği wordpress sitenize ekleyebilirsiniz.

WordPress sitenize iki faktörlü kimlik doğrulaması kurmak istiyorsanız bunu eklenti ile yapmanızı öneririm. Bu işlem için kullanacağınız eklenti : Two Factor Authentication. Bu eklentiyi yükleyip etkinleştirdikten sonra yönetim panelinizde Two Factor Auth tarzında bir link çıkacaktır. Bu linke tıklayarak ayarlarınızı yapabilirsiniz. Telefonunuza da bir uygulama yüklemeniz gerekmektedir(Google Authenticator, Authy ve LastPass Authenticator).

Bu ayarlar sayesinde Kullanıcı Adınız ve Şifrenizle giriş yaptıktan sonra uygulamadan edineceğiniz süreli kodunuzu girmeden WordPress Admin Panelinize erişim sağlayamayacaksınız. Bu eklenti ve iki faktörlü kimlik doğrulaması sayesinde bir tık daha güvenli bir wordpress sitesine sahip olabilirsiniz.

Veritabanınızda WordPress Öncekini Değiştirmek

WordPress sistemi genel olarak veritabanınızdaki tablolar için “wp_” ön ekini kullanmaktadır. Veritabanındaki tablo adlarının ne olduğunu tahmin etmeyi kolaylaştıracaktır. Ben size bu ön ekleri nasıl değiştirileceğini adım adım anlatacağım fakat bu işlemler sırasında en ufak bir yanlışlık sitenizde hatalar ve bozulmalara yol açabilir. Kodlama becerilerinize güvenmiyorsanız bu adımı atlayabilirsiniz ya da yedek alarak çalışmalara başlayabilirsiniz.

  • WordPress kök dizininizdeki wp-config.php dosyanızı düzenle diyerek “$table_prefix = ‘wp_’;” satırını bulunuz. Buradaki wp_ kısmını istediğiniz şekilde düzenleyiniz. Tabi bunu tahmin edilemeyecek bir şekilde düzenlemeniz daha doğru olacaktır. İşlemden sonra wp-config.php dosyanızı kaydedin. Siteniz çalışmayacaktır. Sakin olun. Bir çok wordpress kullanıcısı burada düzenlemeyi yaptıktan sonra tablo ön eklerinin değiştirğini sanmaktadır. Fakat burada yaptığımız işlemler veritabanına etki etmemektedir. Veritabanımızda da gerekli düzenlemeleri yapmamız gerekmektedir.
  • PhpMyAdmin kısmında wordpress sitemizin kullandığı veritabanını bularak tablo isimlerini not almanızı öneriyorum. Not alma işlemi sonrası aşağıdaki SQL kodlarını tablo isimlerinize göre eklemeler çıkartmalar yaparak ve sizinekiniz kısmını düzenleyerek çalıştırabilirsiniz.
RENAME table `wp_commentmeta` TO `sizinekiniz_commentmeta`;
RENAME table `wp_comments` TO `sizinekiniz_comments`;
RENAME table `wp_links` TO `sizinekiniz_links`;
RENAME table `wp_options` TO `sizinekiniz_options`;
RENAME table `wp_postmeta` TO `sizinekiniz_postmeta`;
RENAME table `wp_posts` TO `sizinekiniz_posts`;
RENAME table `wp_terms` TO `sizinekiniz_terms`;
RENAME table `wp_term_relationships` TO `sizinekiniz_term_relationships`;
RENAME table `wp_term_taxonomy` TO `sizinekiniz_term_taxonomy`;
RENAME table `wp_usermeta` TO `sizinekiniz_usermeta`;
RENAME table `wp_users` TO `sizinekiniz_users`;
  • Bazı tabloların hücrelerinde de WordPress öneki bulunmaktadır(Bknz: options ve usermeta) . Bunun için de aşağıdaki sQL sorgusunu kullanarak düzenlemerlerinizi yapabilirsiniz.
// Options Tablosu için
SELECT * FROM `sizinekiniz_options` WHERE `option_name` LIKE '%wp_%'


//Usermeta İçin
SELECT * FROM `sizinekiniz_usermeta` WHERE `meta_key` LIKE '%wp_%'

Dizin Taramayı Devre Dışı Bırakmak

Genel olarak hackerlar güvenlik açıklarını araştırırkendosyalarınıza erişerek bu dosyalardan yararlanmaktadırlar. Dizin taraması başkaları tarafından dosyalarınıza bakmak, görüntülemek ve kopyalamak için kullanılabilmektedir. Bu nedenle dizin indekslenmelerini ve tarama seçeneklerini kapatmanızı öneriyorum.

Bunun için öncelikle sunucu yönetim panelinize girmeniz ya da FTP ile bağlanarak .htaccess dosyanızın sonuna

Options -Indexes

eklemeniz gerekmektedir. Bu işlemi yapıp kaydettikten sonra dizine erişmek isteyen kullanıcılara 404 sayfanız gösterilecektir.

Etkin Olmayan Kullanıcılara Çıkış Yaptırma

WordPress sitenizde yönetim paneline bağlanmış hesapları yöneten kişiler bazen ekrandan uzaklaşmak zorunda olaiblirler, başka bir işe odaklanabilirler ve bu güvenlik riskleri doğurabilmektedir. Oturumlar ele geçirilebilir, şifre değiştirilebilir ve ya hesaplarda değişiklik yapılarak bazı arka kapılar yaratılmektedir.

Günümüzde internet bankacılığı kullanıyoruz. Nasıl belirli bir süre ekranda işlem yapmadan beklediğimizde belirli bir süre sonra tekrar bize giriş yapmamız gerektiği söyleniyorsa biz de bunu wordpress sitemizde admin paneli için uygulayabiliriz. Bunun için Inactive Logout adlı bir eklenti kullanabiliriz. Ama eklenti kullanmak istemiyorsanız aşağıdaki kod eklenti ile aynı işlevi yapmasa da otomatik çıkış süresini belirlemektedir. Koddaki süre saniye cinsindendir. Kendinize göre bir süre belirleyebilir ve temanızın functions.php dosyasına ekleyebilirsiniz.

// Otomatik Çıkış Süresi 
function fth_grgc_cikis_suresi( $expirein ) {
return 3000; // Burayı saniye cinsinden istediğiniz gibi düzenleyebilirsiniz.
}
add_filter( 'auth_cookie_expiration', 'fth_grgc_cikis_suresi' );

WordPress XML-RPC Devre Dışı Bırakma

WordPress 3.5 sürümünden sonra etkin olarak gelen XML-RPC web ve mobil uygulamalar ile wordpress sitenizi bağlamanıza olanak sağlamaktadır. Çok güçlü bir altyapısı olması bilgisayar korsanları tarafından saldırıları da arttırmaktadır. WordPress admin paneline girmek için şifre denemesi yapan korsanlar her şfire denemesi için ayrı işlem yapmak zorunda olacak fakat XML-RPC ile bir kaç istek ile binlerce parola denemesi yapabilmektedir.(system.multicall). Biz bu XML-RPC devre dışı bırakmak için 3 farklı yöntem izleyebiliriz. Güvenlik duvarı kullanıyorsanız bu işlemleri yapmanıza gerek yoktur çünkü güvenlik duvarınız sizin için bu istekleri engelleyecektir.

  • .htaccess Dosyası ile Devre Dışı Bırakma
    Vermiş olduğum kodu .htaccess dosyanıza eklemeniz yeterlidir. En güvenilir ve en az kaynak kullanan yöntem budur. Fakat bu ilk kod birçok kullanıcı için yeterli gibi gözükse de saldırıya uğrayan sitelerde kaynak kullanımı çok olabilmektedir. Bu yoğun istekleri WordPress altyapımıza iletilmeden savuşturmak isteyebiliriz.
# XML-RPC Devre Dışı Bırakma
add_filter('xmlrpc_enabled', '__return_false');

eğer herhangi bir uygulama ve uzak bağlantı kullanmıyorsanız wordpress altyapınıuza istekleri iletmeden kurtulmak için bu kodu yazabiliriz.

# WordPress xmlrpc.php İsteklerini Devre Dışı Bırakma
<Files xmlrpc.php>
order deny,allow
deny from all
allow from 123.123.123.123
</Files>
  • Eklenti ile Devre Dışı Bırakma
  • Functions.php Dosyası ile Devre Dışı Bırakma
    Bu kodu daha önceden İşinizi Kolaylaştıracak WordPress Kodları yazımda paylaşmıştım. Yazıya giderek diğer wordpress kodlarını inceleyebilir ve kendinize uygun olanı functions.php dosyalarınıza ekleyebilirsiniz.
// XML-RPC Devre Dışı Bırakma
add_filter('xmlrpc_enabled', '__return_false');

WordPress Giriş Ekranına Güvenlik Sorusu Ekleme

WordPress giriş ekranına güvenlik sorusu ve ya reCAPTCHA eklemek yetkisiz erişim denemelerini zorlaştıracaktır. “WP Security Questions” eklentisi ile wordpress giriş ekranına güvenlik sorusu ekleyebilirsiniz.

Günümüzde kodlama bilgisine sahip olmayan bir çok bilgisayar korsanı vardır. Bu da internet üzerinden edindikleri yazılımlar ve kod parçacıkları ile kolayca yapılabilmektedir. Genel olarak standartlar için yazılımların hazırlandığını hepimiz biliyoruz. Biz de bu eklemeler ile bilgisayar korsanlarının işlerini zorlaştırarak heveslerini ve kendilerine olan güvenlerini kırmalarını sağlayabiliriz 🙂

WordPress Kötü Amaçlı Yazılım ve Güvenlik Açıkları için Tarama

WordPress sitenizde yüklü bir güvenlik eklentisi var ise bu eklentiler genel olarak rutin kötü amaçlı yazılım ve güvenlik ihlalleri için tarama yapmaktadırlar. Fakat web sitesi trafiğinizde ani düşüş, aramalardaki sıralamalarınızı kaybetmeniz gibi durumlarla karşılaşırsanız bu taramaları manual olarak gerçekleştirmeniz gerekmektedir. Eklentilerinizi kullanarak ya da çevirimiçi taramalar için çeşitli siteleri kullanabilirsiniz.

Saldırıya Uğramış WordPress Sitesini Düzeltme

Yazılarımda genel olarak “yedek almak saldırılara ve sorunlara karşı en iyi önlem” olduğunu belirtmeye çalıştığımı farketmişsinizdir. Bir çok web site kullanıcısı siteleri saldırıya uğrayıp, sitelerini kaybedene kadar yedeklemenin ve güvenliğin önemi kavrayamamaktadır.

WordPress sitesini kötü amaçlı yazılımlardan temizlemek oldukça zahmetli ve bilgi gerektiren bir iştir. Tavsiyem bir wordpress uzmanı ya da profesyonelden destek almanızdır. Siz temizlediğinizi sansanız da bilgisayar korsanları arka kapı yerleştirmiş olabilirler ve siz düzelttiğini sansanız da tekrar saldırıya uğrayabilirsiniz. Daha detaylı bilgiler için Saldırıya Uğramış WordPress Sitesi Nasıl Düzeltilir yazımı okuyabilirsiniz.

WordPress güvenlik önlemleri için listelediğim yazı biraz uzun olsa da WordPress site güvenliğinin ne kadar önemli olduğunu umarım anlamışsınızdır. WordPress Güvenlik Kılavuzu başlıklı yazımı beğendiyseniz lütfen paylaşarak blogumun gelişmesinde bana katkıda bulunun. Aklınıza takılan konu ile ilgili soruları yorumlar kısmından sorar iseniz kafasına takılan sorular için bir çok wordpress kullanıcısına birlikte yardımcı olabiliriz.

Bu gönderiyi paylaş

Bir cevap yazın

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