WordPress Güvenlik Optimizasyonu işleminin nasıl yapılması gerektiği konusuna geçmeden önce kısaca web sitesi güvenliğinin neden önemli olduğuna değinmemiz gerekiyor. WordPress websitenizi bir projenizi gerçekleştirmek amacıyla kurmuş olabilirsiniz. Kurmuş olduğunuz web sitesi, kişisel bir blog sayfası, e-ticaret platformu ya da kurumsal bir şirket sitesi olabilir. Hacklenmiş bir web sitesi önemli oranda bir itibar ve kullanıcı kaybı yaşar. Dolayısıyla WordPress Güvenlik Optimizasyonu WordPress’te en çok önemsenmesi gereken bir konulardan birisidir.
WordPress Güvenlik Optimizasyonu
Yazımızın WordPress Güvenlik Optimizasyonu önerileri kısmına geldik. Aşağıdaki başlıklar ve paragraflarda WordPress Güvenlik Optimizasyonu işlemlerinde neler yapmanız gerektiğini detaylarıyla beraber anlatacağız.
WordPress’in, Temanızın ve Eklentilerinizin Daima Güncel Versiyonunu Kullanın
WordPress Güvenlik Optimizasyonu kapsamında yapmanız gerekenlerin başında WordPress’in, temanızın ve eklentilerinizin daima güncel sürümünü kullanmak gelir. Yazılım, güvenlik açıklarını söz konusu güncellemeler ve yapılan AR-GE çalışmaları neticesinde kapatır. Bu nedenle yazılımı sürekli güncel tutmak WordPress Güvenlik Optimizasyonu açısından oldukça önemli bir etkendir.
Şifrelerinizi Güçlü Karakterlerden Seçin
WordPress kullanımında en çok karşılaşılan hackleme girişimi, basit kullanıcı şifrelerinin kaba kuvvet (brute force) yöntemiyle ele geçirilmesidir. Bu sebeple seçilen şifrelerin güçlü karakterlerden belirlenerek bu girişime karşı tedbir geliştirmek gerekir. Kolay tahmin edilebilen zayıf şifreler kullanmak yerine içerisinde büyük-küçük harf, sayı ve noktalama işaretleri içeren güçlü şifreler kullanılmalıdır.
Paylaşımlı Hostinglere Dikkat Edin
Paylaşımlı hosting kullanmak WordPress Güvenlik Optimizasyonu açısından riskli bir işlemdir. Bu kapsamda siteler arasında güvenlik sınırlamaları barındıran paylaşımlı hosting firmalarını tercih etmelisiniz. Seçeceğiniz hosting firmasının sunucu güvenliği anlamında başarılı ve güvenilir olmasına dikkat edin.
CDN Bazlı Firewall Kullanın
CDN (Content Delivery Network), birkaç tane dağınık sunucudan oluşmaktadır. Söz konusu içerik dağıtım sistemi web içeriklerini kullanıcının coğrafi koordinatına göre sunmaktadır.
CDN hizmetiniz kapsamında CDN bazlı güvenlik duvarı (firewall) ve diğer güvenlik önlemlerini alabilirsiniz. CDN hizmeti sunan firmalar sıklıkla karşılaşılan DDoS saldırılarına karşı bazı önlemler sunar.
Düzenli Yedekleme Sağlayın
Veri kaybı ihtimaline karşı WordPress sitenizin düzenli olarak yedeklenmesi gerekir. Söz konusu yedekleme işlemini WordPress yedekleme eklentileri ile yapabileceğiniz gibi hosting kontrol panelini kullanarak da gerçekleştirebilirsiniz.
WordPress Güvenlik Optimizasyonu Eklentilerini Kullanın
WordPress Güvenlik Optimizasyonu aşamalarının birçoğunu kodlama gerektirmeden kolayca yapabilirsiniz. Hem güvenlik eklentilerini kullanarak hem de eklenti kullanmadan optimizasyon işlemine destek olabilirsiniz. Biz yine de güvenlik eklentilerini kullanmanızı tavsiye ediyoruz.
Hatalı Giriş Limiti Belirleyin
WordPress Güvenlik Optimizasyonu kapsamında alacağınız önemli tedbirlerden biri de sisteme hatalı giriş limiti belirlemektir. Kötü niyetli kişiler WordPress’e girerken ekrana gelen login ekranındaki kullanıcı adı ve şifrenizi tahmin etmeye çalışarak web sitenizi ele geçirmeye çalışabilirler. Bu sızma girişimine karşı siteye hatalı giriş limini belirleyebilirsiniz. Belirlediğiniz limit oranında hatalı kullanıcı adı ve şifre girişi gerçekleştiğinde kötü niyetli kişilerin belirli bir süre siteye erişmesine engel olabilirsiniz.
WordPress Güvenlik Optimizasyonu kapsamında bu özelliği kullanmak için All in One WP Security eklentisini tercih edebilirsiniz.
İki Aşamalı Doğrulama (2FA) Kullanın
WordPress Güvenlik Optimizasyonu eklentilerinden Wordfence Security eklentisiyle sitedeki admin yetkisine sahip kullanıcıların giriş işlemlerinde iki adımlı doğrulama yöntemini kullanmasını sağlayabilirsiniz. Bu sayede kötü niyetli kişilerin siteye sızmasının önüne geçebilirsiniz. İki aşamalı doğrulama ile yönetici girişi esnasında mobil uygulamadan (Google Authenticator) üretilen tek seferlik geçici kodu girmeniz gerekecek.
İki aşamalı doğrulama, kullanıcı sisteme her girdiğinde kullanıcıdan kullanıcı adı ve şifrenin yanı sıra her 30 saniyede bir kod üreten bir mekanizmadır. Üretilen söz konusu kodu kullanıcı ilgili iki adımlı doğrulama uygulamasından alır ve giriş sağlayabilmek için bu kodu girer. Bu yöntemi kullanarak, sisteme girmek isteyen birisinin sadece kullanıcı adı ve şifre bilgisi yeterli olmayacaktır. WordPress Güvenlik Optimizasyonu kapsamında iki aşamalı doğrulama ile ekstra bir tedbir alınması sağlanır.
.htaccess ve wp-config.php Dosyalarına İzinsiz Erişimi Kısıtlayın
wp-config.php dosyası, sitenizle ilgili özel dosyaların saklandığı bölümdür. Bu bölümdeki kritik derecede önem taşıyan dosyalara yetkisiz kullanıcıların erişimini engellemeniz web sitenizin güvenliği için önemlidir. Bu sebeple wp-config.php dosyasına izinsiz erişimin kapatılması gerekir. Bunun için sitenizin kök dizinindeki .htaccess dosyasının en altına aşağıdaki kodu eklemeniz yeterli olacaktır:
Koda ulaşmak için aşağıdaki bağlantıya tıklayın: https://paste.ubuntu.com/p/3MDp2GHQZw/
.htaccess dosyasına erişimi engellemek için sitenizin kök dizinindeki .htaccess adlı dosyanın en altına aşağıdaki kodu yazabilirsiniz:
Koda ulaşmak için aşağıdaki bağlantıya tıklayın: https://paste.ubuntu.com/p/rbQjRJ2MFG/
Uploads Dizininde PHP Çalıştırmayı Engelleyin
PHP kodlarının WordPress’in bazı dizinlerinde çalışmasının engellenmesi WordPress Güvenlik Optimizasyonu için önemli bir adımdır. Herhangi bir metin editörünü açarak aşağıdaki kodu ekleyin ve dosyayı .htaccess olarak düzenleyin:
Koda ulaşmak için aşağıdaki bağlantıya tıklayın: https://paste.ubuntu.com/p/gTMr3Tw3cB/
Dosyanın isminin olmamasına ve uzantısının .htaccess olmasına dikkat edin. Daha sonra bu dosyayı web sitenizin wp-content altında bulunan uploads klasörüne ekleyin. Bu sayede uploads klasöründe PHP kodlarının çalıştırılması engellenecek.
Kullanmıyorsanız xmlrpc’yi Devre Dışı Bırakın
WordPress’in xmlrpc özelliği son derece gelişmiş bir algoritmayla çalışsa da potansiyel güvenlik zafiyeti barındırır. xmlrpc özelliğini devre dışı bırakmak için web sitenizin kök dizinindeki .htaccess dosyasının en altına aşağıdaki kodu ekleyebilirsiniz:
Koda ulaşmak için aşağıdaki bağlantıya tıklayın: https://paste.ubuntu.com/p/MNyQhwRJDg/
Dizin Listelemeyi (Directory Browsing) Engelleyin
index.html, index.php gibi index dosyası olmayan dizinlerdeki içerikler herkese açık olarak listelenir. Dizin listelemeyi engelleyerek siber korsanların pasif bilgi toplama adımını da engellemiş olursunuz. Dizin listelemeyi engellemek için sitenizin kök dizinindeki .htaccess dosyanızın en altına aşağıdaki kodu ekleyebilirsiniz:
# dizin listelemeyi engelle Options -Indexes
Dosya Düzenleme Özelliğini Engelleyin
Kötü niyetli birisi web sitenize sızdığında panelde uğrayacağı ilk nokta görünüm sekmesinin altındaki tema düzenleme bölümüdür. Güvenlik açığından yararlanan kişi buradan web sitenizin içeriğini değiştirebilir veya zararlı kodlar ekleyebilir. Ayrıca bu özelliğe ulaşan kişiler sitenize sizi rahatsız edecek zararlı link çıkışları ekleyebilir.
Bilgilendirme: İzinsiz site erişimiyle eklenen geri bağlantılar hacklink olarak nitelendirilir.
Yönetici panelinde yer alan dosya düzenleme özelliğinin kapatılması çok kolaydır. Bunun için web sitenizin kök dizininde yer alan wp-config.php dosyasının en üstünde <?php etiketinin altına aşağıdaki kodu ekleyerek WordPress Güvenlik Optimizasyonu kapsamında gerekli tedbiri alabilirsiniz.
define( 'DISALLOW_FILE_EDIT', true );
Eklentilerle WordPress Güvenlik Önlemlerinin Alınması
Yukarıda anlatılan WordPress Güvenlik Optimizasyonu aşamalarında kısmen de olsa kodlama yöntemlerini bilmeniz gerekir. Yazımızın devam eden kısmında sizlere WordPress tabanlı web sitenizin güvenliğinin sağlanması için gerekli olan 3 önemli eklenti önerisinden bahsedeceğiz.
iThemes Security
iThemes firması tarafından geliştirilmiş olan iThemes Security eklentisi dünyada 1 milyona yakın web sitesi tarafından kullanılmaktadır. Eklenti ücretli ve ücretsiz olmak üzere iki farklı versiyon olarak sunulmaktadır. WordPress’te güvenlik eklentileri arasında iThemes Security eklentisinin kullanıcı puanı 5 üzerinden 4.7’dir. WordPress Güvenlik Optimizasyonu kapsamında kullanacağınız bu eklentinin özelliklerini şu şekilde sıralayabiliriz.
- Temel Güvenlik Ayarları
- 404 Tespiti
- Uzak Mod
- IP Engelleme
- Otomatik Veritabanı Yedekleme
- Dosya Değişimi Tespiti
- Yerel Kaba Kuvvet Saldırısı Engelleme
- Ağ Bazlı Kaba Kuvvet Saldırısı Engelleme
- Sistem İnce Ayarları
- WordPress Salts Değerlerini Değiştirme
- WordPress İnce Ayarları
Sucuri Security
Sucuri Security eklentisi WordPress Güvenlik Optimizasyonu için kullanacağınız bir başka eklentidir. Bu eklenti ücretli ve ücretsiz versiyona sahiptir. Söz konusu eklenti WordPress Güvenlik Optimizasyonu kapsamında hem sitenizi koruyabilir, hem de dışarıdan gelecek bir saldırıya karşı tedbir geliştirebilirsiniz. Global çapta WordPress Güvenlik Optimizasyonu kapsamında bu eklentiyi kullanan web sitelerinin sayısı 300 bin civarındadır. WordPress kullanıcı topluluğu tarafından eklentiye 5 üzerinden 4.6 puan verilmiştir. WordPress Güvenlik Optimizasyonu için kullanılan bu eklentinin özelliklerini şu şekilde sıralayabiliriz.
- wp-content ve wp-includes dosyalarına izinsiz erişim, bu eklenti sayesinde engellenebilir.
- Uploads dizinininde PHP çalıştırılmasını engeller.
- Sucuri Security eklentisi web sitesinin malware taramasını gerçekleştirir. Bu sayede gelebilecek tehditlere karşı da WordPress Güvenlik Optimizasyonu kapsamında korunmuş olursunuz.
- Veritabanında ön ek (prefix) düzenlemesi sağlar.
- Tema ve Eklenti düzenleyicinin pasifleştirilmesini sağlar.
- Sitenin güvenliğini iyileştirirken Sucuri Security elde ettiği verileri kullanır.
- WordPress Güvenlik Optimizasyonunda bu eklentinin kullanılması ile hatalı şifre girişlerinin kaydedilmesini sağlayabilirsiniz. Bu sayede şifrenizin ne kadar güvenli olduğunu test etme imkânı bulabilirsiniz. Belirli limitten daha fazla hatalı şifre denemesi gerçekleştiğinde uyarı mesajı alırsınız.
WordFence Security
WordPress içerik yönetim sisteminin daha güvenli hale gelmesi için en fazla kullanılan ve bilinen güvenlik eklentilerinden birisi de WordFence Security eklentisidir. Söz konusu eklenti, kullanıcının ihtiyaç duyduğu tüm gereksinimlerin neredeyse hepsini karşılamaktadır. Söz konusu eklentinin özellikleri, artıları ve eksilerini yazımızın devamında bulabilirsiniz.
WordFence Security’nin Özellikleri
Söz konusu güvenlik eklentisinin özellikleri aşağıda sunulmuştur:
- Web sitesinin güvenlik açıklarının ortaya çıkarılması için kullanıcıya imkân tanır.
- Slider Revolution, Contact Form tarzı bilinen eklentilerin yaygın güvenlik açıklarını kapatır.
- Sistem üzerinde oluşan tehditleri ve kaba kuvvet saldırısı denemelerini email yolu ile kullanıcıya bildirilir.
- İki faktörlü doğrulama ve reCAPTCHA desteği ile WordPress güvenliğini arttırır
- Şüpheli PHP dosyalarını tespit eder ve engeller.
- Gelişmiş Güvenlik Duvarı’na (Firewall) sahiptir.
WordFence Eklentisinin Avantajları
WordFence eklentisinin kullanıcıya sağladığı avantajlar aşağıdadır:
- Eklenti, ücretsiz sürümü ile WordPress websitenizde ihtiyacınız olan tüm güvenlik önlemlerini sağlar.
- Güvenlik ile ilgili uyarıları email adresinize otomatik olarak gönderir.
- WordFence eklentisi tamamen açık kaynaktır.
- Virüs Tarama özelliği çok kapsamlıdır ve çoğu durumda büyük fayda sağlar.
- Slider Revolution, Contact Form tarzı bilinen eklentilerin yaygın güvenlik açıklarını kapatır.
WordFence Eklentisinin Dezavantajları
- Gelişmiş ülke engelleme (advanced country blocking) özelliğini kullanabilmek için eklentinin Premium sürümünü satın almak gerekir. Bu maddenin ne kadar dezavantaj olarak ele alınacağı tartışmaya açıktır.
- Kaba kuvvet (Brute Force) saldırısı engelleme özelliğinde sık karşılaşılan bir hata (bug) vardır. Bu hata dolayısıyla WordPress giriş panelinde girdiğiniz ilk şifrede IP adresiniz engellenebilir.
WordPress Virüs Temizleme
Bir an için durup düşünün. Günler, haftalar harcayıp web sitenizi oluşturuyorsunuz, sitenizi daha iyi yapabilecek her ihtimali önemsiyorsunuz Fakat beklemediğiniz bir anda sitenizin saldırıya uğradığını fark ediyorsunuz. Bu sorunu çözmeye çalışıyorsunuz ve çözemiyorsunuz. Çünkü siteniz saldırıya uğradıktan sonra saldırganlar sitenizdeki bazı dosyalara zararlı PHP veya Javascript kodları yerleştirirler. Bazı durumlarda hem dosyalarda hem de veritabanında sitenize zarar verebilecek değişiklikler yapabilirler. Bu sorunu çözebilmek için ileri düzey PHP, Javascript ve WordPress bilgisi gerekmektedir.