Bilgi Bankası

WordPress Güvenlik Ayarları

WordPress Güvenlik Ayarları

 

 

 

WordPress'te güvenlik çok ciddiye alınan/alınması gereken bir konudur ancak başka sistemlerde de olduğu gibi bazı temel güvenlik önlemleri alınmadığı takdirde ortaya çıkabilecek olası güvenlik sorunları WordPress'te de olabilir. Bu makalede, güvenlik açıklarının giderilmesi ve güvenlik seviyesini arttırmaya yardım için yapabileceğiniz bazı şeyler anlatılmaktadır. WordPress siteniz için daha detaylı önerilen güvenlik ayarları için aşağıdaki adresi incelemenizi öneririz.

https://wordpress.org/support/article/hardening-wordpress/

Kişisel Bilgisayar Kaynaklı Zaafiyetler
Güvenlik hiçbir zaman tek taraflı bir kavram değildir. Dolayısıyla belli başlı bazı işlemleri yaparak her durumda %100 güvenlik sağlanmış olduğunun düşünülmesi mümkün dhttps://destek.doruk.net.treğildir. Bu nedenle WordPress güvenliğinin sağlanması için yalnızca WordPress üzerinde değil, WordPress yönetici panelinize ya da FTP alanınıza doğrudan erişimi olan kullanıcılar için kişisel bilgisayar (PC) güvenliği de son derece önemlidir.

WordPress servislerine (yönetici panel, FTP sunucusu vb.) doğrudan erişim sağlamak için kullandığınız bilgisayarların spyware, malware, virüs, keylogger vb. zararlı yazılımlardan izole edilen bir bilgisayar olduğundan emin olunuz. Hiçbir koşulda kişisel bilgisayarınızda kullandığınız işletim sisteminde, (Vista, Windows 7/8/10 vb.) FTP sunucusuna bağlantı yaptığınız uygulamalarda, antivirüs, anti-spam, anti-virüs vb. güvenlik uygulamalarında crack'li ve lisansı bypass edilmiş bir yazılım kesinlikle kullanmayınız.

WordPress Zafiyeti
Tüm içerik sistemleri gibi, WordPress de ortaya çıkabilecek yeni güvenlik sorunlarını çözmek için düzenli olarak güncellenmektedir. Yazılım güvenliği artırma her zaman devam eden bir husustur ve bu amaçla her zaman WordPress'in son sürümü ile güncel tutmak gerekir. WordPress'in eski sürümleri güvenlik güncelleştirmeleri ile korunmaz. Bu nedenle WordPress içerik sisteminin düzenli olarak güncellemesini gerçekleştirmek çok önemlidir.

WordPress Güncelleme
WordPress'in son sürümü her zaman resmi sitesi olan https://wordpress.org adresinden indirilmeli, bunun haricindeki herhangi bir adresten güncelleme veya yeni kurulum dosyaları asla temin edilmemelidir.


WordPress 3.7 sürümünden bu yana, otomatik güncelleme özelliği eklenmiştir. Yazılımınızı güncel tutmayı kolaylaştırmak için bu işlevi kullanabilirsiniz. Ayrıca güncellemelerden haberdar tutmak için WordPress Dashboard kullanabilirsiniz.

Güvenlik Sorunları Raporlama
Eğer WordPress yazılımında bir güvenlik açığı bulduğunuzu düşünüyorsanız, aşağıdaki adresten bu sorunu bildirerek WordPress'in gelişimine yardımcı olabilirsiniz.

https://make.wordpress.org/core/handbook/testing/reporting-bugs/

WEB Sunucu Zaafiyetleri
WordPress çalışan web sunucusu ve üzerinde yazılım (PHP, MySQL, Web Server vb.) açıkları olabilir. Bu nedenle, bunu güvenli, istikrarlı web sunucusu sürümlerini ve yazılımı kullanılan bir web sunucuda çalıştırdığınızdan emin olun, ya da sizin için bu tür güvenlik prosedörlerini önemseyen güvenilir bir hosting servis sağlayıcı kullandığınızdan emin olun. DorukNet olarak paylaşımlı hosting platformlarını IDS/IPS, Web Application Firewall (WAF), Firewall gibi yazılım ve donanımlarla korumakla birlikte, düzenli aralıklarla penetrasyon testleri ile sistem/network analizi ve risk değerlendiermesi yapılmaktadır.

