Joomla! 93 milyondan fazla kez indirildi. Bu, web siteleri arasında ikinci en çok kullanılan CMS sistemi olmasını sağlar. 2016 yılında Sucuri tarafından yapılan araştırmaya göre, aynı zamanda en çok virüs bulaşan ikinci CMS sistemidir.
Ancak, bu bağlamda belirtmek gerekirse, Joomla! kurulumlarının çoğunun savunmasız olmasının sebebi, yanlış yapılandırma, kötü barındırma uygulamaları veya üçüncü taraf uzantılar'daki savunmasız kodlardan kaynaklanmaktadır.
Joomla! 'nın popüler bir CMS sistemi olması ve yoğun bir şekilde benimsenmesiyle, virüslü sitelerin sayısı yüksek görünmektedir. Aşağıdaki ipuçları Joomla! web sitesi güvenliğini arttırmanıza yardımcı olacaktır.
NOT: Aşağıda listelediğimiz ipuçlarına herhangi bir güvenlik uzantısı eklemedik. Genel kural olarak, Joomla! 'ya yüklediğiniz her şey, güvenlik odaklı bir uzantı olsa bile, potansiyel olarak savunmasız kod olabilir.
Web sitenizi kurduktan sonra, varsayılan yönetici kullanıcı adını ve şifresini saklamayın. Güçlü bir şifre oluşturduğunuzdan emin olun, böylece bir bilgisayar korsanı, en sık kullanılan şifrelerin bir listesini kullanma yolunu tahmin edemez. Uzun, karmaşık bir şifre oluşturun ve 1Password veya KeePass gibi bir şifre yöneticisinde güvenle saklayın.
Joomla! çok güçlü bir platform çünkü birkaç tıklamayla işlevselliğini genişletmek çok kolay. Ama büyük güçle, büyük sorumluluk geliyor!.. Joomla! da çoğu hack olayı, üçüncü taraf uzantıların güncellenmemesi yada güncellemelerin takip edilmemesi sebebiyle gerçekleşir.
Değerlerini ve kararlılıklarını değerlendirmek için öncelikle uzantıları test edin. Joomla! sitenizi Joomlatools Vagrant kutusunu kullanarak yerel makinenizde test edebilirsiniz. Artık ihtiyacınız olmayan uzantıları kaldırdığınızdan emin olun. Web sitenizdeki diğer kodlar yalnızca potansiyel güvenlik açıklarının sayısını artırır.
Alternatif olarak, Joomlatools Platform'u kullanarak uygulamanızı oluşturabilirsiniz. Bu, Joomla! kod tabanı ve geliştirilmiş dizin yapısı ile modern bir Joomla! yığınıdır. Sadece ana varlıklar web sunucusu tarafından oluşturulurken, çekirdek PHP dosyaları ve uzantıları belge kökünüzün dışına taşınır. Son olarak, resmi sitedeki "Joomla! Zarar Görebilir Uzantılar Listesini" düzenli olarak gözden geçirin.
Çok yaygın bir sorun, yanlış dosya izinleridir. Sadece yükleme ve önbellek dizinleri gibi, gerçekten gerekli olan dizinlere ve dosyalara yazma erişimi vermelisiniz. Uzantılar ve şablonlar yüklendikten sonra her şey kilitlenmelidir.
Tipik bir Joomla! kurulumunda izinler şöyle görünür:
ve sonunda, asla 777 izinlerini kullanmayın. Dosyalarınızın herkes tarafından görüntülenmesine ve değiştirilmesine izin verir! Bu, paylaşımlı barındırma üzerindeyseniz özellikle önemlidir. Başka herhangi bir kullanıcı dosyalarınıza tam erişime sahip olacaktır.
Güvenliği daha da iyileştirmek için yönetici giriş alanında bir şifre gerekebilir. Bunu, Joomla! belgelerinde açıklandığı gibi yönetici dizininde bir .htaccess dosyası oluşturarak el ile yapabilirsiniz.
Bir web uygulaması güvenlik duvarı (WAF), HTTP uygulamaları için bir filtre ve monitör görevi görür. ModSecurity gibi kendi sunucunuza kendiniz bir tane yükleyebilir veya bulut tabanlı bir çözüm kullanabilirsiniz. Bir web uygulaması güvenlik duvarı kullanmak size aşağıdaki özellikleri sağlayacaktır:
ve dahası..
Ziyaretçileriniz ile web siteniz arasındaki iletişimi korumak için, SSL Sertifikası kullanarak şifrelemeniz gerekir. E-ticaret siteleri veya ödeme ağ geçitleri kullanmıyor olsanız bile, siz veya meslektaşlarınız web sitenizde oturum açtığınızda, kullanıcı adınızı ve şifrenizi koruyarak HTTPS üzerinde çalışıp bir SSL sertifikası bulundurmak site güvenliğinizi artırır. Aksi takdirde bu giriş bilgileri internet üzerinden düz metin olarak gönderilir.
Bir sertifikayı edinmek ve kurmak Let's Encrypt sayesinde ücretsiz ve kolay hale geldi. Yüklendikten sonra SSL Server Testini kullanarak SSL yapılandırmanızı test edebilir ve geliştirebilirsiniz.
Sitenizin hala çalışır durumda olduğunu nereden biliyorsunuz? Web sitenizin hacklenmediğinden emin olmak için sürekli olarak izlemeniz gerekir. Bir sorun olursa, bir e-posta veya SMS alacaksınız. Bu, updown.io ya da Pingdom gibi şeylere göz atmanıza yardımcı olabilecek birçok araç var.
Bir Joomla! web sitesini yönetmenin en önemli parçası düzenli güncellemeler uygulamaktır. Joomla! ve çoğu uzantı sürümü güvenlik düzeltmeleri içerir, bu yüzden onları atlamak iyi bir fikir değildir. Neyse ki, Joomla! 'nın yerleşik bir sürüm denetleyicisi var ve bir çekirdek güncelleme olduğunda sizi bilgilendirir. Birçok uzantı, yeni uzantı sürümleri hakkında sizi bilgilendirecek olan Joomla! Güncelleme Sistemini destekliyor.
Güncellemeden önce bir yedekleme yaptığınızdan emin olun!
PHP, Joomla! 'nın yazıldığı dildir. Joomla! güvenliğinizi geliştirmek için php.ini dosyanızdaki aşağıdaki PHP yönergelerini değiştirmenizi öneririz:
Tehlikeli PHP yöntemlerini devre dışı bırakır, böylece saldırganlar sisteminizi tehlikeye atmak için bunları kullanamazlar.
Aşağıdaki seçenekleri devre dışı bırakmayı da düşünebilirsiniz:
Uzak içerik her zaman güvenilir olamayacağından PHP'nin uzak URL'leri açmasına izin verme.
Son olarak, aynı kurallar PHP kurulumunuz ve web sunucunuzda Joomla! ve uzantılarınız için de geçerlidir: PHP sürümünüzü güncel tuttuğunuzdan emin olun ya da bunu sizin için proaktif olarak yapan bir hosting şirketi seçin. Güncel olmayan PHP sürümlerinin listesini Burada bulabilirsiniz, bu listedeki sürümlerden herhangi birini çalıştırıyorsanız, Joomla! sitenizin riski büyük olabilir.
Kaynak: İncapsula.com - Steven Rombauts - Johan Janssens