WAF

Kasia Bielawska
>
Kasia Bielawska

Web Application Firewall

Co to jest WAF?

WAF (Web Application Firewall) to zapora aplikacyjna, której zadaniem jest ochrona stron internetowych, sklepów, paneli administracyjnych, API i innych aplikacji webowych przed niebezpiecznymi żądaniami. WAF analizuje ruch kierowany do aplikacji i na podstawie określonych reguł może wykryć podejrzane zachowanie, zablokować żądanie, ograniczyć jego częstotliwość lub zapisać zdarzenie w logach.

Najprościej można powiedzieć, że WAF działa jak filtr pomiędzy użytkownikiem a aplikacją internetową. Zwykły użytkownik wysyła poprawne żądanie i korzysta ze strony normalnie. Jeśli jednak żądanie przypomina próbę wykorzystania podatności, wstrzyknięcia złośliwego kodu czy automatycznego ataku, WAF może zatrzymać je, zanim trafi do aplikacji.

WAF jest jednym z elementów wielowarstwowego zabezpieczenia strony. Nie zastępuje aktualizacji oprogramowania, dobrych haseł, kopii zapasowych ani bezpiecznego kodu, ale może znacząco utrudnić wykorzystanie wielu popularnych podatności.

Jak działa WAF?

Załóżmy, że użytkownik otwiera stronę internetową. Jego przeglądarka wysyła żądanie do serwera. Jeżeli przed aplikacją działa WAF, żądanie jest najpierw analizowane przez system ochronny.

WAF może sprawdzić między innymi adres IP nadawcy, adres URL, parametry zapytania, nagłówki HTTP, dane przesyłane przez formularz, cookies oraz częstotliwość wysyłania kolejnych żądań.

Następnie porównuje ruch z zestawem reguł bezpieczeństwa. Jeżeli żądanie wygląda prawidłowo, zostaje przekazane do aplikacji. Jeżeli pasuje do wzorca ataku, WAF może je zablokować, zaraportować albo ograniczyć dostęp danego źródła. Dzięki temu część ataków można zatrzymać jeszcze przed uruchomieniem podatnego fragmentu aplikacji.

Przed jakimi atakami może chronić WAF?

Zakres ochrony zależy od konkretnego rozwiązania oraz skonfigurowanych reguł. WAF może pomagać w wykrywaniu i ograniczaniu między innymi:

  • SQL Injection – prób wstrzyknięcia poleceń SQL do aplikacji;
  • XSS – prób umieszczenia i wykonania złośliwego kodu skryptowego;
  • CSRF – w zależności od możliwości rozwiązania i sposobu zabezpieczenia aplikacji;
  • prób wykorzystania znanych podatności aplikacji internetowych;
  • automatycznych prób ataku wykonywanych przez boty;
  • części ataków typu brute force, szczególnie gdy WAF współpracuje z mechanizmami ograniczającymi liczbę żądań;
  • podejrzanych prób odwołania się do plików, katalogów lub parametrów aplikacji;
  • niektórych ataków na warstwę aplikacyjną, których celem jest przeciążenie serwisu.

Reguły stosowane przez WAF mogą odnosić się do popularnych klas podatności opisywanych między innymi przez OWASP.

Czym WAF różni się od zwykłego firewalla?

Firewall i WAF nie są tym samym zabezpieczeniem.

Klasyczny firewall kontroluje przede wszystkim komunikację sieciową. Może na przykład zezwalać na połączenia z określonym portem, blokować wskazane adresy IP albo ograniczać dostęp do wybranych usług serwera.

WAF rozumie natomiast kontekst aplikacji internetowej. Analizuje żądania HTTP i próbuje rozpoznać, czy ich zawartość może być niebezpieczna.

Można to porównać do ochrony budynku. Klasyczny firewall sprawdza, którymi drzwiami można wejść, natomiast WAF dodatkowo kontroluje, co osoba próbująca wejść wnosi do środka i jak się zachowuje. Oba mechanizmy mogą więc działać równocześnie i wzajemnie się uzupełniać.

WAF a SSL

Są to dwa zupełnie różne mechanizmy bezpieczeństwa.

Certyfikat SSL umożliwia korzystanie z szyfrowanego połączenia HTTPS. Chroni dane przesyłane pomiędzy przeglądarką użytkownika a serwerem przed łatwym podejrzeniem lub modyfikacją podczas transmisji.

WAF analizuje natomiast ruch pod kątem potencjalnie niebezpiecznych żądań. Samo szyfrowanie nie sprawia więc, że złośliwe żądanie przestaje być złośliwe. Atakujący również może wysłać próbę SQL Injection czy XSS przez HTTPS. Dlatego SSL i WAF pełnią różne role i powinny się uzupełniać.

WAF jest ważnym elementem infrastruktury bezpieczeństwa aplikacji internetowych, szczególnie dla firm i organizacji posiadających duże i ruchliwe witryny internetowe, które są narażone na ciągłe ataki sieciowe. Dzięki WAF, aplikacje internetowe mogą być lepiej zabezpieczone przed różnego rodzaju zagrożeniami, co przyczynia się do zwiększenia ich stabilności, dostępności oraz ochrony danych użytkowników.

FAQ – WAF

Nie. Żaden WAF nie zapewnia stuprocentowej ochrony. Jego skuteczność zależy od zastosowanych reguł, konfiguracji, rodzaju ataku i budowy aplikacji. WAF powinien być jednym z elementów wielowarstwowego zabezpieczenia strony.

Analiza ruchu wymaga dodatkowego przetwarzania, ale prawidłowo skonfigurowany WAF jest przygotowany do szybkiej obsługi żądań. Rzeczywisty wpływ na wydajność zależy od technologii, infrastruktury i liczby stosowanych reguł.

Tak. WAF może chronić aplikacje korzystające z HTTPS, jeżeli działa w miejscu infrastruktury, w którym możliwa jest analiza odszyfrowanych żądań HTTP.

Tak. Takie zdarzenie określa się jako false positive, czyli wynik fałszywie dodatni. Dlatego ważny jest dostęp do logów, statystyk oraz możliwość tworzenia wyjątków dla wybranych reguł.

Nie. WAF to rodzaj zabezpieczenia aplikacji internetowych, natomiast ModSecurity jest jednym z rozwiązań, które może realizować funkcję WAF.

WAF może zablokować część prób wykorzystania znanych podatności, ale nie zastępuje aktualizacji WordPressa, wtyczek ani motywów. Podatne oprogramowanie należy aktualizować lub usuwać niezależnie od zastosowania WAF.

WAF może pomagać w ograniczaniu części ataków DDoS działających na warstwie aplikacyjnej. Duże ataki wolumetryczne i sieciowe wymagają jednak dodatkowych mechanizmów ochrony infrastruktury.