Network Zafiyetleri
Güvenlik konsept olarak tek taraflı değildir dolayısıyla yalnızca bir tarafın güvenliğin sağlanması kötü niyetli saldırılara karşı güvenlik sağlamayacaktır. Benzer şekilde newtwork katmanındaki güvenlik için de güvenlik her iki taraf için server & client (sunucu ve istemci) sağlanmalıdır.

WordPress için de bu durum geçerlidir ve yazılımın kurulu olduğu sunucu tarafı ve Wordpress sitesine erişim sağlayan ziyatçileriniz (istemci) ağ tarafı
güvenilir olmalıdır.

Buna göre network tabanlı güvenlik zafiyetleri oluşmaması için ev ve iş ağında güvenlik duvarı ve ağ güvenliği donanım/yazılımları kullanabilirsiniz. Eğer bilinmeyen bir kablosuz veya şifrelenmemiş bir ağ'dan internet erişimini sağlıyorsunuz bu ağdan sağlanan internet erişimi güvenilir kabul edilmemeldir. Benzer şekilde bir internet cafe ağı da güvenilir bir ağ değildir. Dolayısıyla WordPress yazılımı üzerinde birçok güvenlik uygulaması kullanılmasına rağmen güvensiz bir ağ üzerinden (kablolu veya kablosuz) WordPress yönetici paneline veya FTP sunucusuna yapılan erişim sonrasında yazılımınzıca ciddi güvenlik problemlerinin oluşması kaçınılmazdır.

Parola Güvenliği
Birçok potansiyel güvenlik açıkları iyi güvenlik alışkanlıkları ile önlenebilir. Güçlü bir parola güvenliğin önemli bir yönüdür.

Hosting servisinde kullanılan tüm şifrelerinizde (FTP, WordPress yönetici paneli vb.) diğer insanların tahmin edebileceği ya da brute force saldırılarıyla tespit edilebilecek basit, sıralı, popüler günlerin tarihleri, doğum tarihleri, birkaç karakterden oluşan kısa şifreleri kullanmayınız. Parola güvenliğine ek olarak herhangi bir servise tanımladığınız parola güvenli dahi kabul edilse bile yine de belirli periyotlarla değiştirilmelidir.

FTP Güvenliği
WordPress yazılımına ait dosya ve klasörleri FTP sunucusuna yüklerken eğer platform destekliyorsa SFTP ya da FTPs protokolleri kullanabilirsiniz. DorukNet sistemlerinden cloud sunucu servisi almanız durumda tarafınıza SFTP ve FTPs bağlantı konusunda yardımcı olabiliriz.

SFTP kullanarak FTP erişimi veri şifre hariç FTP ile aynıdır ve bilgisayarınız ve web sunucu arasında iletilen diğer veriler şifrelenir. Bu parola açık olarak hiçbir zaman gönderilmez ve bir saldırgan tarafından ele geçirilmemesi anlamına gelir.

Dosya İzinleri
WordPress'te bazı özelliklerin düzgün çalışabilmesi için çeşitli dosyaların web sunucusu tarafından yazılabilir olmasını istiyor ancak, dosyalarınızın izinleri, özellikle paylaşımlı hosting platformlarında potansiyel olarak tehlikeliler yaratmaktadır. DorukNet sistemlerinde kullandığınız paylaşımlı hosting servislerinde herhangi bir klasöre veya dosyaya özel izin vermeksizin tüm işlemlerinizi (güncelleme, dosya/resim yükleme vb.) gerçekleştirebilirsiniz. WordPress yazılımının güvenliği için dosya izinleri maksimum chmod 644, klasör izinlerini maksimum chmod 755 olarak düzenlemenizi ve ekstra izinleri (yazılımınızın destek sistemi aksi belirtilmediği sürece) kullanmamanızı öneririz.

WP-admin Güvenliği
WordPress yazılımına aksi belirtilmedikçe domainadınız.com.tr/wp-admin , domainadınız.com.tr/wp-login.php gibi adreslerden kullanıcı adınızla ve şifrenizle erişim sağlanmaktadır. İlgili adresin güvenliğini birçok farklı yöntemle sağlayabilirsiniz. Bunlardan bazıları aşağıdaki gibidir.

