Portale pod ochroną WAF

W Networld 12/2011 pisaliśmy o firewallach aplikacyjnych, teraz pora spojrzeć na inne rozwiązania, które chronią konkretny rodzaj aplikacji - aplikacje webowe, czyli te, które dostępne są najczęściej z poziomu przeglądarki internetowej. Chodzi o rozwiązania typu Web Application Firewall (WAF).

Typowym zastosowaniem technologii WAF jest ochrona portali, które służą bezpośrednio lub pośrednio zarabianiu pieniędzy - takich jak portale e-banking lub e-commerce. Jak wyliczył instytut Ponemon, koszt utraty jednego rekordu informacji to ok. 197 USD. Badania, które prowadził, odnosiły się, co prawda, do rynku amerykańskiego, ale dają pewien pogląd na sprawę. Co gorsza, według badań WhiteHat Security, większość stron internetowych w 2010 r. była podatna (przez cały rok) na co najmniej jedną, poważną podatność - oznaczaną jako "Critical", "High" lub "Urgent". Tylko 30% przebadanych witryn było podatne przez okres krótszy niż 30 dni. Jedną z rekomendacji WhiteHat Security prowadzących do poprawienia stanu bezpieczeństwa (oprócz np. modyfikacji kodu, aktualizacji aplikacji) jest korzystanie z narzędzi klasy WAF. W dalszej części spróbujemy wyjaśnić, co to takiego.

Polecamy NGFW - firewalle następnej generacji

Czym jest WAF?

Dlaczego WAF?

Jakie czynniki skłaniają organizacje do zakupu rozwiązań WAF. Zawsze kilka argumentów się powtarza. Jednym z najbardziej oczywistych czynników jest ustrzeżenie się przed niedostępnością lub uszkodzeniem aplikacji będących albo głównym, albo dodatkowym źródłem dochodu. Druga sprawa, to zapewnienie dodatkowego wsparcia, które oprócz cyklicznych przeglądów kodu pomogłoby ustrzec się przed coraz bardziej wyszukanymi (ale często też trywialnymi) atakami. No i wreszcie, gdy rozmawia się z firmami, często słyszy się, że niezwykle istotnym czynnikiem dokonania tej inwestycji jest chęć spełnienia wielu wymogów wypływających z wewnętrznych czy zewnętrznych regulacji, czyli znienawidzony przez wielu "compliance’u". Tutaj najważniejsze jest pokazanie odpowiedniego "glejtu" potwierdzającego zgodność.

Słysząc o kolejnym typie firewalli, nasuwa się co najmniej kilka pytań. Pierwsze dotyczy różnicy pomiędzy zaporą aplikacyjną a zaporą dla aplikacji webowych. Podstawowy wyróżnik to realizowany cel. Zapory aplikacyjne zostały stworzone jako rozwinięcie tradycyjnych firewalli, tj. ich głównym zadaniem jest ochrona styków sieci (z internetem, wewnątrzkorporacyjnych). Dorzucono do nich mechanizmy rozpoznawania aplikacji poprzez dekodowanie pakietów w warstwie 7. i kontroli dostępu użytkowników do konkretnych aplikacji, ale w dalszym ciągu są to "zwykłe" firewalle. Z kolei WAF został pomyślany jako odpowiedź na ataki skierowane przeciwko aplikacjom webowym. Koncentruje się zatem na ochronie serwerów webowych poprzez szczegółową analizę ruchu w warstwie 7.

I tutaj pojawia się kolejne pytanie: jaka to różnica w stosunku do tego, co robi IPS? Można powiedzieć, że WAF to rodzaj specjalizowanego IPS-a przeznaczonego tylko i wyłącznie do analizy aplikacji webowych - potrafi właściwie przeanalizować chociażby metody http, takie jak GET czy POST. Odpowiedzi na pytanie o to, czym jest WAF, można również szukać w materiałach informacyjnych (Information Supplement: Payment Card Industry Data Security Standard - PCI DSS - Requirement 6.6 Code Reviews and Application Firewalls) publikowanych przez organizację PCI Security Standards Council. Według nich, WAF to rozwiązanie, które musi przede wszystkim:

• Zapewniać ochronę przed zagrożeniami publikowanymi na liście TOP 10 przez OWASP.

• Budować zasady polityki zachowań dla danych wejściowych i odpowiedzi (blokowania/zezwalania/alertowania) oparte na modelach białych i czarnych list.

• Chronić przed wyciekiem danych.

• Poddawać inspekcji zarówno zawartość serwisu poprzez analizę np. HTML, DHTML czy styli CSS, jak i protokoły, które służą do jej dostarczenia, np. HTTP, HTTPS (SSL i TLS).

• Poddawać kontroli "web serwisy", jeżeli wystawione są do internetu (np. SOAP, XML).

• Potrafić chronić siebie.

• Terminować lub deszyfrować ruch SSL (lub mieć dostęp do ruchu odszyfrowanego).

• Zapewniać mechanizmy fail-open lub fail-close.