Bu kılavuz, gizli anahtar kelimeler ve bağlantılar saldırısı adını verdiğimiz, sitenize anahtar kelime ağırlıklı anlamsız sayfalar ekleyen belirli bir tür saldırı hakkında bilgi vermek için hazırlandı. Popüler İçerik Yönetim Sistemleri (CMS) kullanıcıları için tasarlanan bu rehberi, CMS kullanmasanız bile faydalı bulacağınızı düşünüyoruz.
Bu kılavuzun sizin için gerçekten yararlı olduğundan emin olmak istiyoruz. İyileştirmemize yardımcı olmak için geri bildirim bırakın!
Bu saldırı türünü tanımlayın
Gizlenmiş anahtar kelimeler ve bağlantı saldırısı, otomatik olarak anlamsız metin, bağlantı ve resim içeren çok sayıda sayfa oluşturur. Bu sayfalar bazen orijinal sitedeki temel şablon öğelerini içerir. Bu nedenle, içerik okununcaya kadar sayfalar ilk bakışta sitenizin normal bölümleri gibi görünebilir.
Saldırıya uğramış sayfalar, Google'ın sıralama faktörlerini değiştirmek için oluşturulur. Bilgisayar korsanları genellikle, saldırıya uğramış sayfalardaki bağlantıları farklı üçüncü taraflara satarak bundan para kazanmaya çalışırlar. Saldırıya uğramış sayfalar çoğu zaman ziyaretçileri, bilgisayar korsanlarının para kazanabilecekleri alakasız bir sayfaya yönlendirir.
Google'ın sitenizde bu şekilde saldırıya uğramış sayfalar bulup bulmadığını görmek için Search Console'daki Güvenlik Sorunları aracını kontrol ederek başlayın. Bazen, bir Google Arama penceresi açıp sitenizin kök düzeyi URL'siyle site:_your site url_
yazarak da bunun gibi sayfalar olup olmadığını görebilirsiniz. Bu şekilde arama yaptığınızda, saldırıya uğramış sayfalar da dahil olmak üzere Google'ın siteniz için dizine eklediği sayfalar gösterilir. Normal olmayan URL'ler olup olmadığını görmek için arama sonucu sayfalarına göz atın. Google Arama'da saldırıya uğramış bir içerik görmüyorsanız, aynı arama terimlerini farklı bir arama motorunda kullanın. Bunun nasıl görüneceğine dair
bir örnek verelim:
![Bu saldırının oluşturduğu arama sonuçları.](https://web.dev/static/articles/fix-the-cloaked-keywords-hack/image/search-results-generated.png?authuser=5&hl=tr)
Saldırıya uğramış bir sayfanın bağlantısını tıkladığınızda, genellikle ya başka bir siteye yönlendirilir ya da anlamsız içeriklerle dolu bir sayfa görürsünüz. Ancak, sayfanın mevcut olmadığını gösteren bir mesaj da görebilirsiniz (örneğin, 404 hatası). Aldanmayın! Bilgisayar korsanları, saldırıya uğramış bir sayfanın kaldırıldığına veya düzeltildiğine inanmanız için sizi kandırmaya çalışacaklardır. Bunu, sayfadaki içeriği gizleyerek yaparlar. URL Denetleme aracına sitenizin URL'lerini girerek gizleme olup olmadığını kontrol edebilirsiniz. Google gibi Getir aracı sayfadaki gizli içeriği görmenize olanak sağlar.
Bu sorunları görürseniz siteniz büyük olasılıkla bu tür bir saldırıdan etkilenmiştir.
![Bu saldırı tarafından oluşturulan örnek bir sayfa.](https://web.dev/static/articles/fix-the-cloaked-keywords-hack/image/an-example-page-created-cc79e3659cd4c.png?authuser=5&hl=tr)
Sorunu giderin
Başlamadan önce, dosyaları kaldırmadan çevrimdışı kopyalarını alın. Daha sonra bunları geri yüklemeniz gerekebilir. Daha da iyisi, temizlik işlemine başlamadan önce sitenin tamamını yedekleyin. Bunun için sunucunuzdaki tüm dosyaları sunucu dışındaki bir konuma kaydedebilir veya kullandığınız İçerik Yönetim Sistemi (CMS) için en iyi yedekleme seçeneklerini arayabilirsiniz. CMS kullanıyorsanız veritabanını da yedekleyin.
.htaccess
dosyanızı kontrol edin (3 adım)
Gizlenmiş anahtar kelimeler ve bağlantı saldırısı, sitenizde otomatik olarak gizlenmiş sayfalar oluşturmak için .htaccess
dosyanızı kullanır. Resmi Apache sitesindeki .htaccess
temel özelliklerini öğrenmek, saldırının sitenizi nasıl etkilediğini daha iyi anlamanıza yardımcı olabilir, ancak bu zorunlu değildir.
1. Adım
.htaccess
dosyanızı sitenizde bulun. Dosyayı nerede bulacağınızdan emin değilseniz ve WordPress, Joomla veya Drupal gibi bir CMS kullanıyorsanız, bir arama motorunda İYS'nizin adıyla birlikte ".htaccess dosyasının konumu" araması yapın.
Sitenize bağlı olarak birden fazla .htaccess
dosyası görebilirsiniz.
.htaccess
dosya konumunun tümünün bir listesini yapın.
2. Adım
Dosyadaki içeriği görüntülemek için .htaccess
dosyasını açın. Aşağıdakine benzer bir kod
satırını bulun:
RewriteRule (.*cj2fa.*|^tobeornottobe$) /injected_file.php?q=$1 [L]
Bu satırdaki değişkenler değişebilir. cj2fa
ve tobeornottobe
, herhangi bir harf veya kelime karışımı olabilir. Önemli olan, bu satırda referans verilen .php
öğesini tanımlamaktır.
.htaccess
dosyasında bahsedilen .php
dosyasını not edin. Örnekte, .php
dosyasının adı injected_file.php
olsa da gerçekte dosya adı bu kadar bariz olmayacaktır. Genellikle horsekeys.php
veya potatolake.php
gibi zararsız kelimelerden oluşur. Bu muhtemelen daha sonra bulup kaldırmamız
gereken kötü amaçlı bir .php
dosyasıdır.
3. Adım
Tüm .htaccess
dosyalarını .htaccess
dosyasının temiz veya varsayılan sürümüyle değiştirin. Bir .htaccess
dosyasının varsayılan sürümünü genellikle "varsayılan .htaccess
dosyası" ve İYS'nizin adını arayarak bulabilirsiniz. Birden fazla .htaccess
dosyası içeren sitelerde her birinin temiz bir sürümünü bulun ve değiştirme işlemini gerçekleştirin.
Varsayılan bir .htaccess
yoksa ve sitenizde daha önce hiç .htaccess
dosyası yapılandırmadıysanız sitenizde bulduğunuz .htaccess
dosyası muhtemelen kötü amaçlıdır.
Her ihtimale karşı ve sitenizden .htaccess
dosyanın kopyasını çevrimdışı kaydedin.
Diğer kötü amaçlı dosyaları bulma ve kaldırma (5 adım)
Kötü amaçlı dosyaların tanımlanması zor olabilir ve zaman alabilir. Dosyalarınızı kontrol edin. Henüz yapmadıysanız sitenizdeki dosyaları yedeklemek için iyi bir zamandır. Sitenizi nasıl yedekleyeceğinizle ilgili talimatları görmek için Google'da "site yedekleme" ve içerik yönetim sisteminizin adını arayın.
1. Adım
İçerik yönetim sistemi kullanıyorsanız içerik yönetim sisteminizin varsayılan dağıtımında gelen çekirdek (varsayılan) dosyaların yanı sıra eklemiş olabileceğiniz her şeyi (temalar, modüller, eklentiler gibi) yeniden yükleyin. Bu şekilde dosyaların saldırıya uğrayan içerik barındırmadığından emin olabilirsiniz. Yeniden yükleme talimatlarını bulmak için Google'da "yeniden yükleme" ve CMS adınızı aratabilirsiniz. Eklenti, modül, uzantı veya temalarınız varsa, bunları da yeniden yüklediğinizden emin olun.
2. Adım
Daha önce .htaccess
dosyasında tanımladığınız .php
dosyasını arayarak başlayın. Sunucunuzdaki dosyalara nasıl eriştiğinize bağlı olarak, bir tür arama işlevinizin olması gerekir. Kötü amaçlı dosya adını
arayın. Bulursanız, önce bir yedek kopya oluşturun ve geri yüklemenizin gerekmesi ihtimaline karşın başka bir yerde saklayın, ardından dosyayı sitenizden silin.
3. Adım
Kalan kötü amaçlı veya güvenliği ihlal edilmiş dosyaları arayın. Önceki iki adımda tüm kötü amaçlı dosyaları önceden kaldırmış olabilirsiniz, ancak sitenizde güvenliği ihlal edilmiş daha fazla dosya olması ihtimaline karşı sonraki birkaç adımı uygulamak en iyisidir.
Her PHP dosyasını açıp incelemeniz gerekeceğini düşünerek endişelenmeyin. İncelemek istediğiniz şüpheli PHP dosyalarının bir listesini oluşturarak başlayın. Şüpheli PHP dosyalarını belirlemenin birkaç yolu vardır:
- CMS dosyalarınızı yeniden yüklediyseniz yalnızca varsayılan CMS dosyalarınızın veya klasörlerinizin parçası olmayan dosyalara bakın. Bu şekilde çok sayıda PHP dosyasını eler ve bakmanız gereken az sayıda dosya kalır.
- Sitenizdeki dosyaları en son değiştirilme tarihine göre sıralayın. Sitenizin saldırıya uğradığını ilk keşfettiğiniz tarihten önceki birkaç ay içinde değiştirilmiş dosyaları arayın.
- Sitenizdeki dosyaları boyuta göre sıralayın. Normaldan büyük dosyaları arayın.
4. Adım
Şüpheli PHP dosyalarının bir listesini hazırladıktan sonra bu dosyaların kötü amaçlı olup olmadıklarını kontrol edin. PHP'ye aşina değilseniz bu işlem uzun sürebilir. Bu nedenle bazı PHP dokümanlarına göz atmak isteyebilirsiniz. Kodlamada tamamen yeniyseniz yardım almanızı öneririz. Bu arada, kötü amaçlı dosyaları belirlemek için bakabileceğiniz bazı temel kalıplar vardır.
İçerik Yönetim Sistemi kullanıyorsanız ve bu dosyaları doğrudan düzenleme alışkanlığınız yoksa, sunucunuzdaki dosyaları, CMS'nin yanı sıra diğer eklentiler ve temalarla birlikte sunulan varsayılan dosyalar listesiyle karşılaştırın. Varsayılan sürümlerinden büyük olan dosyaların yanı sıra ait olmayan dosyaları da arayın.
Öncelikle, halihazırda belirlediğiniz şüpheli dosyalara göz atarak karışık harflerden ve rakamlardan oluşan büyük metin blokları olup olmadığına bakın. Büyük metin bloğunun önünde genellikle base64_decode
, rot13
, eval
, strrev
veya gzinflate
gibi PHP işlevleri olur.
Örnek bir kod bloğunu burada görebilirsiniz. Bazen tüm bu kod uzun bir metin satırına yerleştirilir ve bu şekilde gerçekte olduğundan daha küçük görünür.
// Hackers try to confuse webmasters by encoding malicious code into
// blocks of text. Be wary of unfamiliar code blocks like this.
base64_decode(strrev("hMXZpRXaslmYhJXZuxWd2BSZ0l2cgknbhByZul2czVmckRWYgknYgM3ajFGd0FGIlJXd0Vn
ZgknbhBSbvJnZgUGdpNHIyV3b5BSZyV3YlNHIvRHI0V2Zy9mZgQ3Ju9GRg4SZ0l2cgIXdvlHI4lmZg4WYjBSdvlHIsU2c
hVmcnBydvJGblBiZvBCdpJGIhBCZuFGIl1Wa0BCa0l2dgQXdCBiLkJXYoBSZiBibhNGIlR2bjBycphGdgcmbpRXYjNXdmJ2b
lRGI5xWZ0Fmb1RncvZmbVBiLn5WauVGcwFGagM3J0FGa3BCZuFGdzJXZk5Wdg8GdgU3b5BicvZGI0xWdjlmZmlGZgQXagU2ah
1GIvRHIzlGa0BSZrlGbgUGZvNGIlRWaoByb0BSZrlGbgMnclt2YhhEIuUGZvNGIlxmYhRWYlJnb1BychByZulGZhJXZ1F3ch
1GIlR2bjBCZlRXYjNXdmJ2bgMXdvl2YpxWYtBiZvBSZjVWawBSYgMXagMXaoRFIskGS"));
Bazen kod karıştırılmaz ve normal yazı gibi görünür. Kodun kötü olup olmadığından emin değilseniz dosyalara bakmanıza yardımcı olabilecek deneyimli web yöneticilerini bulacağınız Web Yöneticisi Yardım Forumlarımıza uğrayın.
5. Adım
Artık hangi dosyaların şüpheli olduğunu bildiğinize göre, dosyalardan herhangi birinin kötü amaçlı olmaması ihtimaline karşın bunları bilgisayarınıza kaydederek bir yedek veya yerel kopya oluşturun ve şüpheli dosyaları sitenizden silin.
Sitenizin temiz olup olmadığını kontrol etme
Saldırıya uğrayan dosyalardan kurtulduğunuzda, emeklerinizin karşılığını alıp almadığınızı kontrol edin. Daha önce belirlediğiniz, anlamsız kelimelerin olduğu sayfaları hatırlıyor musunuz? Bu sayfaların hâlâ olup olmadıklarını görmek için bu sayfalarda Google Gibi Getir aracını tekrar kullanın. Google Gibi Getir'de"Bulunamadı" yanıtını döndürürlerse, durumunuz oldukça iyi olabilir ve sitenizdeki güvenlik açıklarını düzeltmeye devam edebilirsiniz.
Yeniden saldırıya uğramayı nasıl önleyebilirim?
Sitenizdeki güvenlik açıklarını düzeltmek, sitenizi düzeltme işleminin son adımıdır ve çok önemlidir. Yakın zamanda yapılan bir araştırma, saldırıya uğrayan sitelerin% 20'sinin bir gün içinde tekrar saldırıya uğradığını gösteriyor. Sitenizin tam olarak nasıl saldırıya uğradığını bilmek yararlı olacaktır. Araştırmaya başlamak üzere spam yapanların web sitelerine saldırmak için en çok kullandığı yöntemler rehberimizi okuyun. Ancak sitenizin nasıl saldırıya uğradığını bulamıyorsanız, sitenizdeki güvenlik açıklarını azaltmak için yapabileceklerinizin bir listesi aşağıda verilmiştir:
- Bilgisayarınızı düzenli aralıklarla tarayın: Virüsleri veya güvenlik açıklarını kontrol etmek için bilinen virüs tarayıcılarından birini kullanın.
- Şifrelerinizi düzenli olarak değiştirin: Barındırma sağlayıcı, FTP ve CMS gibi tüm web sitesi hesaplarınızın şifrelerini düzenli olarak değiştirmek, sitenize yetkisiz erişimi önleyebilir. Her hesap için güçlü, benzersiz bir şifre oluşturmanız önemlidir.
- İki Faktörlü Kimlik Doğrulama (2FA) kullanın: Oturum açmanızı gerektiren herhangi bir hizmette 2FA'yı etkinleştirmeyi düşünün. 2FA, bilgisayar korsanlarının şifrenizi başarıyla çalsalar bile oturum açmalarını zorlaştırır.
- İYS'nizi, eklentilerinizi, uzantılarınızı ve modüllerinizi düzenli olarak güncelleyin: Bu adımı zaten uyguladığınızı umarız. Çoğu site eski yazılımlar çalıştırdıkları için saldırıya uğrar. Bazı CMS'ler otomatik güncellemeyi desteklemektedir.
- Sitenizi izlemek için bir güvenlik hizmetine abone olmayı düşünün: Sitenizi küçük bir ücret karşılığında izlemenize yardımcı olabilecek birçok etkili hizmet bulunmaktadır. Sitenizi güvende tutmak için bu tür bir hizmete kaydolabilirsiniz.
Ek kaynaklar
Sitenizi düzeltme konusunda sorun yaşamaya devam ederseniz, size yardımcı olabilecek başka kaynaklar da mevcuttur.
Bu araçlar sitenizi tarar ve sorunlu içerikleri bulabilir. VirusTotal dışındaki araçları Google çalıştırmamakta veya desteklememektedir.
Bunlar, sitenizdeki sorunlu içeriği tarayabilecek araçlardır. Bu tarayıcıların, her türlü sorunlu içeriği tanımlayacaklarını garanti edemediklerini unutmayın.
Google'ın sunduğu, size yardımcı olabilecek ek kaynaklarından bazıları: