Web Application Firewall – publikuj bezpiecznie!

luty 4, 2021, 08:27

Zarządzanie usługami dostępnymi publicznie w Internecie zwykle jest dla administratora podwójnym wyzwaniem, ponieważ musi on zadbać o bezpieczeństwo serwisu, np. witryny WEB, intranetu, etc. na dwóch płaszczyznach: w sieci lokalnej oraz w Internecie. Z jednej strony koncentruje się on na tym, aby zapewnić jego skuteczność i ciągłość działania, z drugiej natomiast prowadzi nierówną walkę z całym światem lub jego dużą częścią, która bezustannie usiłuje skompromitować taką usługę z poziomu Internetu. Ochrona tego typu zasobów jest szczególnie kłopotliwa i wymaga nietypowych środków. Rezydujące w strefie DMZ, serwery muszą mieć zdolność skutecznej samoobrony. W tym celu wyposaża się je w dedykowane systemy ochronne, instalowane zazwyczaj w ramach systemów operacyjnych. Wiąże się to z zakupem licencji, a zatem z systematycznymi kosztami – wciąż jednak nie dając zadowalającego efektu w postaci uniezależnienia systemów ochronnych od warstwy systemu operacyjnego.

Problem istnieje najczęściej dlatego, że administrator udostępnia usługi serwera WWW w Internecie pod publicznym adresem na typowych portach (np. 443, 80, 21, etc.) poprzez destination NAT (DNAT) na urządzeniu brzegowym, łączącym sieć lokalną organizacji z Internetem. Nieważne, czy urządzeniem tym jest operatorski router, czy wysokiej klasy firewall next generation – DNAT jako mechanizm zamienia jedynie adresy publiczne na prywatne, nie oferując proaktywnej ochrony w ramach istniejących sesji z Internetu do serwera. Część administratorów wie, choć z pewnością wielu o tym nie słyszało, że współczesne rozwiązania klasy firewall next generation mają wbudowany mechanizm nazwany Web Application Firewallem, który umożliwia publikację usług w Internecie w sposób, gdzie firewall uczestniczy proaktywnie w ochronie serwerów. Być może są tacy, którzy posiadają urządzenia z WAF-em już objętym licencją, ale albo o tym nie wiedzą, albo z jakiegoś powodu nie chcą go używać – prawdopodobnie z obawy o utratę ciągłości działania wskutek niewłaściwej konfiguracji. Niepotrzebnie!

Zasada działania tego mechanizmu jest prosta w swoich założeniach – firewall wyposażony w taką funkcję staje się pośrednikiem (proxy) w komunikacji pomiędzy klientem łączącym się z Internetu do serwera w strefie DMZ naszej organizacji. Największą zaletą takiego rozwiązania jest fakt, że atakujący nie naraża na kompromitację serwera w sposób bezpośredni – ofiarą ataku staje się w pierwszej kolejności firewall, który dba o to, by wykryte próby agresji udaremnić, odrzucając takie połączenie. Ochrona WAF zwykle (w zależności od producenta) opiera się na kilku mniejszych funkcjonalnościach, spośród których wyróżnić można na przykład:

  • skaner antymalware, sprawdzający transferowane do (lub z!) serwera dane pod kątem zawartości złośliwych aplikacji,

  • sondę wykrywającą ataki na podstawie znanych wzorców – najskuteczniejszą w przypadku ataków typu SQL injection, XSS (Cross-site scripting), itp., 

  • ochronę przed Cookie Poisoning,

  • kontrolę reputacji adresów IP próbujących nawiązać połączenie z serwerem,
  • możliwość weryfikacji wstępnej klienta (firewall umożliwi połączenie z serwerem dopiero po podaniu danych uwierzytelniających, co chroni słabiej zabezpieczone usługi).

Lista jest długa i producenci prześcigają się w prezentowaniu coraz ciekawszego podejścia do tego tematu. Jeden ze znanych graczy w tym segmencie umożliwia na przykład tzw. „URL hardening” – funkcjonalność, która dopuści do serwera WWW tylko tych, którzy użyją wyłącznie jednego (lub kilku), zatwierdzony do użytku URL (np. www.site.com/userlogin – próby dostania się do np. www.site.com/adminlogin będą już wówczas niemożliwe). Inny przykład to funkcjonalność weryfikacji formularzy, które użytkownik usiłujący się dostać do serwera musi wypełnić. Odpowiednio skonfigurowany WAF z taką opcją nie dopuści do serwera kogoś, kto manipuluje odpowiedziami w formularzu (np. poprzez akceptowanie wyłącznie spodziewanych, realnych, uprzednio zdefiniowanych odpowiedzi). Mnogość opcji pozwala zabezpieczyć nawet najbardziej podatne usługi i pytaniem zasadniczym nie jest tutaj: „czy warto stosować WAF?” – lecz: „Kiedy najszybciej mogę go zastosować w swoim środowisku i jak zrobić to w najlepszy możliwy sposób?”.

KG