WordPress Login yapılan sayfanın özelleştirilmesi, adresin değiştirilmesi/gizlenmesi www.wordpress.org/plugins adresinden indirebileceğiniz basit bir eklenti ile yapılabilmektedir.

https://wordpress.org/plugins/search.php?q=Hide+Login+Page

Websayfanıza erişimi SSL sertifikası ile sağlayabilirsiniz. Bu durumda kişisel bilgisayarınızla sunucu arasındaki trafik açık olarak değil, encrypted (şifreli) bir kanal üzerinden sağlanmaktadır. Aşağıdaki adresler üzerinden websayfanız için uygun olan SSL sertifikası siparişi verebilirsiniz.

https://doruk.net.tr/ov-ssl.php

https://doruk.net.tr/dv-ssl.php

https://doruk.net.tr/ev-ssl.php

 

wp-login.php sayfanıza çok sayıda başarısız login denemerinin sınırlandırılması www.wordpress.org/plugins adresinden indirebileceğiniz basit bir eklenti ile yapılabilmektedir.

https://wordpress.org/plugins/search.php?type=term&q=Login+Attempts

WordPress yönetici panelinizde mevcut kullanıcı adı ve parolanız haricinde ekstra bir şifre "Two Factor Authentication (iki faktörülü kimlik doğrulama)" kullanabilirsiniz. Bu eklenti brute force ataklarında yalnızca kullanıcı adı ve parolanızı değil, ekstra başka bir alan daha eklediği için güvenliği daha arttırmaktadır ve DorukNet tarafından da bu önerilmektedir. Two Factor Authentication eklentisini www.wordpress.org/plugins adresinden indirebilirsiniz.

https://wordpress.org/plugins/search.php?type=term&q=Two+Factor+Authentication

Eğer sabit bir IP adresiniz bulunuyorsa .htaccess dosyanıza aşağıdaki gibi bir satır eklemeniz halinde wp-login.php adresine yalnızca ilgili IP adresinden erişimi sağlayabilirsiniz.

<Files wp-login.php>
order deny,allow
Deny from all
Allow from XX.XXX.XXX.XXX
</Files>

WP-includes Klasörü Güvenliği
WordPress yazılımınızda varsayılan olarak "wp-includes" klasörü erişebilir olarak gelmektedir ancak .htaccess dosyanıza aşağıdaki gibi bir kod ekleyerek ilgili klasörün güvenliğini arttırabilirsiniz.

# Block the include-only files.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^wp-admin/includes/ - [F,L]
RewriteRule !^wp-includes/ - [S=3]
RewriteRule ^wp-includes/[^/]+\.php$ - [F,L]
RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]
RewriteRule ^wp-includes/theme-compat/ - [F,L]
</IfModule>


# BEGIN WordPress

WP-config.php Güvenliği
wp-config.php dosyası WordPress için en önemli dosyalardan biridir ve MySQL veritabanı bilgilerini bu dosyada tanımlamaktasınız. Dolayısıyla bu dosya ve dosyanın güvenliği çok önemlidir. İlgili dosya içeriğindeki kodları aşağıdaki gibi adresler üzerinden şifreleyebilirsiniz. Bu şekilde FTP sunucunuzdaki tüm klasörler elde edilse bile MySQL veritabanı bilgileriniz anlaşılabliir bir şekilde açık olarak yazmayacaktır.

http://www.ioncube.com/
http://www.zend.com

wp-config.php dosyası normal şartlarda FTP'deki /httpdocs , public_html/ (kök dizinde) klasöründedir. İlgili dosyanın güvenliğini arttırmak için farklı bir path'e taşıyabilirsiniz. Bu düzenleme için aşağıdaki adreste belirtilen yönergeleri izleyebilirsiniz.

http://www.yakuter.com/wordpress-guvenlik-tedbirleri-dosyalar/
http://wordpress.stackexchange.com/questions/58391/is-moving-wp-config-outside-the-web-root-really-beneficial

Bunun haricinde .htaccess dosyanıza aşağıdaki gibi bir kod ekleyerek "wp-config.php" dosyasının güvenliğini arttırabilirsiniz.

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

