Definicja
WAF (Web Application Firewall) to warstwa zabezpieczeń, która analizuje każde żądanie HTTP kierowane do witryny i filtruje lub blokuje złośliwe wzorce, zanim dotrą do aplikacji. Działa przed aplikacją, jako reverse proxy lub węzeł CDN na krawędzi sieci, i sprawdza nagłówki, parametry URL oraz treść każdego żądania względem zestawów reguł, zwykle wychwytując kategorie z listy OWASP Top 10: SQL injection, cross-site scripting, file inclusion oraz nadużycia związane z niepoprawną autoryzacją, a także boty wykorzystujące credential stuffing, scrapery i znane sygnatury exploitów. Większość dzisiejszych WAF dostarczana jest jako zarządzana usługa w chmurze (Cloudflare, AWS WAF, Imperva, Sucuri), a nie instalowana na serwerze, dzięki czemu aktualizacje reguł wdrażane są w ciągu kilku godzin od ujawnienia nowej podatności, bez konieczności modyfikacji samej aplikacji. Wiele dostawców CDN dołącza WAF do swojej warstwy bezpieczeństwa. Wadą jest to, że reguły mogą błędnie reagować na legalny ruch (false positives), a WAF nie naprawia niezabezpieczonej aplikacji, lecz jedynie zmniejsza powierzchnię ataku docierającą do niej.
Jak to działa
WAF stosuje zestaw reguł (dostarczanych przez dostawcę oraz własnych) do każdego żądania: blokuje znane szkodliwe payloady, ogranicza liczbę żądań z podejrzanych adresów IP, stawia wyzwania przeglądarkom wyglądającym na zautomatyzowane oraz rejestruje wszystko do dalszej analizy. Najsilniejsze WAF-y łączą zestawy reguł z modelami uczenia maszynowego trenowanymi na ruchu atakującym.
Dlaczego to ma znaczenie
WAF to najtańsza istotna poprawa poziomu bezpieczeństwa witryny, chroniąca przed atakami, na które narażony jest świeżo zainstalowany WordPress lub niezaktualizowana biblioteka. Nie zastępuje dobrego kodu, ale daje czas w momencie wykrycia podatności i pochłania stały, tłowy ruch atakujący obecny w całym internecie.