ModSecurity – co to jest i jak działa?

Karolina Nowak
24 lutego 2025
9 minut czytania

Jak zwiększyć bezpieczeństwo strony firmowej i aplikacji webowych - tak, aby skutecznie radziły sobie np. z atakami SQL injection, phishingiem czy botami? Jednym z rozwiązań jest ModSecurity. Co to jest? Jak działają reguły ModSecurity? Jak włączyć to narzędzie? Wyjaśniamy.

Co to jest ModSecurity?

ModSecurity to otwarto źródłowy, wieloplatformowy firewall aplikacji webowych (WAF), który działa jako dodatkowa warstwa ochronna dla Twojej witryny internetowej. Zapewnia zwiększoną widoczność ruchu HTTP i zaawansowane mechanizmy ochronne.

Narzędzie to zostało stworzone w 2002 roku, początkowo jako moduł dla serwerów Apache. Jednak z czasem jego funkcjonalność została rozszerzona na inne popularne serwery, takie jak NGINX czy Microsoft IIS. Obecnie ModSecurity jest jednym z najpopularniejszych na świecie rozwiązań typu WAF, wykorzystywanym przez miliony witryn internetowych na całym globie.

ModSecurity może działać w dwóch trybach: detekcji (tylko logowanie podejrzanych działań) oraz prewencji (aktywne blokowanie wykrytych ataków)

To narzędzie może być zintegrowane bezpośrednio z serwerem WWW lub działać jako dedykowany serwer proxy.

Jak działa ModSecurity?

ModSecurity działa na zasadzie analizy i filtrowania ruchu HTTP na różnych etapach komunikacji między użytkownikiem a serwerem. Cały proces można podzielić na kilka etapów.

1.

Przechwytywanie ruchu HTTP – ModSecurity monitoruje wszystkie zapytania HTTP kierowane do serwera oraz odpowiedzi wysyłane z powrotem do użytkownika.

2.

Łączenie w transakcje – zapytania i odpowiedzi są grupowane w transakcje, co pozwala na całościową analizę komunikacji.

3.

Analiza na podstawie reguł – każda transakcja jest analizowana pod kątem zgodności z predefiniowanymi regułami bezpieczeństwa.

4.

Podejmowanie działań – w zależności od wyników analizy, ModSecurity może przepuścić, zablokować lub zmodyfikować ruch.

5.

Logowanie – wszystkie zdarzenia są rejestrowane, co pozwala na późniejszą analizę i dostosowanie reguł.

Reguły ModSecurity

Sercem działania ModSecurity są reguły. Określają one, co jest uznawane za potencjalne zagrożenie. Są w języku skryptowym i mogą być bardzo proste lub niezwykle złożone, w zależności od potrzeb.

Typowa reguła ModSecurity ma następującą składnię:

SecRule OBSZAR_ANALIZY OPERATOR "TRANSFORMACJE,AKCJE"

I tak:

  • OBSZAR_ANALIZY określa, co ma być analizowane (np. nagłówki zapytania, parametry URL etc.);
  • OPERATOR definiuje warunek dopasowania (np. wyrażenie regularne);
  • TRANSFORMACJE to opcjonalne operacje normalizujące dane przed analizą;
  • AKCJE określają, co zrobić w przypadku dopasowania reguły (np. zablokować, zalogować).

Poniżej przedstawiamy definicję jednej z reguł:

