Web Application Firewall - potrzeba, rozwiązania, kryteria ewaluacji a.klesnicki@gmail.com
Potrzeba 75% udanych ataków z Internetu wykorzystuje dziury w aplikacja webowych
Rozwiązania Jak możemy się chronić? Pisać bezpieczne aplikacje Łatać na bieżąco elementy systemu Monitorować system i wykonywane transakcję. WAF Web Application Firewall
Firewall aplikacyjny Firewall warstwy 8 i powyżej Odwzorowanie logiki zgodność z protokołem (RFC) Ochrona przed znanymi atakami (sygnatury) Korelacje
Modele bezpieczeństwa Pozytywny Akceptowanie tylko bezpiecznego ruchu Odrzucanie reszty Negatywny Odrzucanie niebezpiecznego ruchu Akceptowanie reszty YingYang Zaakceptuj bezpieczny ruch (zgodny z logiką) Po czym z zaakceptowanego odrzuć to co może być dodatkowo podejrzane
Ewaluacja Ewaluacja badanie wartości albo cech Jakie rozwiązania wybrać? Darmowe Mod_security Rozwiązania komercyjne: Breach Security, Citrix Systems, F5 Networks, Imperva, NetContinuum Protegrity
Architektura wdrożenia Model pracy Oprogramowanie / Plugin do web serwera Bridge Router Revers Proxy SSL Terminowanie SSL Pasywne deszyfrowanie SSL Brak obsługi SSL
Architektura wdrożenia Blokowanie ruchu Rst Drop Error page (unikalne ID) Blokowanie na innym urządzeniu Blokowanie czasowe Adresów IP Sesji Użytkownika (rozpoznanie?)
Architektura wdrożenia Rodzaj rozwiązania Pudełko Oprogramowanie HA Fail open, fail close Architektura wieloagentowa (max agentów) Czasy przełącznia Synchronizacja stanów, czy dla SSL również Dopuszczalne odległości, opóźnienia HA dla systemu zarządzania Obsługa STP
Architektura wdrożenia Obsługa wirtualizacji Vhost Vlan Przepisywanie zapytań i odpowiedzi serwera Caching Kompresja Obsługa innego niż HTTP ruchu
Wsparcie protokołów Wsparcie i blokowanie różnych protokołów Różne typy kodowania Obsługa i blokowanie metod Walidowanie niezgodności z RFC Walidowanie podwójnego kodowania, bądź niezgodnego kodowania. Walidacja długości zapytań
Wsparcie protokołów Walidacja mapy strony Sprawdzanie zapytań (urli, parametrów) Przejść pomiędzy urlami Obsługa transferu plików POST/PUT Ograniczanie wielkości, ilości Skanowanie plików Analiza treści odpowiedzi serwera (pod kątem zawartości nieprawidłowej)
Techniki wykrywania Normalizacja Negatywny model Sygnatury (automatyczne, ręczne) Zależności logiczne Poztywyny model Uczenie Wprowadzenie ręczne Własne API rozszerzenia?
Ochrona przed atakami Brute Force Atakami na ciasteczka Atakami na sesję Atakami na parametry Atakami na flow
Ochrona przed atakami Próba wywołania strony z poza mapy Wywołania zasobów aplikacji bez lokalnych referentów Próby zgadnięcia podstron / parametrów Manipulacja parametrów w zakresie zawartości i długości Przejmowanie sesji, manipulacja sesjami Przepełnienia buforów Ominięcia autoryzacji Wstrzykiwania złośliwego kodu SQL, rozkazów systemowych itp. Atakami Cross site scripting Wykorzystywania podatności systemów operacyjnych Wykorzystywania podatności serwerów WWW Manipulacja metodami HTML Wykorzystania zabronionych metod HTML Manipulacja nagłówkami HTML Zalew aplikacji informacjami
Logowanie Nadawanie ID Zabezpieczenie przed fałszowaniem Eksportowalność logów Powiadamianie Logowanie transakcji Retencja logów Obsługa wrażliwych danych
Raportowanie Zakres raportów Dostępność widoków Raporty zgodności Format raportów Dystrybucja raportów
Zarządzanie Rozdzielenie logiki aplikacji o polityki bezpieczeństwa (z relacją wiele do wielu) Łatwy mechanizm cofania zmian Wersjonowanie, różnicowanie zmian w systemie. Niskopoziomowy dostęp do konfiguracji Role dostępu do systemu Automatyczne aktualizowanie profilów, polityk, sygnatur. Bezpieczeństwo dostępu do urządzenia
Wydajność Ilość połączeń na sekundę Maksymalna przepustowość (dla stałej wielkości żadania odpowiedzi 32 KB) Maksymalna ilość równoległych połączeń Opóźnienia Czy obciążenie wpływa na jakość zarządzania.
Pytania? Dziękuję