Güvenli Joomla! Uzantılarını Nasıl Seçerim?

Güvenli Joomla! Uzantılarını Nasıl Seçerim?

Joomla! Güvenlik konusunda yazmış olduğumuz çeşitli yazılar da, sizlere zaman zaman güvenlik konusunda farklı bilgileri aktarmaya çalıştık.

Güvenlik konusu her web sitesi için önemli olduğu kadar, site yöneticileri'nin de bir takım şeylere dikkat etmesi gerekmektedir. Mümkün olduğunca gerekli güvenlik önlemleri alınmalı ve web sitesi sürekli olarak denetim altında tutulmalıdır.

Bir önceki "Güvenli Bir Joomla! Eklentisi Nasıl Seçilir?" başlıklı yazımızda kısaca bir takım noktalara değinmiştik. Bugün ise konuyu biraz daha açarak dikkat etmeniz gerek noktalara değineceğiz.

Bu yazımızda, neden savunmasız Joomla! uzantıları var, hassas bir Joomla! uzantısı nedir? ve güvenli Joomla! uzantısı nasıl seçebilirsiniz bu gibi konuları bulabilirsiniz.

Neden Savunmasız Uzantılar Var?

Joomla! CMS uzantıları içinde şu anda bilinen ve güvenlik açığı olan uzantılarının listesine Buradan ulaşabilirsiniz.

Joomla! uzantıları küresel topluluğa bir hizmet olarak üretilir. Joomla! 'nın açık kaynaklı olması ve popülaritesi nedeniyle! projede çok çeşitli özellikler sunan farklı uzantılar bulunmaktadır. Joomla! 'nın kalitesi ve genişletilebilir olması sebebi ile uzantılar, Joomla! ’nın ana avantajlarından biridir.

Ancak bu özgürlüğün bir bedeli var. Bireysel sorumluluk gerektirir ve yalnızca katılımcıların çoğunluğunun sorumlu davrandığı durumlarda yaşayabilir. Joomla! 'nın başarısı, başkalarının web sitelerinde bulunan açıkları bulmak ve bunlardan faydalanmak isteyen, otomatik komut dosyaları çalıştıran kötü niyetli kişilerin dikkatine yol açtı.

Kötü niyetli kişilerin istemeden değerli bir hizmet sunduğunu not etmek önemlidir. Daha ciddi tehditlere açık kalabilecek savunmasız uzantıları ve kötü yapılandırılmış sunucuları tanımlamamıza yardımcı olurlar.

Hassas Bir Uzantı Nedir?

Güvenlik açığı bulunan bir uzantı, bir güvenlik açığını içerdiği (veya buna katkıda bulunduğu) için hassas olarak değerlendirilebilir.

Hassas uzantılar mutlaka kötü bir şekilde kodlanmış değildir. Web teknolojileri geliştikçe, teknik gereksinimler ve yaygın olarak kabul edilen kodlama uygulamaları değişir. Aktif projeler, gereksinimler değiştikçe uzantılarının yeni sürümlerini yayınlar. Bu nedenle, aşağıdakiler önemlidir:

  1. Yüklü tüm uzantıların sürüm numaralarını bilin.
  2. Tüm uzantıların yalnızca en son kararlı sürümünü kullanın.
  3. Tüm güvensiz veya kullanılmayan uzantıları tamamen kaldırın.

Güvenli Joomla! Uzantıları Nasıl Seçerim?

Birisinin yapabileceği en önemli şey, bir sitede kullanmayı seçtiği uzantılarla ilgili iyi kararlar vermektir. Güvenli olmayan veya kötü amaçlı bir uzantı yüklendikten sonra sitenizin tamamını tehlikeye atmış olabilirsiniz.

Bir bileşenin erişmemesi gereken veritabanı tablolarına erişmesini önlemek veya durdurmak için olası bir yol yoktur. Bir bileşenin, bulduğu tüm bilgileri bir cracker web sitesine göndermesini engellemenin bir yolu yoktur. Güvensiz veya kötü amaçlı bir bileşen yüklendikten sonra sitenizin tamamı güvensizdir.

Tüm bunlara ek olarak, yüklediğiniz uzantılarla ilgili iyi seçimler yapmanız için işte bazı kolay ipuçları:

1. En son sürüm ne zaman çıktı?

Bir yıldan fazla olsaydı, projenin terk edildiğini düşünün ve başka bir şey bulun. Eski bileşenleri kullanmayın.

