3. 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
4. Firewall aplikacyjny
• Firewall warstwy 8 i powyżej
– Odwzorowanie logiki
– zgodność z protokołem (RFC)
• Ochrona przed znanymi atakami
(sygnatury)
• Korelacje
5. 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
6. 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
7. Architektura wdrożenia
• Model pracy
– Oprogramowanie / Plugin do web serwera
– Bridge
– Router
– Revers Proxy
• SSL
– Terminowanie SSL
– Pasywne deszyfrowanie SSL
– Brak obsługi SSL
8. 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?)
9. 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
10. Architektura wdrożenia
• Obsługa wirtualizacji
• Vhost
• Vlan
• Przepisywanie zapytań i odpowiedzi
serwera
• Caching
• Kompresja
• Obsługa innego niż HTTP ruchu
11. 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ń
12. 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)
13. Techniki wykrywania
• Normalizacja
• Negatywny model
– Sygnatury (automatyczne, ręczne)
– Zależności logiczne
• Poztywyny model
– Uczenie
– Wprowadzenie ręczne
• Własne API – rozszerzenia?
14. Ochrona przed atakami
• Brute Force
• Atakami na ciasteczka
• Atakami na sesję
• Atakami na parametry
• Atakami na flow
15. 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
16. Logowanie
• Nadawanie ID
• Zabezpieczenie przed fałszowaniem
• Eksportowalność logów
• Powiadamianie
• Logowanie transakcji
• Retencja logów
• Obsługa wrażliwych danych
18. 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
19. 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.