16 puan yazan GN⁺ 2025-08-26 | 6 yorum | WhatsApp'ta paylaş
  • Son web trafiği analizi sırasında Thinkbot adlı bir web botunun en fazla trafiği ürettiği fark edildi
  • Bu bot robots.txt dosyasını yok sayıyor ve kendini tanıtan ifadesi de yalnızca “sorun varsa IP’yi engelleyin” der gibi son derece özensiz
  • Bir ay boyunca 74 farklı IP kullandı ve bunlar 41 ağ bloğuna dağılmış durumdaydı
  • İnceleme sonucunda bu ağ bloklarının tamamının Tencent’e ait olduğu görüldü; bunun Great Firewall maliyetinin dışarıya yansıtılması ihtimaliyle bağlantılı olup olmadığı yönünde şüphe doğdu
  • Sonunda yaklaşık 470 binden fazla IP’yi kapsayan çok geniş bir engelleme kuralı eklendi

Thinkbot’un ortaya çıkışı

  • Web trafiği analiz edilirken Thinkbot adlı web botunun üst sıralarda pay aldığı fark edildi
  • User-Agent dizesi şu şekildeydi

    “Mozilla/5.0 (compatible; Thinkbot/0.5.8; +In­_the­_test­_phase,­_if­_the­_Thinkbot­_brings­_you­_trouble,­_please­_block­_its_IP_address._Thank_you.)”.

    • “Test aşamasında sorun çıkarırsa lütfen IP’sini engelleyin” ifadesi dışında başvuru yapılacak bir URL bile yoktu
    Reklam
  • robots.txt dosyasına hiç saygı göstermeden tarama yapıyordu
  • Site yöneticisi olarak bunu engellemeye çalışsanız da tek bir IP değil, 74 IP adresi kullanıyordu
  • Geriye dönük izleme ve ASN sorgusu sonucunda bunun 41 ağ bloğundan geldiği görüldü
  • Bu da basit bir tekil IP engellemesiyle savunmanın mümkün olmadığını gösteriyor

Tencent bağlantısı

  • Bu 41 ağ bloğunun tamamı Tencent’e aitti
  • Yazar, Çin hükümetinin bunu görmezden geliyor ya da teşvik ediyor olabileceğinden ve bunun dış dünyaya Great Firewall maliyetini yansıtma girişimi olarak yorumlanabileceğinden şüpheleniyor
  • Çin içinde içerik toplamak serbest kalırken, dışarıda engellenmesi CCP açısından sorun oluşturmuyor; ancak engellemeye çalışan diğer ülkeler ve siteler için ek yük yaratıyor

Güvenlik duvarı engelleme önlemi

  • Yazar doğrudan badbots güvenlik duvarı kurallarına Tencent ağ bloklarını ekledi
  • Örnek: 43.130.0.0/18, 101.32.0.0/20, 150.109.96.0/19 vb.
  • Toplamda 40’tan fazla ağ bloğu eklendi; bu kurallar Tencent’in sahip olduğu tüm IP’leri kapsamasa da 476.590’dan fazla benzersiz IP’yi içeriyor

Sonuç ve benzetme

  • Yazar bu durumu, “internette artık iyi şeylere sahip olamıyoruz” gerçeğiyle ifade ediyor
  • Bu, yalnızca basit bot trafiği engellemenin ötesinde, internet ekosisteminde güvenin genel olarak zayıfladığını ve kaçınılmaz savunmacı tepkileri gösteren bir örnek

6 yorum

 
aobamisaki 2025-08-29

Aslında Çin tehdidi söylemi diğer alanlarda uzun zamandır gerçeğe dönüşmüş durumdaydı; şimdi ise Çin, internet ekosisteminin genel varlığının kendisini bile tehdit etmeye başlıyor gibi görünüyor.

Bunun basitçe nefret duygusuna ya da siyasi önyargıya dayanarak söylenen bir şey değil, gerçekten de gerçeğe dönüşmekte olan bir durum olduğunu birçok insanın anlaması gerekiyor gibi görünüyor.

 
aciddust 2025-08-28

