Web Application Firewall – ochrona czy kłopot?

Nauka i reguły

Samo włączenie firewalla webowego na niewiele się zda bez implementacji w nim odpowiedniego zestawu reguł. Włączenie zbyt rygorystycznego, a przede wszystkim niedopasowanego zestawu reguł może spowodować za to nieprawidłowe działanie aplikacji. W praktyce proces integracji środowiska z systemem WAF jest dość pracochłonny.

Większość krytyki rozwiązań WAF jest spowodowana właśnie niepowodzeniami podczas tego procesu, który ze względu na czasochłonność oraz poziom skomplikowania – w przypadku dużych aplikacji – jest kluczowy dla powodzenia integracji.

Warto zacząć go od włączenia WAF w trybie obserwacji ruchu. W zamkniętym środowisku wykonamy wtedy wszelkie dozwolone akcje w aplikacji zgodnie ze scenariuszem testowym. Na podstawie zalogowanych informacji możemy stworzyć wyjściową listę reguł, która będzie bazować na „normalnych” z punktu widzenia aplikacji działaniach. Jest to metoda tworzenia reguł pozytywnych (postivie security). Następnie możemy włączyć tryb blokowania w WAF i zaobserwować, czy nie ma on wpływu na działanie aplikacji.

Kolejnym krokiem jest uruchomienie reguł negatywnych dla typowych ataków sieciowych. Reguły takie są dostarczane przez twórców oprogramowania i społeczność. Zderzenie tych reguł z aplikacją nieraz powoduje jej zupełne unieruchomienie. Podobnie jak przy tworzeniu zestawu bazowego, należy na podstawie logów z aplikacji zweryfikować, które żądania powodują blokowanie i podjąć decyzję o modyfikacji oprogramowania albo samej reguły, jeśli mamy podejrzenie, że uruchamia się niepotrzebnie (tzw. wskazanie false positive). Liczba fałszywych alarmów może być w początkowej fazie integracji z WAF naprawdę duża. Nie należy się tym zrażać, tylko małymi krokami dążyć do celu.

Język reguł jest także bardzo dobrym narzędziem do tworzenia tzw. wirtualnych patchy. Czas wymagany na wytworzenie i zaaplikowanie poprawek do aplikacji webowych może być bardzo długi. Odpowiednio skonfigurowane reguły mogą ukryć podatność aplikacji bez konieczności wprowadzania jakichkolwiek zmian do jej kodu.

Praca nad regułami to proces ciągły

Przy tworzeniu i modyfikacji reguł firewalla webowego nie obejdziemy się bez współpracy z twórcami oprogramowania. Bez odpowiedniej znajomości samej aplikacji trudno będzie ocenić wpływ potencjalnych zagrożeń identyfikowanych przez WAF, a także zaplanować zmiany w kodzie. Zakładając, że aplikacje webowe są obecnie bardzo szybko rozwijane, trzeba przyjąć, że kontakt z developerami będzie bardzo częsty.

Reguły mogą być definiowane za pomocą specyficznej składni używanej w konkretnym rozwiązaniu WAF. Część rozwiązań pozwala także na nieco wygodniejszą ich edycję za pomocą interfejsu graficznego. Nowe reguły lub wyjątki od nich można tworzyć na przykład na bazie zebranych logów aplikacji, co jest bardzo wygodnym rozwiązaniem w początkowym procesie konfiguracji reguł.

Dodatkowym ułatwieniem w opracowywaniu reguł z możliwością tłumaczenia ich między różnymi standardami jest narzędzie NTODefend. Stworzymy w nim reguły dla urządzeń Impreva, Baracudy, F5, a także dla modułu ModSecurity.

Podsumowanie

Każde nadrzędzie jest na tyle dobre, na ile potrafimy efektywnie z niego korzystać. Dobrze zarządzany Web Application Firewall po zasileniu odpowiednią bazą sygnatur i reguł może być bardzo przydatny w eliminowaniu zagrożeń dla aplikacji webowych. W zależności od potrzeb i możliwości możemy zastosować rozwiązanie darmowe lub komercyjne (appliance, wirtualne albo nawet w chmurze). W większości przypadków typowych stron czy systemów CMS wiele pomoże już dobrze skonfigurowany moduł ModSecurity dla Apache. Firmy, których działanie oparte jest na bezpiecznie działających systemach handlu, transakcji, których witryny odwiedzane są przez wielu użytkowników docenią dedykowane urządzenia appliance. Oprócz funkcji zabezpieczeń mają one także dodatkowe funkcjonalności podnoszące wydajność aplikacji webowych. Odpowiadając na tytułowe pytanie – Web Application Firewall to z pewnością ochrona, ale tylko w sytuacji, gdy do jego wdrożenia odpowiednio się przygotowaliśmy.

Bazowa lista reguł OWASP dla ModSecurity

Dla firewalla ModSecurity dostępna jest za darmo lista reguł OWASP Core Rule Set, która zapewnia zabezpieczenie przez nieznanymi lukami. Wykorzystują one następujące techniki:

• Ochrona HTTP – wykrywanie nadużyć w protokole HTTP i lokalnie zdefiniowanych regułach jego używania

• Weryfikacja na żywo reputacji adresów IP klientów na podstawie dostępnych blacklist

• Wykrywanie bazującego na usługach webowych malware na podstawie np. na Google Safe Browsing API.

• Ochrona przed atakami HTTP Denial of Service w odmianach HTTP Flooding oraz Slow HTTP.

• Ochrona przed typowymi atakami webowymi np. SQL Injection

• Wykrywanie zachowań automatycznych, np. botów, skanerów i innych tego typu aktywności

• Integracja z rozwiązaniami antywirusowymi przy uploadowaniu plików na serwer przez aplikację webową

• Śledzenie wykorzystywania poufnych danych – np. numerów kart kredytowych

• Wykrywanie dostępu przez konie trojańskie

• Wykrywanie defektów i błędów konfiguracyjnych aplikacji

• Wykrywanie błędów aplikacji i ukrywanie informacji o błędach przed klientem


TOP 200