2. Ne tür bir sürüm? (Kararlı, Yayın Adayı (RC), Beta, Alfa)

Aktif olan web siteleri için mümkün olduğunca Kararlı sürümlere bağlı kalmalısınız. Kararlı bir sürüm kullanıma sunuluncaya kadar bekleyemezseniz, sürüm adaylarını göz önünde bulundurmanız gereken diğer seçeneklerdir. Kimsenin herhangi bir Beta veya Alpha eklentisini aktif olan web sitesine yüklemesini önermiyoruz. Bu, hala böcekleri olduğu, yeterince test edilmediği ve tespit edilemeyen veya daha da kötüleşmemiş herhangi bir sayıda uygunsuz hata veya güvenlik sorunu yaşayabileceği anlamına gelir.

3. Uzantının iyi bir güvenlik uygulamaları geçmişi var mı?

Bu açıkçası biraz daha öznel ama yine de gelecekteki güvenilirliğin çok geçerli bir göstergesidir. Biraz araştırma gerektirir. İndirme sayfalarına ve arşivlerine bakın, çok sayıda güvenlik yayımı veya düzeltme eki var mı? Bu uzantı ile çok fazla çatlama faaliyeti raporu var mı? Geliştiriciler deneyimli ve güvenlik konusunda bilinçli midir? Diğer topluluk üyeleri bu uzantı hakkında ne düşünüyor?

Joomla! 'nın kendisi ile ilgisi az olan akla gelen bir örnek (ki bunu adil bir örnek yapar) phpBB. Bu betiğin, başımı döndüğümden daha fazla güvenlik sorunu oldu ve rutin olarak yeni açıklanan sorunlar var. Bu nedenle, asla phpBB kullanmam. Kanımca güvenilir değil ve daha büyük güvenlik sorunlarının ortaya çıkma olasılığı yüksek.

4. Bu eklenti için bir destek topluluğu var mı?

Bu, kullanılabilirlik ve güvenlik bilinci için çok önemlidir. Uzantı için bir destek topluluğu varsa, güvenlik sorunlarının bilinmesi ve ele alınması için daha iyi bir şans vardır. Bir destek topluluğu, insanların uzantıyı kullanmaya devam etmek istedikleri ve uzantıyı önemsedikleri anlamına gelir. Bu, güvenlik sorunlarının derhal bulunma, açıklanma ve çözülme şansını arttırır.

5. Uzantı genel olarak hatasız mıdır?

Bunu üç numarada biraz ima etmeye çalıştık ama daha derinlemesine tartışmaya değer olduğunu düşünüyorum. Bir uzantının tamamen hatasız olması neredeyse imkansız olsa da, böcek sayısı ne kadar küçükse o kadar iyidir. Yazılımda hata varsa, yazılımda hatalar olduğu anlamına gelir. Daha fazla hata, daha fazla kullanılabilirlik riski ve güvenlik sorunu. Güvenlik sorunları genellikle tek bir hatanın değil, birkaç hatanın veya kötü uygulamaların bir sonucudur. Örneğin, uzaktan dosya eklenmesine izin veren son 3. parti güvenlik açıkları şunlardan kaynaklanmaktadır:

Kötü Uygulamalar:

  1. PHP Register_globals'ın etkin olması.
  2. Tarihi geçmiş veya terk edilmiş bir uzantı kullanma.
  3. PHP için başka hiçbir güvenlik kontrolü yapılmamıştır. (url_fopen kapalı, open_basedir kısıtlamaları, PHP işlevlerini devre dışı bırakın).
  4. Kötü yapılandırılmış dosya izinleri.
  5. İstek filtreleme veya yazılım "güvenlik duvarı" yok. (mod_rewrite kuralları veya mod_security Apache modülleri gibi).

Hatalar:

  1. Tanımlanan ('_ VALID_MOS') veya die ... ifadeleri dahil değil
  2. Kötü yapılandırılmış include () ifadeleri.

Joomla! doğru yapılandırıldığında çekirdek yapı güvenlidir. Uzantı geliştiricisine kesinlikle güvenmiyorsanız, yüklemeden önce mutlaka kodu gözden geçirin. Aşağıdaki endişe tipik alanların bir listesidir.

1. Uzantı ne kadar karmaşık?

Ne kadar büyük olursa, sorun yaşama ihtimali de o kadar yüksek olur ve ne kadar dikkatli incelemelisiniz. Ne yaptığını söyleyemiyorsan, ona güvenmemelisin.