Ayrıca wp-config.php dosyasının yalnızca WEB Sunucu tarafından okunabilir olduğundan emin olunuz. Bu da ilgili dosyanın izinlerinin chmod 440 veya chmod 400 olmasının yeterli olduğu anlamına gelmektedir.

Dosya Düzenlemenin Kapatılması
Varsayılan olarak WordPress Dashboard yöneticilerin eklenti ve tema dosyaları gibi PHP dosyalarını düzenleyebilmesi için dosya düzenleme fonksiyonu için izin verilir. Eğer websayfanıza bir saldırgan herhangi bir şekilde yönetici erişimi sağlarsa ilk olarak bir kod çalıştırmak isteyecektir. Bu nedenle WordPress Dashboard üzerinde gelen dosya düzenleme fonksiyonu devre dışı bırakmak gerekmektedir. FTP sunucunuzdaki "wp-config.php" dosyasına aşağıdaki kodu ekleyerek bu fonksiyonu kapatabilirsiniz.

define('DISALLOW_FILE_EDIT', true);

Plugin Güvenliği
WordPress yazılımınızda her şeyden önce, senin eklentileri her zaman güncel olduğundan emin olun. Eğer artık kullanmadığınız bir eklenti WordPress yazılımınızda pasif olarak bulunuyorsa belirli aralıklarla sisteminizden kaldırınız. Bunun haricinde aşağıdaki adresten WordPress yazılımınız için ekstra güvenlik sağlayabilecek popüler güvenlik eklentilerini incelemenizi öneririz.

https://wordpress.org/plugins/search.php?q=security  ( güvenlik eklentileri )

https://wpvulndb.com/plugins   ( WordPress 'te güvenlik problemi bulunan eklentilerin listesi )

Bilinmezlik Kanalıyla Güvenliğin Sağlanması
Bilinmezlik, genellikle birincil güvenlik stratejisidir. Buradaki amaç alışkanlık olarak kullanılan benzerliklerin ve varsayılan olarak gelen ayarların kullanıcılar tarafından değiştirilmemesi ve bundan yararlanmak isteyen kötü niyetli 3. şahıslar için bilinmezlik yoluyla güvenlik oluşturmaktır.

Örneğin birçok kullanıcı tarafından WordPress yönetici hesabının "admin" olarak kullanılması, MySQL veritabanının prefix (ön ek)'in " wp_ " kullanılması gibi.

https://wordpress.org/plugins/search.php?q=Rename+admin

Yayınlanan birçok SQL-injection atağı MySQL veritabanının prefix (ön ek)'in " wp_ " olduğunu "varsayarak" yapılmaktadır. Bu nedenle en azından bazı SQL-injection ataklarını engelleyebilmek için table_prefix 'i değiştirmeniz önerilmektedir. table_prefix 'iniz wp-config.php dosyasında ve MySQL sunucusunda (dolayısıyla PHPAdmin vb. erişimi ile) görüntülenebilmektedir. Bu da göstermektedir ki "wp-config.php" dosyasının içeriğinin "ioncube" , " zend" gibi uygulamalarla gizlenmesi bazı SQL-injection ataklarının engellenmesini sağlayabilmektedir.

table_prefix, WordPress'in ilk kurulum sırasında farklı seçilebildiği gibi sonradan da destek.doruk.net.tr üzerinden kayıt oluşturmanız halinde table_prefix'in değiştirilmesi için DorukNet destek sisteminden yardım alabilirsiniz.

WordPress Zafiyet Taraması
WPScan aracı ile WordPress sitenizi Windows, Linux ve MacOS bir bilgisayar üzerinden ücretsiz olarak tarama yapabilirsiniz. Bu araçla bilinen tüm zafiyetler için tarama yapılmaktadır. Tarama sonucuna göre raporlanan konularda sitenizde düzenleme yapmanızı öneririz.

Windows , Linux veya MacOS kurulu bilgisayarınız üzerinden WPScan aracıyla WordPress sitenizdeki zafiyetleri taratabilirsiniz.

WPScan aracını aşağıdaki adresten indirebilirsiniz.
https://wpscan.org/

 

  • 134 Bu dökümanı faydalı bulan kullanıcılar:
Bu cevap yeterince yardımcı oldu mu?