WordPress güvenlik alanında en popüler eklentilerinden biri olan iThemes Security, otomatik çalıştığından genellikle kullanıcıların bir numaralı tercihi oluyor. Ancak diğer eklentilere göre biraz fazla sistem kaynağı tüketiyor.
Nasıl Kurulur?
Eklentiler > Yeni Ekle sayfasında Eklentilerde Ara bölümüne iThemes Security yazarak eklentiyi bularak Şimdi Kur butonuna tıklayın. Eklenti indirildikten sonra Eklentiyi Etkinleştir yazısına tıklayarak eklentiyi aktifleştirin. Eklentiyi etkinleştirdikten sonra karşınıza 2 tane uyarı mesajı gelecektir, bu uyarı mesajlarını yanlarındaki X işaretine tıklayarak kapatınız.
iThemes Security eklentisi kuruldu, ancak güvenliği sağlayabilmeniz için bazı ayarları değiştirmeniz gerekiyor. Bu işlemleri yapmanız riskli olduğundan dolayı, başlamadan önce sitenizin yedeğini almayı unutmayın.
Güvenlik Ayarları
Eklentiyi etkinleştirdikten sonra sol menüde oluşan Security linkine tıklayıp Dashboard sayfasına giriş yapın. Sayfa giriş yaptıktan sonra karşınıza gelicek Important First Steps başlıklı açılır menüde, Allow File Updates ve One-click Secure butonlarına tıklıyoruz. Böylece iThemes Security, wp-config.php ve .htaccess dosyalarını düzenleyebilmek için gerekli izinleri kazanıyor, bu sayede güvenliği arttıracak bazı ayarları otomatik olarak kendisi yapıyor. Bu işlemleri yaptıktan sonra sağ altta bulunan Dismiss linkine tıklayın.
Dismiss linkine tıkladıktan sonra karşımıza iThemes Security yönetim paneli geliyor. Karşınıza gelen sayfanın alt bölümünde bulunan “Security Status” bölümüne geliyoruz. Bu alanda bazı güvenlik önlemleri önem sıralarına göre kategorilendirilmiş ve renklendirilmiştir. Renklendirmeler öncelik sırasına göre yapılandırılmış. Burada bulunan özelliklerin hepsini kullanmanız gerekmeyecek, kullanıcağınız özellikleri seçerken dikkatli olmanız gerekiyor çünkü sitenizde sorunlar çıkmasına neden olabilirler.
Yukarıda dashboard ekranında bulunan “The admin user still exists.” öğesinin yanında bulunan Fix-it butonuna tıklayın. Ayarları aşağıdaki ekran görüntüsündeki gibi güncelleyerek “Save Admin User” butonuna tıklayıp kaydedin. WordPress bu işlem sonrası kullanıcızdan çıkış yapacak, yeni kullanı adınız ile giriş yapmanız gerekecek. Biz “ceo” kullanıcı adını tercih ettik; çünkü hackerlar sık kullanılan (admin, yönetici vb.) kullanıcı adlarına şifre denemeleri yaparak sisteminize girmeye çalışacaktır.
WordPress’te kullanıcı adını tahmin edilemeyecek bir şey yapmak BruteForce saldırılarının başarısını engelleyecektir ama durdurmayacaktır. En iyisi WordPress login sayfasının adresini değiştirmektir. Login sayfasının adresi değiştirildiğinde, sitenize hack girişiminde bulunan kişiler giriş adresinizi bilmediğinden BruteForce atakları da yapamayacaktır. Dashboard bölümünde bulunan “Your WordPress Dashboard is using the default addresses. This can make a brute force attack much easier.” öğesinin yanında bulunan Fix-it butonuna tıklayın. Açılan sayfada “Hide Login Area” bölümüne erişerek, Login Slug bölümüne açılması istediğiniz yeni adresin ismini yazın ve Save All Changes butonuna tıklayın.
iThemes Security sizi login sayfanızın değiştirildi konusunda uyaracak ve yeni sayfanızı not etmenizi isteyecek. Artık siteadresiniz.com/wp-admin şeklinde WordPress Yönetim Panelinize erişim sağlayamayacaksınız.
WordPress kurulum sırasında bizden veritabanı tablosu isimleri için bir önek girilmesi istenir. Varsayılan önek wp_ ‘dir. Bu önek diğer veritabanlarında bulunan mevcut tablolarla çakışma olmasın diye önlem amaçlıdır. Genellikle kullanıcılar bu alanı değiştirmez ve olduğu gibi bırakırlar. Eğer ki 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ştirmelisiniz. Bu işlem için dashboard bölümünde bulunan “Your database table prefix should not be wp_” metninin yanında bulunan Fix-it butonuna tıklayın. Karşınıza gelen sayfada Change Table Prefix kutusunu işaretleyip Change Database Prefix butonuna tıklayın. Alastyr tek tıkla kurulabilen yazılımlarda bu tür güvenlik önlemlerini otomatik olarak kendisi gerçekleştirmektedir. Bu yüzden bizim önekimiz wp_ değildir ve bu işlemi yeniden yaparsak başka bir önek olarak değişecektir.
Eski WordPress sürümü kullanmanız, web sitenizin hacklenebilmesi için yüksek bir güvenlik açığıdır. WordPress’in sürüm bilgisi sistem dosyalarında mevcuttur. Sürüm bilgisinin öğrenilmemesi için dosyaları dışarıdan erişime bloke ederiz. Bu işlem için dashboard bölümünde bulunan “You are not protecting common WordPress files from access. Click here to protect WordPress files.” öğesinin yanında bulunan Fix-it butonuna tıklayın. Karşınıza gelen sayfada Protect System Files öğesini aktif edin. Aynı sayfada bulunan özellikleri de aktif ederek, sitenize gelen zararlı adresleri süzelim ve SQL injection saldırılarını engellemek için gerekli ayarlamaları yapalım. Disable Directory Browsing, Filter Requests Methods, Filter Suspicious Query Strings in the URL, Filter Non-English Characters yazılarının yanındaki alanları işaretleyerek Save All Changes butonuna tıklayarak kaydedin. Disable PHP in Uploads ve Disable Directory Browsing özelliklerini işaretleyin.Bu ayarlar sayesinde Uploads klasörüne zararlı dosyalar yüklensede çalıştırılamaz ve sitenizde index(.php, .html) dosyası içermeyen klasörlerinizin içeriği görüntülenemez.
WordPress sürüm bilgisi yalnızca sistem dosyalarında değildir. Aynı zamanda her üretilen sayfada HTML çıktısı olarak ziyaretçiye de gönderilir. iThemes Security ile hacker ve otomatik botları yanıltabilirsiniz. Dashboard bölümünde bulunan “Users may still be able to get version information from various plugins and themes. Click here to fix this.” yazısının yanında bulunan Fix-it butonuna tıklayın. Karşınıza gelen sayfada Display Random Version yazısının yanındaki kutucuğa tıklayarın ve sayfanın altında bulunan Save All Changes butonuna tıklayarak kaydedin.
Tüm bu aşamaları uygulamanıza rağmen sitenize zararlı bir dosya injekte edilirse, bunu VirusTotal malware taraması ile yapılan taramalarda görebilirsiniz. Bunun için virustotal api anahtarı gerekir ve nasıl yapılacağını öğrenmek için Dashboard bölümünde bulunan “Malware scanning is not enabled.” yazısının yanında bulunan Fix-it butonuna tıklayın. “Enable malware scanning.” yazısının yanındaki kutucuğu işaretledikten sonra açılan bölümde bulunan VirusTotal API key tutorial linkine tıklayarak öğrenebilirsiniz. Gerekli aşamaları gerçekleştirdikten sonra Save All Change butonuna tıklayarak işleminizi kaydedin.