Wczoraj, gdzieś tak w okolicach godziny 15-16 zaczęły spływać do mnie kolejne alerty związane z niedostępnością kolejnych stron. Było to o tyle nietypowe, że strony te znajdowały się nie tylko na różnych serwerach (wykluczony problem z samym serwerem), w różnych lokalizacjach (wykluczony problem związany z lokalizacją serwerowni), ale i u różnych dostawców tego typu (VPSy) usług. Jak się szybko okazało, problem nie dotyczył tylko mnie, a sporej części internetu. I to do tego stopnia, że niektórzy zaczęli łączyć ten problem z kryzysem USA – Iran (Chiny, Rosja), zwłaszcza że w tym samym czasie również w tym kontekście miały miejsce jakieś dziwne ruchy…

Cloudflare, WAF, RegEx i błąd 502 Bad Gateway

Na szczęście (szczęście w nieszczęściu) tym razem to jeszcze nie wybuch trzeciej wojny światowej, a… błędna reguła wyrażenia regularnego (RegEx) wdrożona po stronie Cloudflare, w ich usłudze, związana z WAF (Web Application Firewall). Wskutek czego wiele stron – w tym strona zarządzania kontem/usługami Cloudflare – była niedostępna, wyświetlając błąd 502 Bad Gateway:

Szczegółowy opis problemu ma się niebawem pojawić na blogu Cloudflare, na razie jest tam aktualizowany na bieżąco artykuł z „ogólnikami” na temat awarii. Stąd wiadomo, że problem wynikał z gwałtownego obciążenia procesorów urządzeń sieciowych, wskutek błędnej reguły RegEx. I tym samym usługa, która ma chronić strony m.in. przed atakami typu DDoS, sama się zDDoSowała… ;-)

Nieprzypadkowo po internecie krąży grafika, gdzie ktoś, kto ma 99 problemów, wpada na pomysł wykorzystania wyrażeń regularnych, dzięki czemu ma… 100 problemów.

Co najgorsze, w takiej sytuacji nie bardzo jest jak nawet się ratować, bo o ile z poziomu panelu Cloudflare mogę w kilka sekund skierować ruch na inny serwer (nawet za pomocą API), to już zmiana DNSów na inne (w tym przypadku na inne niż Cloudflare) może trwać nawet 24-48 godzin…

(!) Zgłoś błąd na stronie