2. Uzantı sunucunuza dosya okuyor veya yazıyor mu?

Dosyaları okuyan programlar yanlışlıkla kurduğunuz erişim kısıtlamalarını ihlal edebilir veya hassas sistem bilgilerini crackerslara iletebilir. Dosya yazan programlar, varolan dosyaları değiştirme veya zarar verme veya truva atı ekleme potansiyeline sahiptir.

3. Uzantı, sisteminizdeki diğer programlarla etkileşime giriyor mu?

Örneğin, birçok uzantı, sendmail programıyla bir bağlantı açarak form girişine yanıt olarak e-posta gönderir. Bunu güvenli bir şekilde mi yapıyor?

4. Uzantı, suid (set-user-id) ayrıcalıklarıyla mı çalışıyor?

Genel olarak bu çok tehlikelidir; uzantıların bunu yapmak için mükemmel bir nedene ihtiyacı var.

5. Uzantı, form alanları ve URL gibi tüm kullanıcı girişlerini doğrular mı?

6. Uzantı, harici programları çağırırken açık yol adları kullanıyor mu?

Kısmi yol adlarını çözmek için PATH ortam değişkenine güvenmek tehlikeli bir uygulamadır.

7. Uzantı, URL'ye doğrudan erişime karşı güvenli midir?

Örneğin: www.yoursite.com/components/com_bad_extension.php?lots_of_bad_code_here

8. Uzantı, uzak dosya kapanımlarına karşı güvenli mi?

9. Uzantı, SQL enjeksiyonlarına karşı güvenli midir?

10. Uzantı, Çapraz Site Komut Dosyası'na (XSS) karşı güvenli midir?

11. Eklentinin PHP register_globals ON veya Joomla! RG Emülasyonu AÇIK mı?

Eğer öyleyse, o zaman muhtemelen yukarıdaki 7 numarayı ihlal ediyor.

12. Uzantı, daha az ayrıcalıklı kullanıcılara daha yüksek veritabanı erişimi sağlıyor mu?

Örneğin, misafirlerin veya kayıtlı kullanıcıların yalnızca yayıncıların veya yöneticilerin görmesi gereken verileri görüntülemesine izin veriyor mu?

Uzantılar Sitesi Neden Güvenli Olmayan Uzantılar İçeriyor?

Joomla! Eklenti sitesi, topluma ücretsiz bir hizmet olarak mevcuttur. Herkes orada uzantı gönderebilir ve uzantılar her kalite ve vade düzeyinde mevcuttur. Bir uzantının güvenlik açıkları içerdiği tespit edilirse, daha güvenli bir sürüm yayımlanana kadar siteden kaldırılır, ancak her uzantının güvenlik açıklarının keşfedilmesi veya bildirilmesi garanti edilemez. Güvende olmak için, yüklediğiniz her uzantının güvenliğini doğrulamanız gerekir.

Joomla! Eklentiler sitesi sorumluluk reddi.

Feragat

Bu alanda listelenen uzantılar ve incelemeler topluluk tarafından sunulmuştur ve listelenmeleri Joomla! / OSM tarafından onay, öneri veya tercih edilme anlamına gelmez.

Bu içerik ziyaretçilerimize ücretsiz bir hizmet olarak sunulmaktadır ve bu nedenle Joomla! / OSM bilgilerin doğruluğundan sorumlu tutulamaz. Bilginin doğru olduğunu doğrulamak isteyen ziyaretçiler, uzantının içeriğini ve / veya geliştirmesini hazırlamaktan sorumlu taraflarla iletişim kurmalıdır.

Joomla! CMS web sitelerinizi olabildiğince güvende tutmak için, gerekli güvenlik önlemlerini alabilir, web sitelerinizde az sayıda eklenti kullanabilir, güvenli olan ve güncelleme desteği olan eklentileri tercih edebilirsiniz. Ayrıca destek topluluğu olması sizlerin yararına olabileceği gibi, olası bir aksi durumda destek topluluğundan yardım alabilirsiniz.

Yukarıda sizlere açıklamaya çalıştığımız örnekleri dikkate alabilirsiniz, Joomla! güvenlik konusunda alınması gereken önlemleri veya tavsiyelerinizi yorum kısmında bizimle paylaşabilirsiniz.

Kaynak: Joomla.org

Önerilen Makaleler