Developer Diary: Týden ladění nové Drupal šablony (verze 2025-48)

Od drago, 28 Listopad, 2025

Minulá týden jsem spustil nový web postavený na Drupalu, který slouží pro testování funkčnosti WEDOS Global Protection šablony WAF pravidel pro Drupal. Úplně čerstvý web, zatím bez jakékoliv indexace ve vyhledávačích, bez backlinků, bez návštěvníků. Přesně takové prostředí, kde můžu v klidu sledovat každý request. Což doufám, že se ale brzy změní.

Nasadil jsem základní Generic šablonu WAF šablonu z WEDOS Global Protection. Ta fungovala překvapivě dobře. V porovnání s WordPress, který má svá "speficika" a vyžaduje ohnout pravidla.

Následně jsem začal šrouby postupně utahovat, ladit filtry, aby mohla vzniknout Drupal šablona, která se má stát součástí oficiální ochrany WEDOS Global Protection. Cílem je mít stejně robustní a chytrou vrstvu, jakou už teď používáme pro WordPress.

Web bez indexace přesto chodí útoky

Web není nikde propagovaný. Není v Google ani Seznamu. Nemá žádný externí odkaz. Přesto během pár dnů proběhlo 616 požadavků, z toho 242 zablokovala ochrana. A to se bavíme pouze o požadavcích přes HTTPS. Většina legitimních jsou navíc moje, kde jsem si testoval jestli nedochází ke kolizi pravidel. 

V každém případě data ukazují jasný vzorec - první, kdo si všimne nového webu, nejsou lidi, ale skenery a automatizované skripty, které zkouší různé exploity.

Nejaktivnější IP adresy za poslední týden

Dominují tři zdroje:

  • 157.143.30.12 (AS8758, iway AG, CH) — 208 požadavků
  • 35.88.97.166 (Amazon.com, Inc., US) — 183 požadavků
  • 202.120.37.109 (AS4538, China Education and Research Network, CN) — 93 požadavků

Tyto tři IP adresy dohromady tvoří 77 % celého provozu. Čisté scanning / probing chování.

Hned po spuštění: pokusy o .env, .git a další klasiky

Nejčastější testované cesty:

  • /
  • /.git/config
  • /.env

Naprosto typické chování robotů, které nečekají indexaci Google - prostě testují každý nový serverový fingerprint, který objeví.

.git, .env atd. jsou pro útočníky low hanging fruits, snadné na test.

První ostré testy nové filtrace

Během testů se chytila první sada low-level validací:

  • invalid_te_h1 – nevalidní Transfer-Encoding
  • te_on_h2_h3 – zakázané TE na H2/H3
  • cl_multi / cl_invalid – pokusy o manipulaci s Content-Length
  • zero_cl_modifiable_method – zero-length u modifikovatelných metod

Tento druh útoků často projde bez povšimnutí. 

User-Agent sanitizace: největší úspěch filtrace

Největší slabinou útočníků je User-Agent. To mám odpozorované z logu stovek tisíc aktivních webů. Na internetu jsou rozsáhlé seznamy, které adresují tento problém, nicméně z reálných dat dokážete postavit takový, který bude nejen o krok dále, ale také méně náchylný na false positive.

UA blacklist tak zachytil více než třetinu všech požadavků. Což odpovídá webu v této fázi.

FiltrPočetPopis
ua_blacklist215Pravidlo pro blacklistované UA
ua_old5Pravidlo pro zastaralé UA
ua_short3Pravidlo pro krátké UA
ua_missing2Pravidlo pro requesty bez UA

Na rozdíl od WordPress prozatím nebylo nutné řešit nějaké specifické výjimky. 

 

Ochrana souborů a detekce útoků (protected_files)

Zafungovaly i pravidla pro chráněné soubory. protected_files = 17 blokací.

To byly přímé pokusy o:

  • .git/config

  • .env

  • skryté konfigy

  • historicky zranitelné endpointy

Výsledky přesně potvrzují očekávání - první, co boti hledají, jsou soubory, které vývojáři nikdy neměli nechávat v produkci. Možná si říkáte, že to není problém, ale jakmile nějaký scanner projede během pár minut 30 tisíc takových souborů, tak se modlete, aby váš hosting/server zvládl dobře odbavit 404. 

Drupal-specific: ochrana

V tomto týdnu byla implementována první pravidla pro Drupal šablonu. Zatím tato pravidla nic nezachytila. Ale nečekám, že to tak zůstane dlouho.

Výsledek týdne: nová Drupal šablona se postupně testuje

Za první týden:

  • 616 požadavků

  • 242 blokace (cca 39 %)

  • 3 hlavní útočníci

  • okamžité pokusy o .git, .env

  • efektivní UA filtrování

  • stabilní behaviorální vrstva

  • žádné falešné pozitivy v základním CMS provozu

A to všechno bez toho, aby web nebyl jakkoliv indexován.

Komentáře