poniedziałek, 9 lutego 2009

WAFEC V1.0 vs WAFC V2.0.1

Kontynuując miesiąc Web Application Firewall na tapecie miałem "Web Application Firewall Certification Criteria" by ICSA Labs - w wersji 2.0.1. Co ciekawe dokument nie nazywa się WAFC^2 tylko WAFC. Szczegół :)

Przechodząc do meritum, WAFC opisuje jakie wymagania stawiane są WAF'om aby mogły uzyskać certyfikat by ICSA. W kolejnych rodziałach weryfikowana jest:
- Documentation - IMHO bardzo fajny rozdział, czym jest "szarego bezpiecznika" jest rozwiązanie/produkt bez dobrej dokumentacji? (kiedyś może za to oberwę na ulicy, ale miałem na myśli inżyniera, który specjalnie nie wnika co i dlaczego tylko wykonuje polecenia/zalecenia z "User Guide"). Jak ktoś potrzebuje rozpoznać coś na "sucho" to dobrze napisana dokumentacja może dać całkiem fajny pogląd na to co "na pewno" można. Dlaczego "na pewno" ? Bo to co w dokumentacji nie zawsze idzie w parze z praktyką.
- Platform Security - ogólny spis wymagań co do bezpieczeństwa platformy, na której stoi WAF. Fajne z uwagi na wymaganą rozliczalność, uwierzytelnienie administratorów czy wymaganie związane z zachowaniem integralności polityk bezpieczeństwa przy jednoczesnej pracy dwóch adminów nad konfiguracją. Dodatkowo wymagania co do zdalnego dostępu pokrywające się częściowo z WAFEC. Na chwilkę zatrzymałbym się przy tym punkcie. WAFC stawia wymagania platfomie, aby nie zawierała aplikacji w wersjach z ogólnie znanymi podatnościami, czy też nie była podatna na proste ataki typu DoS. Dodatkowo konfiguracja platformy, polityki bezpieczeństwa, logi, ustawienia czasu i daty powinny być odporne na zaniki napięcia czy restarty. Niby takie oczywiste, ale jak jest zapisane to robi się od razu lepiej.
- Functional Security - w tej części dokumentu autorzy skupili się na możliwościach samego WAFa. Pragną zapewnienia odporności na popularne ataki jak "Buffer overflow / code injection" czy "Cross Site Scripting". Życzą sobie obsługi różnych modeli bezpieczeństwa: Negative i Positive, możliwości normalizacji i przepisywania URLi, a także trybu nauczania, o którym coś więcej innym razem. W sporej części widać tutaj pokrycie z WAFECiem. Co wbudza moje obawy to fakt, że wymagania są bardzo ogólne. "Ma być normalizacja URL" - nie uwierzę jak nie zobaczę co autor miał na myśli.
Już w WAFTP V1.0 było więcej informacji na ten temat. Mimo braku szczegółów znajduje się tutaj wymaganie, które mnie akurat bardzo się podoba. Lubię kiedy dany proces jest uporządkowany, mam rozliczalność, wiem kiedy, kto, co i dlaczego. Dlatego urzekły mnie wymagania związane z zapewnieniem wprowadzania zmian w konfiguracji polityk bezpieczeństwa: edytowanie czy powrót do poprzedniej wersji to coś bardzo przydatnego w utrzymaniu WAFa. Kto się o tym jeszcze nie przekonał na pewno będzie miał jeszcze okazję. Kolejnym mocnym punktem (ale znów bardzo ogólnym!) jest wymaganie związane z zapewnieniem możliwości konfiguracji ustawień protokołu HTTP: typy/metody encodingu, walidacja protokołu, długość nagłówków, etc. W tym fragmencie osiągnięto niemal 100% pokrycie z WAFECiem. Nareszcie! ;) Ludzi zaczynający rozpoznawanie tematu WAFów ciekawi jak to rozwiązanie poradzi sobie z HTTPSem. Otóż dobrze lub doskonale ;) Zależy od tego jak go użyjemy. Odpowiedni punkt "HF5 - SSL Support" mówi o tym co powinien WAF potrafić robić z SSLem, chyba, że jest on integralnym elementem serwera WWW.
- Logging - całkiem sporo szczególików, co, gdzie, jak... a ja zaczynam się śmiać... Dlaczego? Dlaczego?!?!? Dlaczego po raz kolejny nie widzę wymagania co do logowania parametrów przekazywanych inaczej niż w URLu?! Czy metodą POST/HYDYZ/TEST/ABRAKADABRA lub w nagłówku HTTP nie można zaatakować? Pewnie nie ;-)

Dokument kończy się ponad 2 stronicowym słownikiem pojęć. Ogólnie wygląda lepiej do wcześniej analizowanego WAFTP, choć nie wiele. Nadal jestem za opcją: zakreślić w WAFEC co istotne + elementy WAFTP/WAFC + przemyślenia. Wtedy można zacznąć oceniać czy dany Web Application Firewall spełnia stawiane przed nim oczekiwania.

Na koniec porównania WAFTP i WAFC z WAFEC mały obrazek. Strona tytułowa WAFECa, a na niej zaznaczone pokrycie pozostałych dokumentów. (Sorry za jakość, ale po 2 w nocy chyba nie mam ochoty wyciągać palić lepszego światła ;))



+ zielony: Web Application Firewall Testing Procedure by NSS Labs
+ pomarańczowy: Web Application Firewall Certification Criteria by ICSA Labs

0 komentarze: