Wordpress Gerekli Güvenlik Önlemleri

Wordpress Güvenlik
WordPress sitenizin güvenliğini sağlamak ve saldırılara karşı önleminizi almak için programcı olmanıza gerek yok.  Siteniz dışarıdan veya içeriden herhangi bir saldırıya maaruz kaldığında, sayfalara çeşitli yazılımlar yerleştirilmesi, sitenizde bulunan içeriklerin değiştirilmesi , kaybolması , verilerinizin çalınması ve sitenizin kapalı olduğu durumda almış olduğunuz zayiat oldukça büyüktür. Web sitenizin güvenliğini sağlamak firmanızın itibarını korumak ve en iyi hizmeti sağlayarak ziyaretçilerin güvenini kazanmak konusunda firmanıza yardımcı olacaktır.

WordPress,  en popüler açık kaynak kodlu içerik yönetim platformu olduğu için, web siteleri güvenlik açıklarından ve zayıflıklarından yararlanmak isteyen insanların hack saldırılarına bir çok kez hedef olmaktadır.

Hacker saldırılarından korunmak için WordPress platformunda almanız gereken güvenlik önlemleri şunlardır ;

1. MySQL Veritabanı Adı:

Her wordpress siteniz için ayrı ayrı veritabanı kullanmanız daha güvenli olacaktır. Birden fazla wordpress sitenizi farklı veritabanı ön ekleri (prefix) ile tek veritabanına kurabilirsiniz, ancak veritabanı bilgileriniz başkaları tarafından ele geçirildiğinde tüm siteleriniz tehlikede olacaktır. Genellikle wordpress için kullanacağımız veriabanına "wordpress", "site" gibi bazı isimler veririz, bu da güvenli değildir. Veritabanı adınız, kullanıcı adınız ve şifreniz kesinlikle birbirinden farklı olmalıdır. Ayrıca tahmin edilmesi kolay isimler ve şifreler seçmek de güvenlik zaafı oluşturacaktır. Mesela bunny_ cloudbunny şeklinde değilde farzı misal bunny_f2Vügt55G şeklinde olursa Brute Force ataklarına karşı korunmuş oluruz.Unuturum gibi bir kaygınız olmasın, wp-config.php dosyasından bu bilgileri kolayca öğrenebilirsiniz.

2. Web Sitenizin Veritabanını Yedekleyin:

Web sitenizi güvenli tutmak için veri tabanınızı yedeklemek çok önemlidir. Sitenizde olası bir saldırı durumları oluşursa , tüm site içeriğinizi baştan yüklemeniz gerekebilir. Eğer elinizde veri tabanı yedekleme (backup) dosyası bulunmuyorsa, tüm site içeriğinizi risk altında tutuyorsunuz demektir.

WordPress de yedek alma işlemini kolaylaştıran ücretli ve ücretsiz eklentiler bulunmaktadır. Örneğin WP-DB-Backup eklentisi yeni başlayan kullanıcılar için ücretsiz sunulmakta ve Dünya genelinde en çok indirilen yedekleme eklentisidir. Veri tabanı yedekleme (backup) eklentisini , yüklemek için panelinizde bulunan “Eklentiler” bölümünden “Yeni ekle” seçeneğine tıklayarak arama kısmına WP-DB-Backup yazarak eklentiyi kurabilirsiniz. Eklentiyi aktif hale getirdikten sonra kullanmaya başlayabilirsiniz.

Eklenti aktif hale getirildikten sonra panelinizde bulunan “Araçlar” bölümünde bulunan “Yedekle” kısmına tıklayın ve karşınız da eklentinin özellikleri gelecektir. Hızlı bir şekilde verilerinizi yedeklerken aynı zamanda bu yedeklemeyi haftalık günlük ve saatlik olarak düzenli bir şekilde alabilirsiniz. Yedeklemiş veri tabanınızı ister sunucunuza veya bilgisayarınıza kayıt edebilir isterseniz de mail adresinize gönderebilirsiniz. Veri tabanınızı yedekleyerek sitenizi olası saldırılara karşı içerik kaybetme riskinizi ortadan kaldırmış olursunuz.

3. Özel Tablo Ön Eki:

Wordpress varsayılan olarak oluşturduğu tablolar için wp_ ön ekini (prefix) kullanır, tablo isimleri genellikle wp_posts, wp_users şeklindedir. Kurulum ekranında farklı bir ön ek yazarak, SQL injection'a karşı biraz daha güvenlik önlemi alabilirsiniz. Bu database’de wp_posts değilde goo_posts şeklinde görünecektir. Yani burada wp_ değilde goo_ ile değiştirmeniz faydalı olur.

Db kullanıcı şifresinide yine rakam, harf ve özel karakterden oluşan güçlü bir şifre seçiniz. Çünkü bazı programlarla bu şifreler çözülebilir. Eğer siz güçlü şifre oluştursanız ve eklediğiniz her karakter  o olasılığı yükselteceğinden dolayı uzun ve karışık şifre yazınız.

4. ADMİN Yönetici Adını Kullanmayın:

WordPress 3.0 sürümünden sonra bu ismi değiştirme opsiyonunu artık sunmakta , öncelikle bunu değiştirmenizi öneriyoruz , tahmin edersiniz ki bir sitenin wordpress olduğunu öğrendikten sonra ilk yaptığımız şey “admin” kullanıcısı için şifre denemektir. Bunu değiştirmemiz, bu denemelerin başarıya ulaşmasını kesmek için etkili bir yöntem olacaktır. 

Eğer WordPress 3.0 dan önceki versiyonu kullanıyor iseniz , bu durumda muhtemelen hosting kontrol paneliniz üzerinden PhpMyadmin'e erişebiliyorsunuz , phpmyadmin üzerinden veritabanınızda aşağıdaki sql sorgusunu çalıştırmanız “admin” k.adınızı değiştirecektir , phpmyadmin üzerinde bilgili olanlar ise direkt olarak wp_users tablosundan admin ismini bulup editleyebilirsiniz.

UPDATE
 wp_users SET user_login = 'yeni_belirleyeceğiniz_isim' WHERE user_login = 'admin';

5. Yönetim Paneline Erişimi Kısıtlayın:

Wordpress'in varsayılan yönetici adresi; siteadi.com/wp-admin'dir. Eğer IP adresiniz sabit ise ve belirli adreslerden sitenizin yönetim paneline erişiyorsanız wp-admin'e IP kısıtı koyabilirsiniz. Böylece sizin dışınızdaki hiçkimse sitenizin yönetim paneline erişemeyecektir.

wp-admin'e IP kısıtı için aşağıdaki kodları .htaccess dosyanıza ekleyebilirsiniz. allow from satırlarındaki adreslere erişme yetkisi olan IP adreslerini yazacaksınız.

order deny, allow  

allow from 1.2.3.4 # user 1 IP  
allow from 5.6.7.8 # user 2 IP, etc  
deny from all 

6. Oturum Açma Girişimlerini Önleyin:

Oturum açma girişimlerini engelleyen eklenti, Admin paneline giriş yapmak için bir çok deneme yapan hacker’ların saldırı girişimlerini engellemek konusunda kullanışlı olmaktadır.

Limit Login Attempts eklentisini ise “Eklentiler” bölümünden “Yeni Ekle” bölümüne tıklayıp arama yaparak kurabilirsiniz. Oturum açma giriş denemelerini ve diğer sınırlamarı ayarlamak için eklentiyi kurabilir ve değişiklikleri kaydedebilirsiniz.

7. .htaccess Dosyasını Etkili Kullanın:

Wordpress sitenizin tüm erişim bilgileri wp-config.php dosyasında tutulur, bu dosyanın başka kullanıcılar tarafından ele geçirilmesi durumunda web sitenizi de ele geçirmiş sayılır. .htaccess içine yazacağını aşağıdaki kodlar ile wp-config.php dosyasına erişimi engelleyin.

Öncelikle, sitenizin ftp adresine bağlanıp .htaccess dosyasını indirin. Eğer yoksa, not defterini kullanarak masaüstünüzde .htaccess adında bir dosya oluşturabilirsiniz. Daha sonra dosyanın içine aşağıdaki kodları ekleyin:

<files wp-config.php>  
    order deny,allow  
    deny from all  
</files> 

Sonrasında dosyayı kaydedin ve sunucuya geri yükleyin. Yukarıdaki kodlar hem wp-config.php hem de .htaccess dosyasına dışarıdan erişime izin vermeyecektir.

Script injection yolu ile yapılabilecek saldırılardan korunmak için .htaccess dosyanıza aşağıdaki kodları ekleyebilirsiniz:

RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule ^(.*)$ index.php [F,L]

İçinde giriş (index) dosyası bulunmayan dizinlerinizin içeriğinin görüntülenmesini engelleyin. Bunun için .htaccess dosyasına aşağıdaki kodu eklemelisiniz.

Options All -Indexes

Diğerleri;

- .htaccess dosyasına erişimi engelle:

<files .htaccess>
order allow,deny
deny from all
</files>

- Sunucu imzasını kaldır:

ServerSignature Off

- Dosya yükleme boyutunu 10mb ile sınırlandır:

LimitRequestBody 10240000

- Wp-load.php dosyasına erişimi engeller:

<files wp-load.php>
order allow,deny
deny from all
</files>

8. Wordpress'i Son Sürümüne Güncelleyin:

WordPress yazılımında ki tema ve eklentileri, güvenlik açıklarını düzenli olarak iyileştirmeye yönelik bir takım güncellemeler yapmaktadır. 
Wordpress son güncelleme uyarısı yönetim panelinin üst kısmında çıkan uyarı ile bildirilmektedir

Güncelleme yönetim panelinin üzerinden son sürüm kurulumu yapabileceğiniz bir sürece götürür. FTP üzerinden manuel yüklemeniz gerekmez. Fakat bu işlemi yaparken dikkat etmeniz gerekmektedir. Ve etkin olarak eklentileri pasif hale getirmeniz gerekir. Aksi halde sitenize son güncellemeyi kurarken sorunlar ile karşılaşabilirsiniz.

