Portale pod ochroną WAF
- Patryk Królikowski,
- 30.05.2012, godz. 09:00
Funkcjonalności WAF
Wdrożenie WAF może okazać się dość czasochłonne. Prawidłowe dostrojenie WAF-a wymaga dobrej znajomości zarówno technologii budowy aplikacji webowych, jak i ich architektury. Zdarza się, że w działach bezpieczeństwa albo brakuje kompetencji, albo zespół utrzymania aplikacji niezbyt chętnie współpracuje, bojąc się, że "bezpieka" ujawni popełnione błędy.
Żadne narzędzie nie zastąpi woli wspólnego rozwiązania problemu, ale może choć odrobinę usprawnić proces implementacji poprzez dostarczenie mechanizmów nauki. Jest to szczególnie przydatne w pierwszej fazie, kiedy rozwiązanie może samo nauczyć się naszej infrastruktury - rozpoznawać serwery webowe, dostępne usługi i wreszcie pokazać mapę aplikacji.
Jeżeli WAF jest podatny, poniższe zapytanie
/?id=1+un/**/ion+sel/**/ect+1,2,3--
zostanie przekształcone na:
SELECT * from table where id =1 union select 1,2,3--
Źródło: Dmitri Evteev
Rekonesans to tylko fragment. Wspomnieliśmy już o możliwościach weryfikacji zgodności protokołów czy rozumieniu elementów aplikacji. Kolejny etap to normalizacja - czyli przede wszystkim zdekodowanie tego, co zostało podane w URL-u. Chodzi tutaj o wykrycie np. tzw. escape characters czy innych technik ukrywania (prostym przykładem może być zastosowanie kodów ASCII zamiast właściwych znaków). Niedopracowany mechanizm normalizacji może zostać oszukany.
Ważne jest również, aby WAF radził sobie nie tylko z HTML, ale i z innymi standardami, takimi jak PHP, JavaScript, Flash, AJAX.