Upravljanje bad botov: blokada in omejevanje dostopa

Boti (robots, crawlerji) so avtomatizirani programi, ki izvajajo različne naloge na spletnih straneh. Poznamo koristne bote, kot so spletni iskalniki (Googlebot, Bingbot), ki pomagajo pri indeksiranju vsebine, in pa zlonamerne bote, ki jim pravimo bad boti.

Bad boti so avtomatski programi, ki obiščejo spletna mesta z namenom izkoriščanja ali škodovanja, na primer izvajajo napade z grobo silo (brute force), zbirajo e-poštne naslove, iščejo ranljivosti ali pa povzročajo nepotrebno obremenitev strežnikov.

Za zaščito naših strežnikov uporabljamo dva pristopa:

  • popolna blokada
  • omejevanje (throttling)

POPOLNA BLOKADA

Popolna blokada se uporablja za bote, ki so nedvoumno zlonamerni in nimajo nobene legitimne uporabe. Takim botom strežnik vedno vrne odziv 403 Forbidden, kar pomeni, da je dostop zavrnjen.
Tak pristop preprečuje:

  • napade z grobo silo (brute force),
  • samodejno zbiranje podatkov (scraping),
  • iskanje ranljivosti v aplikacijah in CMS sistemih,
  • nepotrebno porabo virov strežnika.

Blokada je torej najstrožji ukrep in se uporablja takrat, ko smo prepričani, da bot nikoli ne sme imeti dostopa do naših sistemov.

Na naših strežniki deljenega gostovanja blokiramo sledeče badbote:


80legs
AhrefsBot
Baiduspider
BOT for JCE
MJ12bot
ScreenerBot
WBSearchBot
spbot
SEOkicks
Ezooms
crawler4j
ScreamingFrog
YisouSpider
XoviBot
SemrushBot
WPScan
HardCore Software For
mediatoolkitbot
woobot
LinkpadBot
ApacheBench
Siege
MegaIndex.ru
DotBot
DomainCrawler
BUbiNG
MauiBot
Gofeed
Adsbot/3.1
SeekportBot
BLEXBot
Bytespider
DataForSeoBot
my-tiny-bot
fidget-spinner-bot
thesis-research-bot
ClaudeBot
Barkrowler
GPTBot
GoogleAgent-Mariner
GoogleOther
FacebookBot
meta-externalagent
CCBot
OAI-SearchBot
Exabot
SogouSpider
YandexImages
YandexMedia

OMEJEVANJE (THROTTLING)

Omejevanje se uporablja pri botih, ki niso nujno zlonamerni, a lahko povzročijo preobremenitev strežnika, če jih ne nadzorujemo. Namesto da bi jih popolnoma blokirali, jim upočasnimo dostop ali omejimo število zahtevkov v določenem času. Pri omejevanju bot prejme odziv strežnika 429 Too Many Requests. To pomeni, da je poslal preveč zahtevkov v kratkem času. S tem mu jasno nakažemo, naj zmanjša intenzivnost in počaka, preden nadaljuje z obiski, vendar ni nujno, da to v celoti upošteva.

Tak pristop omogoča:

  • da se izognemo prekomerni obremenitvi strežnika,
  • da nekateri boti še vedno opravljajo svoje naloge (npr. analitika, monitoring), vendar pod nadzorovanimi pogoji,
  • bolj uravnoteženo obravnavo, kjer popolna blokada ni smiselna.

Omejevanje tako deluje kot “semafor”, ki bota ne ustavi povsem, ampak ga upočasni in s tem zaščiti delovanje sistema.

Na naši listi za omejevanje dostopov imamo sledeče bote:

facebookexternalhit
Amazonbot
YandexBot
AwarioBot
Applebot
Apple-Extended
PerplexityBot
AddSearchBot
PetalBot
AspiegelBot
YouBot
archive.org_bot
Twitterbot
Slackbot
LinkedInBot
Pinterestbot
AdsBot-Google
Mediapartners-Google
AdsBot-Mobile
AdsBot-Image
ChatGPT
Claude-SearchBot

Na t.i. backendu uporabljamo preprosto logiko, s katero ločimo med “normalnim” in “preobremenjujočim” obnašanjem odjemalcev:

  • Normalni odjemalec: če ima manj kot 5 sočasnih povezav in največ 20 zahtevkov v 10 sekundah, se mu zahteve strežejo brez omejitev.
  • Preobremenjujoč odjemalec: če preseže 5 sočasnih povezav ali pošlje več kot 20 zahtevkov v 10 sekundah, strežnik odgovori z:
    • 429 Too Many Requests
    • HTTP header Retry-After: 30 seconds, s katero nakažemo, da naj poskusi znova po 30 sekundah.

Na ta način preprečimo, da bi preveč agresivni boti preobremenili strežnik, hkrati pa omogočimo običajnim uporabnikom nemoteno delovanje.

Opise posameznih botov si lahko preberete na spletni strani https://darkvisitors.com/agents
Vam je članek pomagal?
Dislike 0
Ogledov: 31
Niste našli, kar ste iskali? Preiščite bazo znanja