V neděli mi přišel e-mail od hostingu. Pravidelný přehled ochrany jednoho z mých webů, konkrétně BriefThisDoc.com, mé anglické odbočky Tahákomatu, za poslední dva týdny. Čekal jsem pár řádků. Dostal jsem malou reportáž o tom, kdo všechno se na web dívá, když se nedívám já.

11 461 požadavků. 883 unikátních adres. 7 556 zablokovaných pokusů. Nejvíc provozu v neděli 18. října brzy ráno: 623 požadavků za jedinou hodinu.

Na malý a nový web, na kterém jsem začal pracovat relativně nedávno, je to hodně. Jenže hosting hned v úvodu upozorňuje na podstatnou věc: jde o počet požadavků, ne o počet návštěvníků. A většina z nich lidská nebyla.

Nahrál jsem email svému AI asistentovi, co na to říká: "Tohle je dobrá zpráva, ne poplach. Takhle vypadá běžný šum internetu. Jakmile web existuje, začnou ho během pár dní objevovat automatické roboty, které zkoušejí, jestli někde nezůstalo něco cenného," odpověděl mi. Divil jsem se výčtu zemí - Litva, Bulharsko,... A on mi vysvětlil:
"Většina lidí si představuje, že web navštěvují lidé. Ve skutečnosti u malého webu tvoří roboti klidně dvě třetiny provozu, a tvůj report to dokládá: WEDOS odfiltroval 65,9 % všech požadavků. Možná by to stálo za článek do zAImavostí, třeba s názvem Kdo klepe na dveře mého webu. Máš k tomu vlastní, skutečná data, ne převzaté statistiky. A hezky to navazuje na fejeton o robotovi u novinového turniketu, jen tentokrát z pohledu vrátného."

A tak jsme si "plácli" s tím, že přidáme čtenářům do textu i praktickou radu: Nenechávejte na serveru zálohy, hesla ani klíče, protože je někdo opravdu hledá. Denně a automaticky.

Návštěvníci, kteří nejsou lidé

Každá stránka, obrázek nebo soubor znamená pro server jeden požadavek. Člověk, který si přečte jednu stránku, jich vyvolá několik. Robot jich za sekundu zvládne desítky. Neunaví se, nespí a nečte. Jen zkouší.

Ochrana na straně hostingu podle přehledu odklonila 65,9 % veškerého provozu. Dvě třetiny všeho, co na web dorazilo, tedy vůbec nedošly na server. Šlo o adresy, které se ptaly příliš rychle, příliš často nebo na věci, na které by se slušný návštěvník neptal.

Mezi zbylou třetinou jsou skuteční lidé, ale také roboti, které na webu chci: vyhledávače. Bez nich by se o stránkách nikdo nedozvěděl.

Proč Litva, a ne Brazílie

Nejvíc mě překvapil přehled zemí. Na prvním místě Litva s 2 243 požadavky, pak Česko, USA, Belgie a Bulharsko. Litevských čtenářů mám nejspíš přesně nula.

Vysvětlení je prosté a mimo IT komunitu málo známé: země u požadavku neříká, kde sedí člověk, ale kde stojí počítač, ze kterého přišel. A roboti neběží v obývácích, ale v datových centrech.

  • Litva je překvapivě velká „robotí velmoc“. Sídlí tam několik velkých poskytovatelů levných serverů a proxy služeb. Server si tam za pár eur měsíčně pronajme kdokoli na světě. Robot z Litvy tak může klidně patřit firmě z Brazílie nebo studentovi z Indie.
  • Belgie je s velkou pravděpodobností Google. Jedno z jeho největších evropských datových center stojí v belgickém Saint-Ghislain. Tahle část provozu je vlastně dobrá zpráva: vyhledávač si webu všiml.
  • USA jsou směs: vyhledávače, AI crawlery a obrovské cloudy, ve kterých běží slušní i neslušní roboti.
  • Bulharsko je podobný případ jako Litva: levný hosting a servery, které po síti „klepou na dveře“.
  • Česko je nejspíš to jediné opravdu lidské: návštěvníci, já sám při kontrole stránek, český vyhledávač a monitoring samotného hostingu.

