Joomla! alt yapısı ile oluşturmuş olduğunuz web sitesinde, bir şeylerin doğru gitmediğini fark ettiğinizde ne yapabilirsiniz?... Son zamanlar da artan hack saldırıları karşısında ne gibi önlemler alabilir, saldırılara karşı sitenizi nasıl güvende tutabilirsiniz.
Bugünkü yazımızda sizlere, Joomla! ile oluşturduğunuz bir web sitesi saldırıya uğradığı zaman neler yapmanız gerektiği konusundaki bilgileri aktaracağım. Web sitenizde belki bir beyaz ekran görüyor olabilirsiniz, ya da korsan ülke bayrağı belki de arka plan da farklı bağlantılar görebilirsiniz.
CMS sistemlerinde bazen bu tür üzücü durumlar ile karşılaşabilirsiniz, bu tür sorunları çözmek için bir takım pratik adımlar atabilirsiniz ve bunun tekrar oluşmasını engelleme imkanınız var. CMS siteniz saldırıya uğradıysa ve saldırıya uğramış bir Joomla! web sitesini nasıl düzeltebileceğiniz yönündeki adımları inceleyelim.
1. Adım: Joomla! Sitenizin Tam Yedeklemesini Yapın
Şüpheli kodlarla bile Joomla! sitenizi yedekleme yapmalısınız, unutmayın ki her türlü yedek mutlaka önemlidir. Web sitenizin veritabanı'nı da yedeklediğinizden emin olun. Elde ettiğiniz yedeği bilgisayarınızın sabit diskinde saklayabilirsiniz, bu adım ilk önceliğiniz olmalıdır.
2. Adım: Joomla! Web Sitenizi Tarayın
Web sitenizi çevrimiçi araçlar kullanarak taramanızı önemle öneririz. Aşağıdaki çevrimiçi siteler web sitenizi taramanız için yardımcı olabilir, bununla birlikte bilgisayarınızda mutlaka güncel bir anti virüs programı kullanmalısınız.
- https://www.virustotal.com
- http://www.quttera.com
- https://sitecheck.sucuri.net
- http://www.isithacked.com
Ayrıca aşağıdaki URL'yi ziyaret ederek YourSite.com kısmına kendi site adresinizi yazarak sitenizi tarama yapabilirsiniz.
http://www.google.com/safebrowsing/diagnostic?site=http://YourSite.com
Önemli Not: Bu çevrimiçi tarayıcıların hiçbiri CMS'nin tüm klasör ve dosyalarını tarayamaz, bu araçların her zaman size bir uyarı mesajı göstermeyeceği anlamına gelir.
CPanel Virüs Tarayıcısı
cPanel virüs tarayıcısı her zaman yararlı olabilir ve birinci kontrol adımı olarak bile tavsiye edilir. Hosting cPanel'deki virüs tarayıcısı virüsleri, truva atlarını, zararlı yazılımları ve diğer tehditleri arar. cPanel üzerinde yer alan "Gelişmiş" kısmındaki "Virüs Tarayıcı" kısmına giriş yaparak tarama işlemi yapabilirsiniz. Dizindeki dosya sayısına göre tarama işlemi biraz zaman alabilir, virüs taraması virüs bulaşmış dosyaları bulursa dosyaların ne yapılacağını belirleyebilirsiniz.
Dezenfekte: Bu seçenek seçildiğinde, virüs tarayıcı dosyadan zararlı içeriği kaldırır.
Karantina: Bu seçenek seçildiğinde, virüs tarayıcı dosyayı karantina dizinine taşır.
Destroy: Bu seçenek seçildiğinde, virüs tarayıcı virüslü dosyayı siler. Bu, daha sonra temiz paketten yeni bir tane yüklemeniz gerektiği anlamına gelir.
Yoksay: Bu seçenek seçildiğinde, virüs tarayıcı virüslü dosyayı değiştirmeden bırakır.
Son olarak, sunucu firmanızdan web sitenizi taramalarını isteyebilirsiniz. Çoğu sunucu firması tarama işlemini sağlayacaktır, ancak bunların çok azı sorunu ele alma konusunda size sınırlı destek verebilir. Her türlü virüs bulaşmış dosyaları temizleyin, şüpheli dosyaların Joomla! çekirdek dosyası olup/olmadığından emin değilseniz temiz bir Joomla! kurulumu yaparak dosyaları karşılaştırın.
3. Adım: Joomla! Web Sitenizi Kapatın
# 1 Çevrimdışı Yöntem
Web sitenize gelen her ziyaretçi için çevrimdışı modunu etkinleştirmeniz gerekir. Joomla! admin paneli üzerinden veya FTP üzerinden bunu yapabilirsiniz, tavsiyemiz 2. yöntemi kullanmanız yönünde'dir. Sunucunuzdaki dosyaların bulunduğu ana dizinde configuration.php dosyasını bulun ve HTML editörü kullanarak açın, dosya üzerinde bir satırı değiştirmeniz gerekiyor bunun içinde aşağıdaki adımı izleyin...
Bu kodu bulun: public $ offline = '0';
Bununla değiştirin: public $ offline = '1';
Ayrıca offline_message içinde bazı değişiklikler yapabilirsiniz, bir irtibat telefonu veya bir açıklama yazısı ekleyebilirsiniz.
# 2 IP Bloğu
Bir başka çözüm ise, muhtemelen daha etkili bir yöntem olabilir sitenizi devre dışı bırakın ve yalnızca kendi IP adresinizden erişime izin verebilirsiniz. Böylece yabancılar için sitenizi karantinaya alırsınız, bu sayede bilgisayar korsanları dosyalarınızı düzenleyemezler. Buna ek olarak, arama motorları (Google, Bing) da sitenizi engelliyor, fakat en kolay yol olarak, .htaccess dosyanızı düzenlemek ve yalnızca kendi IP adresinizden erişime izin vermek olacaktır... Aşağıdaki iki kod satırını kullanabilirsiniz.
deny from all
allow from YOUR_IP_ADDRESS
YOUR_IP_ADDRESS'i kendi IP adresinizle değiştirin, örneğin www.whatismyip.com sitesini kullanarak IP adresinizi öğrenebilirsiniz.
4. Adım: FTP ile Manuel Tarama
Bu çok zor bir bölüm olabilir ve başarı deneyiminize, titizliğinize ve hassaslığınıza bağlı olarak değişebilir. Öncelikle /tmp, /cache, /images klasörlerini kontrol edin şüpheli gördüğünüz dosyaları kaldırabilirsiniz.
Kötü amaçlı dosyalar dizin yapısında derinden gizlenebilir ve meşru dosyalar gibi görünebilir. Çoğu durumda bilgisayar korsanları, popüler çekirdek dosya adına benzeyen ve aşağıdaki gibi dosyalar eklerler...
Adm1n.php, admin2.php, contacts.php, cron.css, css.php, do.php, hell0.php, solo.php, x.php, Test.php veya test.html veya tests.php, Uploadtest.html vb.
Yukarıdaki dosya isimlerine benzer dosyaları bulduğunuzda içerisinde yer alan kodları kontrol etmeden de silebilirsiniz. Bir başka konu ise base64'ün bilgisayar korsanları tarafından yaygın olarak kullanılmasıdır. Joomla! dosyalarınızda base64'ü içeren kodlamaları arayın, ancak bir çok zararlı eklenti ve bileşende kullanıldığını unutmayın. Çoğu akıllı bilgisayar korsanı daima arka kapı dosyasını ilk olarak yükler. Bu, istismar edilen uzantıyı bulduktan ve kaldırdıktan sonra tekrar erişim sağlamanıza izin verir...
Dosyalar da susicius görünümlü kodlar bulduysanız lütfen UnPHP (PHP Decoder), karmaşık ve kötü amaçlı PHP kodunu analiz etmek için ücretsiz bir çevrimiçi hizmetten yararlanın. Eval (), gzinflate (), str_rot13 (), str_replace () ve base64_decode () gibi fonksiyonları zincirleyen basit obfuscation yöntemlerini işler. Her ne kadar bütün kod bulunmazsa da yine de yardımcı olur.
Unutmayın: Kötü amaçlı kod, PHP işlevleri tarafından sıklıkla "maskelenmiştir": substr eval gzinflate, base64_decode ve preg_replace ve bunların hepsi normal ifadelerle ilişkilidir. Dosya içindeki cümleyi aramanıza izin veren bilgisayar programını kullanın.
base64_decode (
veya
if (md5($_POST
veya
$password=@$_REQUEST['password']
veya
$action=@$_REQUEST['action']
veya
preg_replace("/.*/e"
Hacker tarafından yüklenen "sahte / yönlendirme" dosyalarına örnek olarak aşağıdaki resimlere bakabilirsiniz, resimleri büyütmek için üzerine tıklamanız yeterli.
Çoğu durumda, yeni dosyalar yeni dosya verilerine sahip olacak, böylece siz veya ekip üyeniz tarafından yüklenmeyen dosyalara ait saat veya tarihlere bakarak keşfedebilirsiniz. Bir dosyanın içinde bulunan kodun şüpheli ve güvensiz olup olmadığından emin değilseniz Jotti'nin zararlı yazılım tarayıcısını kullanabilirsiniz. Şüpheli dosyaları taramanızı sağlayan ücretsiz bir hizmettir.
.htaccess dosyasındaki veya varsayılan şablonun index.php'sindeki kodları da kontrol etmeyi unutmayın. Bu başka bir sayfaya yönlendiren bir komut dosyası veya gizli bir reklam içerebilir. Ayrıca resim dosyalarının gizli kodu olabilir, bunlar sahte görüntüler'dir ve jpg veya gif uzantılı php dosyalarıdır. Bir sürü olanak olduğunu unutmayın, bu tarama işlemi yaklaşık olarak 2 saatten fazla sürebilir.
5. Adım: Parolaları Değiştirin
Tüm şifreleri, özellikle de Joomla! "Super Users" kullanıcı hesabınızı ve web sitenizdeki yönetim izinlerine sahip tüm hesapları derhal değiştirin. Web sitenizin veritabanında ve MySQL parolasını da değiştirebilirsiniz. Güncellenmiş yeni veritabanı ve MySQL şifresi configuration.php dosyasına da eklenmelidir.
public $password = 'NEW-MYSQLi-PASSWORD';
6. Adım: Güncelleme ve Kaldırma
Web sitenizde yer alan tüm eklentilerin, modüllerin, bileşenlerin ve Joomla'nın güncel olduğundan emin olun. Uzantı yöneticisi'nden, eklentiye ait sürüm numarasını geliştirici sitesindeki bilgilerle karşılaştırdığınızdan emin olun. Eski eklenti sürümleri, web sitenize zarar vermek için daha etkili olabilir, eklenti devre dışı bırakılmış olsa bile dosyalarından biri sitenize erişilmesine izin verebilir.
Aslında kullanmadığınız bütün eklentileri sitenizden kaldırmanız daha faydalı olacaktır. Her seferinde Joomla.org'dan indirilen eklentileri kurmanızı tavsiye ederiz.
7. Adım: Google'da Ek Adımların Atılması
Google robot sizden daha hızlı olduğu için ve sitenizi diğer kullanıcıları korumak için (Google'ın kara listesinde) arama sonuçlarında virüs bulaşmış olarak tanımlarsa, bu durum trafik ve güven kaybına neden olabilir. Bu durum virüs bulaşmış sitenizi temizledikten sonra bile birkaç gün sürebilir, bu nedenle daha hızlı bir şekilde web sitenizin kilidini açmak için ek adımlar atmanız gerekiyor.
- Sitenizde virüs bulaşmış dosyalar, kodlar ve içerikler bulunmadığından emin olun.
- Sitenizi açın (Genel Yapılandırma'da).
- Google Web Yöneticisi kısmından "Güvenlik Sorunları" alanında yer alan "saldırıya uğramış sitelere yönelik kaynakları" inceleyin. 7'nci adımda yer alan "İnceleme isteğinde bulunun" kısmında yer alan adımları takip ederek, Google'un web sitenizi incelemesi talebinde bulunabilirsiniz.
- Ayrıca bilgisayar korsanının eklediği URL'lerin kaldırılmasını istemek için Google Web Yöneticisi Aracı ve URL Kaldırma aracını kullanın.
Sitenizi temizledikten sonra ve incelemenizi talep ettiğinizde, Google sistemleri web sitenizi kötü amaçlı yazılım veya istenmeyen yazılımlar için tarar. Hiçbir şey bulunamazsa, Google web sitenizdeki uyarıyı kaldırır. Ancak bu işlem 1-2 gün sürebilir.
SONUÇ: Saldırıya uğramış olan bir web sitesini temizlemek gerçekten zordur. Bazen bilgisayar korsanları zararlı kodu dosyamızda veya veritabanı yapımızda gizler, bu nedenle onları bulmak zor olabilir... CMS'nizin yeni yedeklerini, içeriğinizi tamamen silerek ve en son bilinen iyi bir yedekle değiştirmeyi (temizlendiğinden ve saldırıya uğramış içeriğin olmadığından emin olduktan sonra) düşünebilirsiniz. Unutmayın ki web sitenizi % 100 saldırıya dayanıklı hale getirmek mümkün değildir.
NOT: Bu yazı joomshaper.com/blog da yer alan Paul Frankowski tarafından yazılmış "My Joomla site was hacked - what to do" başlıklı yazı kaynak alınarak Türkçe'ye çevrilmiştir.