04 Eylül 2009, 07:01 | #1 | |
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0) | 12 Adımda Joomla Güvenliği Joomla, çekirdek kod yapısı itibariyle gayet güvenli ve kullanıcının başını ağrıtmayan, gece yatağınızda yatarken aklınızın sitenizde kalmasına engel olacak ölçüde sağlam bir İçerik Yönetim Sistemi’dir. Standart bir cümle olacak olsa da kullanmak gerekiyor ki; “%100 güvenli bir sistem yoktur”, eğer %100 güvenli bir sistem arıyorsanız o zaman sunucunuzun internet bağlantısını kapatın ve fişini de çekin. Bu şekilde sisteminiz (Bilgisayar dahil) tam güvenli ve asla güvenlik riski barındırmayan bir sistem olacaktır. Joomla’nın sağlam çekirdek kod yapısına rağmen yine de bir Joomla siteyi güvensiz hale getirmek elinizdedir. Genellikle sistemi güvensiz yapan unsurların başında 3. Parti yazılımlar dediğimiz, joomla’ya sonradan eklenen, bileşen, modül, plugin, hatta temalar geliyor. Hatalı kodlanabilen, içinde SQL Injection gibi yöntemlere açık, güvenlik açıkları barındırabilecek kodlar vasıtasıyla uzaktan erişim vasıtasıyla sunucu dizini dahil tüm sisteminize sızılabilir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Tabi tüm bunlara ek olarak, çok nadir de olsa joomla’nın standart yapısı dahilinde küçük açıklarda olabiliyor ki bunlar çok kısa zamanda yeni sürüm yamaları ile gideriliyor. Sunucu güvenliğini de unutmadan belirtmek gerekir ki zaten bu konuda yazılmış başka makalelerim bulunuyor. Tüm bu açıklamaların ışığında, joomla sitelerimizi nasıl olur da daha güvenli hale getirir veya güvenli bir şekilde işlemesini sağlayabiliriz? Konusuna yardımcı olabilecek önerilerimizi açıklamaya başlayalım. 1 – İşe ilk olarak, joomla kurulumlarında standart olarak yazılı gelen ve kurulumla beraber joomla’nın veritabanı tablo isimlerinin önüne gelen “Tablo Ön Eki” (table prefix) düzenlemesini yapacağız. Bazı joomlacılar ilk kurulumda standart olarak gelen “jos_” ön ekini değiştirirler, bunun yerine tahmin edilmesi daha zor olan bir kelime girmek suretiyle öncelikle bu noktada önlem alırlar. Eğer sizler bu tablo ön ekini değiştirmemiş ve joomlanızı varsayılan şekilde kurmuşsanız o zaman birkaç adımda bu tablo ön eki olan “jos_” ön ekini farklı bir kelime ile (örneğin degisim_) değiştirelim. a) Joomlamızın “configuration.php” dosyasını ftp den çağırıp içinde yer alan tablo ön eki “jos_” ifadesini bulalım ve dilediğimiz şekilde düzenleyerek (değişikliği yaparken en sona ” _” işaretini unutmayın) yine ftp den bulunduğu joomla ana dizinimize atalım. b) Ardından, veritabanımıza girerek, veritabanımızın yedeğini alalım, daha sonra bu yedeği wordpad programı veya her hangi bir gelişmiş yazı editörü ile düzenleyeceğiz. Configuration.php dosyasındaki veritabanı tablo ön ekini hangi isimde vermişsek, elimizdeki veritabanı yedeğimizde “tümünü değiştir” (replacement) yöntemiyle, üst kutucuğa “jos_” alt kutucuğa da yeni belirlediğimiz tablo ön ekini yazarak (örnek: degisim_) tümünü değiştirelim. Veritabanı yedeğimizi bu şekilde düzenledikten sonra yine veritabanımıza girerek bu yeni yedek dosyamızı içe aktaralım. Eski ön ekli tablolarımızı işlemlerimiz doğru ve hatasız sonuçlanınca silebiliriz, güvenlik için şimdilik dursun. Böylelikle joomla’mızın güvenliği için ilk önlemimizi aldık, şimdi bir diğer güvenlik önerimize geçebiliriz. 2 - Bu önerimiz de, joomlamızın sürüm bilgisi ve sitemizde yüklü olan bileşen ve modüllerimizin sürüm bilgilerini düzenlemek olacak. Malum, joomla’nın açıkları aranırken genellikle (hatta daima diyebiliriz) joomla ve kullanılan eklentilerin sürüm bilgilerine göre aramalar yapılır ve açığı olan sürümlere sahip eklenti ve joomla’yı içeren siteler daha kolay bulunur. İşte biz bu durumda öncelikle joomlamızın sürüm bilgisini kaldıracağız. a) Öncelikle kullandığımız temanın “head” etiketinden hemen sonra “<?php $this->setGenerator(’burasını ya boş bırakın ya da herhangi bir şey yazın’); ?>” kodunu ekliyoruz, bu kod siteyi oluşturan scripti tanımlayan bir koddur. Yahut, /libraries/joomla/document/html/renderer/head.php dizinindeki “head.php” dosyasını bir düzenleme programıyla açıp “$strHtml .= $tab.’<meta name=”generator” content=”‘.$document->getGenerator().’” />’.$lnEnd;” kodunu buluyoruz. Bu kodu ya tamamen siliyoruz, yahut bu kodun başına yorum etiketi ekleyerek etkisizleştiriyoruz. b) Ardından tüm yüklü bileşen ve modüllerimizi ftp den bilgisayarımıza çekerek bu eklentilerde yer alan sürüm bilgisi veya bileşen adı olarak copyright bilgilerini bulup kaldırıyoruz. TotalCommander vb… programlarla bu işlem (tüm dizinleri birden arama) çok daha kolay yapılabiliyor. 3 – Bilindiği gibi, joomla yönetim panelimize site adresimizin sonuna bir slash, (/) administrator yazdığımızda herkes yönetim paneline giriş sayfasına erişebiliyor. Tabi bu web klasörünü sunucu panelinden şifreleyebiliriz ancak bu işlemi daha güzel yapan bir ekleti ile, bir nevi bu klasörü gizleyerek/adını değiştirerek daha etkili bir güvenlik sağlayabiliriz. Bileşenimizin adı JSecure, vazifesi de yönetim paneli yolunu gizlemek olarak özetlenebilir. Yani [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] olan yönetim paneli giriş yolunu [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] haline getirerek tahmin edilmesi en zor şekle getiriyor. Bu bileşeni [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] adresinden indirebilirsiniz. 4 – Sitemizi arama motorlarına uygun hale getirmenin ilk adımı olan “SEF” diye nitelenen özelliği, joomla yönetim paneli genel ayarlardan aktif hale getirelim, bu şekilde hem site URL’leri daha düzgün hem de asıl linkleri yüzeysel de olsa gizlemiş olacağız. Tabi SEF için ücretsiz olan “sh404” veya “artio joomsef” gibi bileşenler de kullanarak SEO için de farklı bir adım atmış olabiliriz. 5 – Genellikle güvenlik açığı arama faaliyetleri, joomlamızın ayar dosyası olan configuration.php üzerinden yapılır, bu sebeple ayar dosyamızın güvenliğine daha çok dikkat etmeliyiz. Bunun için configuration.php dosyamızın adını değiştiren buradaki uygulamayı sitemize kurabileceğimiz gibi, dosya izinlerini güzel bir biçimde ayarla***** da bu güvenliği sağlayabiliriz. Doğru ve etkili dosya/klasör izinleri (permission, chmod) konusuna az ileride değineceğim. 6 – Joomlamızı ilk defa kurduğumuzda yönetici adı olarak “admin” atandığını biliyoruz, eğer bu kullanıcı adını değiştirmemişsek kendimize farklı bir isim belirleyerek “admin” kullanıcı adını kullanmayalım. 7 – Joomla ana dizininde yer alan “htaccess.txt” isimli dosyanın adını zaten az yukarıda SEF ile ilgili yaptığımız işlemlerin geçerliolabilmesi için “.htaccess” olarak adını değiştirmiş olmamız lazım. Dolayısıyla bu dosyada “exploit” denen zararlılara karşı koyacak olan bir kod kümesi yer alır o da örenk olarak aşağıdaki gibidir. Kod: Kodu kopyalamak için üzerine çift tıklayın!
Bu kod exploit saldırılarını engelleyecek olan kodumuzdur, eğer bu kod kümesi yoksa aynen alıp kendi .htaccess dosyanıza ekleyebilirsiniz. 8 – Joomla ana dizinimizde yer alan dosyaların ve klasörlerin daima önerilen “chmod” (dosya klasör izni) ayarlarında olması gereklidir, buna göre tüm joomla dosya ve klasörleri aşağıdaki şekilde düzenlenmeli. Dosya lar – 644 Klasörler – 755 Configuration.php dosyası – 666 (genel ayarlar kısmında sorun olmuyorsa bu değer 444 olarak ayarlanırsa daha iyi olacaktır) Şeklinde ayarlamamız en doğru dosya klasör izinleri olacaktır. 9 – Joomla resmi sitesini sıklıkla takip ederek, yahut abonelik sistemini kullanarak en son haberlere abone olmalıyız ki yeni sürüm çıktığında hemen joomla sürümümüzü yükseltmeliyiz. Daima en son sürüm joomla kullanmaya dikkat edin. 10 – Sitenizde kullandığınız tüm eklentileri bir liste halinde yazılı olarak tutun, karşılarında da resmi sitesinin adresleri bulunsun ve mümkün olan makul aralıklarla bu eklentilerin güncel sürümlerinin çıkıp çıkmadıklarına dikkat edin. 11 – Aslında web sitelerinizin güvenliği bilgisayarınızdan başlar bu nedenle daima güncel bir antivirüs yazılımınız olsun ve şüpheli sitelerden uzak durun, tanımadığınız epostalardaki linklere tıklamayın. Günümüzde iframe virüsü denen virüsler belli siteleri ziyaret etmeniz nedeniyle kullandığınız tarayıcının geçici depolama klasörüne veya sisteminizin “temp” klasörüne yerleşerek buradan da ftp programınız vasıtasıyla tüm site dosyalarına yayılabilir. 12 – Buradaki anlatımları uygulamadan önce mutlaka sitenizin ve veritabanının bir yedeğini alın, ayrıca genel olarak makul aralıklarla bu işlemi tekrarlayın. Bilgisayarınızda bir yedekleme klasörü oluşturup aldığınız yedekleri bu klasörde düzenli bir şekilde tutun. Bu yedekler içinde en önemlilerinden bir tanesi de kullandığınız tema olduğundan, en azından tüm dizinin yedeğini almaktan üşendiğiniz durumda en son ve sağlam bir tema yedeğiniz olsun. Tüm anlatılanların ışığında, uygulanması ile beraber çok daha sağlam bir sisteme sahip olacağınız gibi içiniz 2 kere rahat olmuş olacak. Huzurlu ve rahat çalışmalar dileklerimle. Kaynak: mmcn.org - [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] / [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] sitesinden de joomla ile ilgili arama yaptığınızda karşınıza gelecek olan sonuçlarda da bunu görmek mümkün. Genel anlamda açıkların hemen hemen tümü 3. Parti eklentilerinin yol açtığı güvenlik zafiyetlerinden kaynaklanmaktadır. | |
|
Etiketler |
12, adimda, adımda, guvenligi, güvenliği, joomla |
Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir) | |
| |
Benzer Konular | ||||
Konu | Konuyu Başlatan | Forum | Cevaplar | Son Mesaj |
Joomla İndex | AftieL | Joomla | 0 | 03 Eylül 2014 01:03 |