Na jednom serveru navíc může běžet tisíc různých zákazníků. Z názvu země se proto nedá poznat, kdo za požadavkem stojí. Ochrana webu se nedívá, odkud kdo je, ale co dělá.

Robot, který hledal klíče

Nejzajímavější je část přehledu určená technikům. Ukazuje několik zachycených pokusů. Jeden za všechny: adresa z Jižní Koreje během dvou sekund vyzkoušela osm souborů.

/google-credentials.json /google-key.json /firebase-key.json /firebase-adminsdk.json /key.json /keyfile.json /application_default_credentials.json /.config/gcloud/application_default_credentials.json

Všechny ty názvy mají společné jedno: tak se jmenují soubory s přístupovými klíči ke cloudovým službám. Kdo by je našel, mohl by na cizí účet spouštět servery, číst databáze nebo posílat e-maily. A platil by to majitel účtu.

Robot přitom nevěděl, co na webu je. Zkoušel naslepo, protože se tu a tam stane, že někdo takový soubor omylem nahraje na server spolu se stránkami. Přehled to potvrzuje i jiným řádkem: stejný typ robota zkoušel neexistující soubory na 159 doménách. Nejde o útok na mě. Jde o zloděje, který na parkovišti postupně zkouší kliky všech aut, jestli někdo nezapomněl zamknout.

Na mém webu nic takového nebylo. Je to statický web: jen stránky, obrázky a skripty, žádná databáze, žádné heslo, žádný klíč. Robot dostal zavřené dveře a šel dál.

Slušní a neslušní

Nejčastěji hledaným souborem za celé období byl robots.txt, 176krát. To je naopak dobrá zpráva. Robots.txt je cedulka na dveřích webu, ve které majitel robotům říká, kam smějí a kam ne. Slušný robot se nejdřív podívá na cedulku. Vyhledávače to dělají pravidelně.

Jenže jak jsem psal ve fejetonu Dobrý den, jsem AI robot, má to drobnou technickou vadu. Není to zámek. Cedulku čtou jen ti, kdo ji číst chtějí. Ti ostatní jdou rovnou ke klikám. A právě na ně je ochrana na straně hostingu.

Co si z toho vzít

Pokud máte vlastní web, i úplně malý, vaše dveře zkouší stejní roboti. Ne protože jste zajímaví, ale protože existujete. Pár jednoduchých zásad:

  • Na serveru nechávejte jen to, co má být veřejné. Žádné zálohy webu (web.zip, backup.zip), staré verze stránek, exporty databází ani dokumenty „jen na chvíli“. Roboti zkoušejí i tyto názvy.
  • Hesla a klíče nikdy do složky webu. Konfigurační soubory s přístupy patří mimo veřejnou část serveru, nebo vůbec ne na server.
  • Zapněte ochranu, pokud ji hosting nabízí. Většina dnes nějakou má a bývá levná nebo v ceně.
  • Neplašte se z čísel. Tisíce požadavků neznamenají tisíce útočníků ani tisíce čtenářů. Kolik přišlo lidí, řekne statistika návštěvnosti, ne report ochrany.
  • Robots.txt používejte, ale nespoléhejte na něj. Je to prosba, ne zámek.

Mě ten přehled nakonec spíš uklidnil. Ukázal, že internet je hlučnější, než si většina z nás představuje, ale také to, že dobře zamčený malý web nemá robotům co nabídnout. Vyhledávače najdou stránky, lidé najdou obsah a zloději najdou zavřené dveře.

Máte vlastní web? Podívejte se, co máte na serveru. Je tam opravdu jen to, co tam být má?