9. WordPress Sürümünüzü Gizleyin:

WordPress siteniz de browser tarayıcınız üzerinde sayfa kaynağını görüntüle yapıldığı takdir de herkes tarafından kulanmış olduğunuz wordpress sürümünüzü görülebilir. Güncel olmayan wordpress versiyonu kullanıyorsanız güvenlik açıkları içeriyor olabilir. WordPress sürümünüzü gizlemek için öncelikle bazı kodlar eklemeniz ve çıkarmanız gerekmektedir.

functions.php dosyanızın içerisine gelin ve kodların en altına aşağıda bulunan kodu ekleyin.

remove_action('wp_head', 'wp_generator');

Sonrasında ana sayfanıza gelip tarayıcınızdan sayfa kaynağını görüntüle yaparak sonucu kontrol edebilirsiniz.

10. Hata Mesajlarının Gizlenmesi:

Brute force ataklarında programlar vasıtası ile tarama yapılırken sisteminizin kaç kez yanlış giriş sayısı yapıldığı görünmesin. Programlar panelinize belirli kullanıcı adı ve şifrelerini deneme yanılma şeklinde zorlamaktadır. Hata mesajlarını aşağıdaki kod ile kaldırabilirsiniz.

Temanızın fuctions.php dosyasını açın <?php tagının altına:

add_filter(‘login_errors’,create_function(‘$a’, “return null;”));

eklememiz yeterli. Program tarama yaparken denediği tüm şifreleri hata mesajı vermediği için doğru kabul edecek ve saldırgan eli boş dönecektir.

11. Tema Dosyanızdan Wordpress Tanımını Kaldırın:

Wordpress tema dosyalarında genellikle o sitenin wordpress ile yapıldığını göstermek için meta etiketleri eklenir. Kullandığınız temanın header.php dosyasından aşağıdaki meta tanımını kaldırabilirsiniz. Böylece otomatik tarama yapan uygulamalar sitenizin wordpress olup olmadığını anlayamayacaktır

<meta name="generator" content="WordPress" />

WordPress Güvenlik Eklentileri

Login LockDown:

Login LockDown eklentisi, WordPress yönetim panelinize yapılacak olan giriş denemelerini engelliyor. Admin panelinize şifre denemeleri yaparak giriş yapmaya çalışan bot veya kişileri kısıtlar. Eklentiyi etkinleştirdikten sonra, belirleyeceğiniz hatalı giriş denemesinden sonra ilgili ip adresini yine belirleyeceğiniz süre boyunca banlıyor.

Eno7.org bu eklentileri kullanıyor ve öneriyor.

Ayrıca, giriş panelinde hatalı giriş yaptıktan sonra verilen hata mesajını da kapatarak botlara karşı önlem de almanız mümkün.

Secure WordPress:

Secure WordPress, WordPress’te temel güvenlik önlemlerini almanızı sağlıyor.

Sağladığı güvenlik önlemlerinden bazıları:

- Temanızdaki WordPress versiyonunu siler.

- Tema güncelleme bilgilerini siler.

- Yönetici hakkına sahip olmayan kullanıcılar için yönetim panelinde versiyon bilgilerini siler.

- Eklenti ve çekirdek güncelleme loglarına erişimi engeller.

- Windows Live Writer ile uzaktan erişimi engeller.

WordPress Firewall:

WordPress Firewall, tıpkı bir güvenlik duvarı gibi WordPress’te açık yarabilecek olan URL yönlendirme hatalarını ve izinsiz erişimleri engelliyor. Bilinen saldırı yöntemlerini de engelleyen eklentinin yapımcısı, bloggerların gece rahat uyuyabilmesi amacıyla bu eklentiyi yazdığını söylüyor.

DBC Backup:

DBC Backup eklentisi, belirlediğiniz gün ve saatlerde veritabanınızın yedeğini almanızı sağlayan bir eklenti. Ayrıca eski yedekleri silmesini de sağlayabilirsiniz. Yedeklerin alınacağı klasöre dışarıdan erişimi kapatarak veritabanınızın güvenliğini de sağlıyor.

Eklenti ayarlarında, yedeklerin kayıt edileceği klasörün path’ini (sunucudaki klasör yolu) belirtmeniz gerekiyor.

WP Security Scan:

WordPress kurulumunuzdaki olası güvenlik açıklarını tarayan ve size bu açıkları kapatmanız için öneri ve araçlar sunan bir eklenti. Veritabanı öneki(prefix), yönetici kullanıcı adı (admin olmamalı, veritabanında değiştiriliyor) ve sunucudaki dosyalarınızın erişim izinleri hakkında öneriler sunuyor.

Daha fazla güvenlik eklentisine buradan ulaşabilirsiniz.


Cloudbunny

Bu cevap yeterince yardımcı oldu mu?

 Bu dökümanı yazdır