Neden her seferinde bu tür olayların altını kazıyınca CCP çıkıyor..

 
mango 2025-08-27

Vay be.. gerçekten harika..

 
choi1 2025-08-27

Harika..

 
reagea0 2025-08-26

Yine Çin.

 
GN⁺ 2025-08-26
Hacker News görüşü
  • Bir web crawler geliştirirken olabildiğince dostane olmasına çalıştım. robots.txt dosyasını sıkı biçimde kontrol ediyor, yavaş crawl ediyor, User Agent dizesinde kimliğimi açıkça belirtiyor ve tek bir IP adresi kullanıyordum. Ama robots.txt dosyasının kendisine uygulanan çeşitli anti-bot hileleriyle karşılaştım. Son zamanlarda, slow loris saldırısındaki gibi robots.txt çok yavaş indiriliyordu; ben de yanlışlıkla bunu 404 sayıp crawl etmeye devam ediyordum. Bu deneyimden sonra zaman aşımında Disallow / olarak işleyen bir koda geçtim. İronik olan, kurallara iyi uymaya çalışırken bile anti-bot araçlarını tespit eden kod yazmak zorunda kalmam

    • Bu bana, hırsızı engellemek için kapı zilini saklamaya benziyor gibi geliyor

    • Sunucu uygulamalarında olduğu gibi, istemcide de karşı taraf kötü niyetli ya da yanlış davranıyorsa sessizce TCP bağlantısını kesiyorum. Karşı taraf bir süre kaynak harcayıp sonra durumu kendisi fark etmek zorunda kalıyor

    • Bunun kasıtlı olmayabileceğini düşünüyorum. robots.txt kurallarına uymayan kötü botlar zaten baştan dosyayı indirmiyor, bu yüzden kötü niyetten çok hata ya da beceriksizlik olabilir

    • Sadece kurallara uymaya çalışanları cezalandıran yaptırımların ters etki yarattığını düşünüyorum

    • Kurallara uymaya çalışmanı takdir ediyorum. robots.txt üstüne kısıtlama koymak bir hata olabilir ama bazı crawler’lar daha ilginç sayfaları robots.txt içinden bulduğu için bunu yavaşlatmak, sorundan hızlıca kaçınmaya yardımcı olabilir. Sonuçta bu tür yöntemler botun bilgi toplamasını engelleyip hızını düşürüyor; site operatörü açısından kötü botlar yüzünden zarar oluştuğundan dürüst botlarla aradaki ayrıma çok kafa yormamaları anlaşılır

  • Botlar yüzünden ciddi zarar gören web sitelerinin hangi ortak özellikleri taşıdığını merak ediyorum. Ben yıllardır evden .com TLD’li bir web sunucusu işletiyorum, ilgili anahtar kelimelerde Google sıralamam da epey yüksek, ama ne router’da ne de sunucuda özel bot engelleme ayarı hiç olmadı. Meraktan sadece bot isteklerini saydığım oldu ama çoğu ya port taraması yapıyor ya da sadece indeks sayfasını alıyor; dinamik yüklenen bağlantıları ise neredeyse hiç takip etmiyorlar. Apache 2 döneminde de, şimdi Axum ile birkaç site çalıştırırken de botlardan kaynaklanan belirgin bir etki görmedim. Acaba dizin listeleme yüzünden mi diye merak ediyorum; açıklamasını duymak isterim

  • Web scraping meselesine birçok zeki insanın gereğinden fazla takıldığını hissediyorum. Eğer bot faaliyeti gerçekten site üzerinde büyük bir yük ya da ciddi bir sorun yaratmıyorsa — tabii istisnalar vardır — çoğu durumda bu anlamsız bir ‘bayrak kapmaca’ oyunundan ibaret. Fark şu ki bu oyunda karşı tarafın bayrağını bulamıyor, sadece zaman kaybediyorsun. En iyi yaklaşımın, yayılan ve ayırt edilmesi zor katılımcılar yük oluştursa bile hızlı ve iyi tasarlanmış web ürünleri yapmak olduğunu düşünüyorum. Gerçekçi olmak gerekirse bu yaklaşım, gerçek insan kullanıcıların memnuniyetini de ciddi biçimde artırıyor

    • Deneyiminiz gereği bu sorunun ne kadar ciddi olduğunu bilmiyor olabilirsiniz diye düşünüyorum. Önceki işimde web uygulamasının uygulama performansından sorumluydum; kullanıcıların bir kısmı yıldırım gibi hızlıyken çoğu yavaştı. Performans loglarını analiz edince toplam isteklerin %60’ının bilinen botlardan geldiğini gördüm (alayına her şeyi yapan saçma botları saymadan). Hatta bazı şirketler hizmete DoS saldırısı bile yaptı ve bunun yüzünden site çöktü. Sorun şu ki botlar hep cache’lenmiş yanıtları aldığı için gerçek kullanıcı konuşmaları LRU cache’ten sürekli atılıyordu. Bazı botlar ziyaret ettikleri tüm sayfaları birkaç dakikada bir yeniden scrape ediyordu, bazıları ise throughput’u artırıp hizmet yavaşlayana kadar bastırıyordu. Bazen JavaScript çalıştırmayı ve form göndermeyi bile deniyorlardı. Kibar davranan tek bot Googlebot’tu. Gerçek giriş trafiğinin %40’ı tek bir URL’de toplanıyor gibi durumlar da vardı, yani botlardan gelen fayda da neredeyse yoktu. Sonradan fark ettim ki birçok bot, erken dönem yapay zeka şirketlerinin veri toplama araçlarıymış

    • Bir arkadaşım, sadece arkadaş grubunun kullandığı küçük ama herkese açık bir gitea instance’ı işletiyor. Buna rağmen her saat binlerce bot isteği geliyor. Hizmeti doğrudan etkilemese bile, en azından taciz gibi hissettiriyor

    • Ben hızlı web ürünleri geliştirmek için verilere premium ödeyerek erişiyorum. Bu yüzden bu tür varlıkları engellemek zaman kaybı değil; gerçekten bant genişliği ve sunucu maliyetinden tasarruf ettiriyor. Böylece gerçek müşteriler de içerik scrape edilmese bile aynı faydayı hiçbir kayıp yaşamadan alıyor. Birinin kendini sömürülüyormuş gibi görmesinin mantığını anlayamıyorum

    • Buna ‘bayrak kapmaca’ oyunundan çok köstebek vurma oyunu demek daha doğru olur. Kişisel deneyimime göre, ‘kötü botları’ tespit edip engellemeye çalışan forumlarda her zaman daha fazla bot çıkıyor; sonu gelmiyor

    • Aramızda zeki insan çok ama teknik sorunlara aşırı takılma eğilimimiz de var. Hiçbir şey yapmazsan sürekli aklına takılıyor; en azından engellersen daha az sinir bozucu oluyor

  • robots.txt’yi ciddiye alan insan sayısının Hacker News’te beklediğimden fazla olmasına hep şaşırıyorum. İyi niyetli insanın çok olması gerçekten etkileyici. Ama robots.txt gerçek bir çözüm değil. İnsanların önce robots.txt diye bir şey olduğunu bilmesi, sonra da crawler’a robots.txt kontrol kodu eklemesi gerekiyor; bu da karmaşıklık getiriyor. Bunun dışında pratik başka çözümler var mı merak ediyorum. ‘Micropayment’ ya da ‘kimlik doğrulaması için devasa Merkle tree’ gibi şeyler yıllardır konuşuluyor ama pratikte hiç uygulanmadı

    • robots.txt’yi bilmeyen bot geliştiricisi neredeyse yoktur diye düşünüyorum. Sadece kendi projelerinin herkesin kurallarını yok sayabilecek kadar özel bir istisna olduğuna inanan insanlar var

    • robots.txt’nin yasal bağlayıcılığı yok

  • Bizim loglarda da bu tür bot desenleri görünüyor. Oldukça can sıkıcı ama en azından bot olduklarını söylüyorlar ve gerçek trafik çok yüksek değil. Trafiğin çoğu gerçek tarayıcı gibi davranan ya da Brezilya ve Asya’daki çeşitli IP’lerden gelen botlardan oluşuyor. Son bir haftadır bot engelleme için her şeyi denediğimden, işe yarayabilecek deneyimlerimi paylaşayım.

    • Yüzlerce IP’den günde sadece birkaç kez istek geliyor ama hepsi gerçek UA taklidi yapıyor

    • Neredeyse hiç referrer URL göndermiyorlar ama Huawei Cloud botu bazen referrer gönderiyor (gerçi trafiği düşük)

    • Ana denemem, id= içeren URL’lerin bant genişliğini sınırlamak (1Kb/s) oldu; yavaşlayınca vazgeçerler sandım ama botlar umursamadan istemeye devam etti

    • keep-alive bağlantılarına da uyum sağladılar; bu yüzden /cgit/ altında keep-alive’ı tamamen kapattım ama yine de tüm bağlantıları doldurdular

    • Şu an kullandığım yöntem, id= içeren URL’lere sadece notbot sorgu dizesi varsa izin vermek; referrer yoksa 403 mesajında gerçek kullanıcıysa notbot parametresi eklemesini söylüyorum. Bu yöntem yükü azalttı ve gerçek kullanıcı bağlantılarını iyileştirdi ama botlar hâlâ istek yapıyor, sadece sürekli 403 alıyor

    • Sonuç olarak, ya siteye özel ad hoc yöntemler kullanmak ya da Cloudflare gibi yeterli kaynağı olan bir yere bırakmak dışında pek seçenek yok gibi. Standart bot engelleme çözümleri, kaynağı bol taraflarca kolayca aşılabildiği ya da maliyeti göze alınabildiği için sınırlı kalıyor

    • MSIE 3.0 ya da HP-UX gibi artık pek kullanılmayan UA alt dizelerini 403 ile baştan engellemek de bir yöntem. Sonra 403 loglarını toplayıp sorunlu ASN’leri ayrıca engelleyerek köstebek vurma oyununa devam ediyorsun

    • Ben djbwares’in Bernstein publicfile ailesinden yazılımları kullanıyorum. Buna static GEMINI UCSPI-SSL araçlarını da ekledim ve GEMINI spesifikasyonundan aldığım bir fikirle istek URL’sindeki fragment ve sorgu parametrelerini tamamen yasakladım. Gerekçesi, GEMINI’de neden yasaklandılarsa aynı mantığın static HTTP hizmetleri için de geçerli olması. Sunucu yapılandırması açısından sorgu parametrelerini düzgün işlemek için ayrı ayrı tuhaf dosya adları üretmek gerekiyor; bu da pratik değil. Bu fikir sayesinde CGI ya da PHP açıklarını hedefleyen saldırılar dosya sistemine hiç ulaşmadan, isteğin ayrıştırıldığı aşamada eleniyor. Static site işletenlere, GEMINI gibi sorgu parametrelerini de engellemelerini öneririm. Tabii static site kategorisinde sorgu parametrelerini gerçekten kullanmak istiyorsanız bu ayrı

  • Bir süredir IP aralıklarını whitelist olarak tutmanın gerçekten uygulanabilir olup olmayacağını merak ediyorum. Adblock listeleri gibi, topluluğun emek verip yönettiği bir yaklaşımı da hayal ediyorum

    • Ne yazık ki kurallara en iyi uyan botlar en istikrarlı IP’leri kullanıyor; kötü niyetli aktörler ise istedikleri an ev tipi proxy kullanıyor. Residential proxy IP’lerini yasaklarsan gerçek kullanıcılara zarar veriyorsun, kötü niyetli taraf ise hemen başka yere geçiyor. Gerçekte binlerce IP ile uğraşmış biri olarak, sadece IP tabanlı bilgilerle karar vermek zor; ek bilgi gerekiyor

    • Pokémon Go şirketi de lansmandan hemen sonra scraping’i durdurmak için bunu denedi. IP’leri üç kategoriye ayırdılar: blacklist (Google Cloud, AWS vb.), güvenilmeyen IP’ler (konut bağlantıları) ve whitelist (normal IPv4 vb.). Başta ana scraper’ları yakaladı ama en büyük scraper modem terminal çiftlikleri işleterek bunu aştı. Sonuçta sıradan kullanıcılar haritasız oyunu bırakırken, hardcore oyuncular scraper kullanımını parayla daha da artırdı. En sonunda sunuculara daha büyük yük bindi. Bence Pokémon Go’nun yaptığı birçok kötü karardan biriydi

    • Zaten birçok Amerikan şirketi bunu uyguluyor. Ama yurt dışındayken hizmeti sonlandırma yolu sunmadan ücret almaya devam ediyorlarsa, bu makul değil

    • Whitelist ve blacklist arasında mutlaka ikili bir seçim yapmak gerekmiyor. Trafiğin büyük kısmı gri bölgede oluyor. Belirli bir IP’yi whitelist’e alıp sonra anomali tespit edersen, whitelist’ten çıkarmak, duyurmak, bildirim almak ve düzeldiğini karşılıklı teyit etmek gerekiyor; bu da pratikte çok karmaşık. Whitelist ancak güven ilişkisi olan partnerler arasında etkili. Blacklist ise sorunlu adresleri ya da CIA, Rusya, Çin, bulut sağlayıcıları gibi kaynakları engellemekte işe yarıyor. Yalnızca şirket içi host’lar gibi güçlü anti-abuse mekanizmaları olan yerleri whitelist’e almak daha gerçekçi bir yaklaşım

    • Açık kaynak GoodBots projesiyle olumlu botlar için bir whitelist oluşturmaya çalışıyorum. PR’lar memnuniyetle karşılanır

  • Tüm isteklere özel bir header ekleyip onun dışındaki her şeyi engelleme yöntemini kullanıyorum

  • Dışarıda Cloudflare proxy kullanıyor, içeride ise Crowdsec ve Modsecurity CRS’yi Traefik’in önüne koyuyorum. False positive’leri azaltacak şekilde ayarladıktan sonra çok stabil çalışıyor. Geçici engellenen ve raporlanan IP’leri Crowdsec’e gönderip log olarak Discord kanalına da düşürüyorum. Günde ortalama onlarca farklı IP’yi engelliyorum. Hissedilen kadarıyla özel kaynaklara erişmeye çalışan ya da CVE peşinde koşan girişimlerde ABD IP’leri, Çin IP’lerinden çok daha fazla. Herkese açık içeriğin crawl edilmesini dert etmiyorum; geri kalan her şey yalnızca SSO ya da intranet üzerinden erişilebilir. Belirli ülkeleri engellemektense exploit ya da flooding girişimlerinin kendisini engellemek daha etkili

    • Crowdsec tarzı yaklaşımlar cazip ama sunucunun tüm trafiğini kâr amaçlı bir şirkete vermek büyük bir risk gibi geliyor

    • Ciddi saldırı girişimleri zaten sonunda Cloudflare WAF gibi bir yerde durdurulacaktır

  • Birçok apartman binası dışarıya yalnızca birkaç IP adresi üzerinden çıkabiliyor (Carrier-grade NAT konusuna bakın)

    • Bu yüzden IP engelleme false positive üretiyor. Yine de bu tür bir ilkenin uygulanmasının değerli olduğunu düşünüyorum. Sonuçta komşulara karşı da bir sorumluluk var
  • Trafiğimin yarısından fazlası Bing, Claude ve Facebook botlarından geliyor. Bunlar ana trafik kaynağı değil ama sunucu kaynaklarını tüketiyor ve site yavaşladığında başlıca neden oluyorlar (AI, Microsoft ve Facebook bazen sağduyuyu tamamen yok sayıyor). Çin vb. sadece kötü niyetli trafiğin bir kısmı; asıl sorun robots.txt ya da DNS rate limit’i umursamayan Amerikan şirketleri

    • Çok fazla merak ettiğim soru var ve bunların hepsini Claude’a soruyorum. Böyle bir altyapı henüz yok ama seçtiğim LLM benim aptal sorularım yüzünden kaynak kullanıyorsa, site operatörüne bunun karşılığında ödeme yapan bir iş modeli isterdim. YouTube Premium’un içerik üreticilere para vermesi gibi. Gerçekte muhtemelen mümkün değil gerçi