SecRule REQUEST_COOKIES|!REQUEST_COOKIES:/__utm/|REQUEST_COOKIES_NAMES|ARGS_NAMES|ARGS|XML:/* "@rx [\r\n]\W*?(?:content-(?:type|length)|set-cookie|location):\s*\w" \

"id:921120,\

phase:2,\

block,\

capture,\

t:none,t:lowercase,\

msg:'HTTP Response Splitting Attack',\

logdata:'Matched Data: %{TX.0} found within %{MATCHED_VAR_NAME}: %{MATCHED_VAR}',\

tag:'application-multi',\

tag:'language-multi',\

tag:'platform-multi',\

tag:'attack-protocol',\

tag:'paranoia-level/1',\

tag:'OWASP_CRS',\

tag:'capec/1000/210/272/220/34',\

ver:'OWASP_CRS/4.10.0',\

severity:'CRITICAL',\

setvar:'tx.http_violation_score=+%{tx.critical_anomaly_score}',\

setvar:'tx.inbound_anomaly_score_pl1=+%{tx.critical_anomaly_score}'"

ModSecurity Core Rule Set

Tworzenie reguł ModSecurity od podstaw byłoby niezwykle czasochłonne. Dlatego większość użytkowników korzysta z ich gotowych zestawów. Najważniejszym z nich jest OWASP ModSecurity Core Rule Set (CRS), opracowany przez Open Web Application Security Project.

OWASP CRS to kompleksowy zestaw reguł zapewniających ochronę przed najczęstszymi zagrożeniami dla aplikacji webowych. Jest regularnie aktualizowany w odpowiedzi na nowe rodzaje ataków i dostosowywany do zmieniającego się krajobrazu cyberzagrożeń.

Warto podkreślić, że OWASP CRS działa w oparciu o mechanizm punktacji zagrożeń. Oznacza to, że każde podejrzane działanie otrzymuje pewną liczbę punktów, a gdy suma przekroczy ustalony próg, jest podejmowana akcja (np. blokowanie). To pozwala na zrównoważenie między skuteczną ochroną a ograniczenie do minimum fałszywych alarmów.

Przed czym chroni ModSecurity?

ModSecurity zapewnia ochronę przed szerokim spektrum zagrożeń, które mogą zagrozić witrynie internetowej. Oto najważniejsze z nich.

SQL Injection

Ataki SQL Injection polegają na wstrzykiwaniu złośliwego kodu do zapytań kierowanych do bazy danych. ModSecurity wykrywa podejrzane wzorce w parametrach zapytań i blokuje je, zanim dotrą do celu. Chroni to przed wyciekiem danych oraz ich modyfikacją lub usunięciem z bazy.

Cross-Site Scripting (XSS)

XSS to sytuacja, w której atakujący wstrzykuje złośliwy kod JavaScript na stronę – tak, aby następnie wykonywał się on w przeglądarkach użytkowników. ModSecurity identyfikuje i blokuje próby wstrzyknięcia takiego kodu. Tym samym zabezpiecza m.in. przed phishingiem czy infekcjami złośliwym oprogramowaniem.

Path Traversal

ModSecurity wykrywa próby manipulacji ścieżkami URL, które mogłyby prowadzić do nieautoryzowanego dostępu do plików konfiguracyjnych, haseł czy innych wrażliwych danych.

Ataki HTTP Protocol

ModSecurity monitoruje zgodność ruchu z protokołem HTTP i blokuje podejrzane zapytania, które próbują wykorzystać luki w implementacji protokołu. Obejmuje to ochronę przed HTTP Response Splitting czy Request Smuggling.

Ataki botów i skanery luk

Automatyczne skanery i boty często próbują znaleźć luki w zabezpieczeniach witryny. ModSecurity identyfikuje takie działania i może je blokować.

Ataki Denial of Service (DoS)

ModSecurity może pomóc w ochronie przed atakami DoS na poziomie aplikacji: wykryje i zablokuje anomalie w ruchu, które mogłyby wskazywać na próbę przeciążenia serwera.

Ataki phishingowe

ModSecurity jest w stanie wykrywać próby phishingu, które mogłyby wprowadzać w błąd użytkowników Twojej witryny.

Dlaczego warto korzystać z ModSecurity w hostingu

Implementacja ModSecurity w środowisku hostingowym przynosi liczne korzyści.

Ochrona bez modyfikacji kodu

ModSecurity działa na poziomie serwera. To oznacza, że chroni aplikacje bez konieczności wprowadzania zmian w ich kodzie. Jest to szczególnie cenne w przypadku korzystania z gotowych rozwiązań CMS, jak WordPress czy Joomla - wówczas modyfikacja kodu źródłowego może być problematyczna.

Czy wiesz, że… NQ.pl zapewnia dedykowany hosting dla WordPress LiteSpeed ze wsparciem http/3 i QUIC?

Elastyczna konfiguracja

ModSecurity zapewnia wysoki poziom elastyczności – można włączać i wyłączać poszczególne reguły, dostosowywać ich czułość, a nawet tworzyć własne reguły dostosowane do specyficznych potrzeb aplikacji.

Aktualizacje zabezpieczeń

Gdy korzystasz z ModSecurity, zwłaszcza w połączeniu z OWASP CRS, otrzymujesz regularne aktualizacje reguł bezpieczeństwa. Chronią one przed najnowszymi zagrożeniami – bez konieczności samodzielnego śledzenia nowych typów ataków.

Jak włączyć ModSecurity?

Włączenie ModSecurity w środowisku hostingowym jest zazwyczaj prostym procesem, choć szczegóły mogą się różnić w zależności od dostawcy hostingu i używanego panelu administracyjnego. Najczęściej można to zrobić  przez panel lub poprzez plik .htaccess.

Jeśli Twój hosting umożliwia modyfikację pliku .htaccess, możesz włączyć ModSecurity, dodając do niego następujący kod:

<IfModule mod_security.c>

  SecFilterEngine On

  SecFilterScanPOST On

</IfModule>

ModSecurity w hostingu NQ.pl

Rozumiemy, jak ważne jest bezpieczeństwo Twojej strony internetowej i danych klientów. Dlatego wszystkie nasze pakiety hostingowe zawierają bezpłatny dostęp do ModSecurity z pełnym zestawem reguł OWASP CRS. Zapoznaj się z dostępnymi rozwiązaniami!