Ve Botlar Beni Deli Ederken

Şu sırala ve bot davranışı sergileyen iplerin banlanması üstüne uğraşıyorum.

Yazılımını yaptığım bir haber sitesi var. İlk başlarda %15 civarı olan bot trafiği şu an yüzde 55 düzeyine yükselmiş durumda. Bunu engellemek için farklı şeyler denedim.

İlk önce Apache Bad Blocker kurduk ve verimsizlik yaşadık. Çünkü eklentinin doğasında olan RequireAny değerini gördüğü anda Apache İp adreslerini DNS ile çözümleyip doğrulamaya başlıyordu. Özellikle Uydu Net üstünden gelen isteklerde çözümleme işlemi 15 saniye kadar uzun sürmesi sebebiyle aşırı şikayet oluşmuştu. Eklentinin bu kısmını kullanmaktan vazgeçtik. Eklentinin Mod Rewrite versiyonunu özelleştirip, referans kısmı olmadan kullanmaya başladık.

Buna rağmen şöyle bir durum oluştu, Cpanel üstünden İp engellediğimiz anda Apache yeniden kasılmaya ve gelen her isteği DNS sorgusuna sokmaya başlıyordu. Cpanel üstünden Ip engellemeye son verdik.

WHM üstünden Mod Security kuruluydu ve aktif edilmişti. Lakin sunucuya gelen saldırılar konusunda otomatik yasaklama yapmasına rağmen siteye gelen bot trafiğinde bir düşüş sağlamadı.

Cloud Flare kullanmayı düşündük ama, vardığımız karar SEO değerlerini ve sitenin açılış süresini daha da yavaşlatacağı yönündeydi. Bir de arama motorlarının Cloud Flare hakkındaki davranışı içimize sinmemişti. Alternatif aradık ve Distil Network‘u bulduk. Firma demo talebimizi geri çevirmedi, lakin fiyat konusunda henüz fiyat alamadık. Networklerinde yeterince büyük ve paralı firmalar yer alıyor ki Türkiye referansları konusunda da firmanın sitesinde yazmadığı için söyledikleri gururumuz firmanın adını burada anmayacağım. Yine de izlemek isteyen olursa firmanın yönetim paneli demosu ortada.

Neyse, tanımlı botları Bad Bot Blocker ile yasakladık ama listede tanımlanmayan bir çok bot trafiğini de kendi loglarımızı analiz ederek görüyorduk. O sebeple onlar için ek bir liste daha yapıp, onları da yasakladık. Kendi yasakladığımız bot ve tarayıcı imzası sayısı 70, Bad Bot tarafından yasaklanan bot sayısı 513 adet olarak kayıtlara geçti.

Bunlara rağmen çok küçük bir trafiği engelleyebildik. Bunun üzerine WordPress siteler için 2 eklenti kurduk:

İlk kurduğumuz eklenti: Stop Bad Bots eklentisi oldu. Biz kurduktan 2 gün sonra eklentinin Premium sürümü çıktı! Çok yakın bir gelecekte Free versiyonun fişini de çekerlerse şaşırmam.

İkinci kurduğumuz eklenti: WordFence oldu. Bu eklentinin de ücretsiz ve Premium versiyonu var. Ülke yasaklama gibi kritik kimi özellikler tamamen paralı halde. Yine de wp-login.php sayfasına Kaba Kuvvet (Brute Force) saldırısı yapanlara güzel karşılık veriyor.

Bu iki eklenti sayesinde gördük ki, PHP dosyayı çalıştırmayan bir isteğin sunucuya ulaşmasında iki eklenti de işe yaramıyor! Yine de API paylaşımını kabul ederse Stop Bad Bots eklentisinin saf PHP ve diğer hazır scriptler için uyarlanmış bir versiyonunu yapmak hala daha mümkün.

Apache erişim logları üstüne geçen bir aylık uğraştan sonra arama motorlarına ve çeşitli botlara ait ip adreslerini tek bir havuzda toplayıp bunu basit bir uygulama ile sorgulamayı çözdüm ve özgür yazılım olarak yayınladım.

Yayınladığımı ve elimdeki ip havuzunda milyonlarca ip adresine denk gelen IP ve alt ağ adresleri, yani CIDR değerleri bulunuyor.

Siteyi çok ziyaret eden ve henüz havuzda yer almayan adresleri whois ile sorgulayıp, bir sunucuya denk geldikçe yasaklıyorum. Bu yasaklama kurallarında da şu an 300+ yasaklama kuralına ulaştım ve şurada paylaştım.

Verimlilik testi yaptığımda hala daha inanılmaz sayıda şüpheli isteğin (mesela tek ip adresinden gelen 27 bin tekil isteğin) sunucuya eriştiğini ve bu ip adresinin bir kişi mi veya bot mu olduğunu çözemediğimi itiraf etmek durumundayım.

Sonuç olarak: Gün geçtikçe botlar çok daha fazla akıllanıyor. Curl ile istek gönderip içeriği kopyalamak çok yakında geride kalacak. Çünkü botlar sitelerdeki javascript kodlarını çalıştırıp, çerezleri gelecek oturumlar için saklamaya, düzenli yerine dağıtık zaman dilimleri ile gelmeye başladılar bile diyor şu haber.

Maalesef bizim bu konuda yerli bir alternatifimiz bulunmuyor.

Herkese iyi çalışmalar.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir