Co to jest ModSecurity? Jak działa w praktyce na hostingu? Włączanie, wyłączanie, konfiguracja i reguły. Kompletny poradnik.
Spis treściCzym jest ModSecurity i w jaki sposób można zastosować go na Twojej stronie internetowej? Dzięki niemu zapewnisz swojemu serwisowi większe bezpieczeństwo. W tym artykule znajdziesz wszystkie informacje na temat przebiegu konfiguracji ModSecurity.
Z pewnością nikogo nie trzeba przekonywać do tego, że bezpieczeństwo aplikacji webowej czy strony WWW jest kwestią kluczową. ModSecurity to natomiast rozwiązanie, które pozwala na wzmożoną ochronę dowolnego miejsca w sieci. Dzięki niemu być może uda Ci się uniknąć ataku internetowych oszustów i wycieku poufnych danych użytkowników. Co więcej, dostępne jest w formie, z której możesz swobodnie korzystać, niezależnie od charakteru swojej działalności.
ModSecurity służy nie tylko do blokowania ataków potencjalnych oszustów. Umożliwia wprowadzanie wszelkich poprawek i „łatania dziur” w używanym oprogramowaniu. Wykorzystasz go na wiele rozmaitych sposobów, za co wdzięczni będą użytkownicy odwiedzający Twoje strony internetowe. Jak jednak skorzystać z tego rozwiązania? Z tego artykułu dowiesz się, jak działa ModSecurity i poznasz sposoby na korzystanie z niego.
Co to jest ModSecurity?
ModSecurity jest jednym z elementów specjalnego oprogramowania Web Application Firewall (WAF). To rozwiązanie Open Source, służące do ochrony aplikacji webowych, korzystających z połączenia sieciowego. Możesz używać go całkowicie bezpłatnie i dowolnie modyfikować jego reguły tak, by pasowały do danego zapytania. W ten sposób jesteś w stanie zabezpieczyć swoją stronę internetową przed szkodliwymi działaniami z zewnątrz.
ModSecurity powstało z uwagi na dynamicznie rozwijające się technologie internetowe i rozwiązania informatyczne. Wraz z szybko postępującymi zmianami pojawiło się w internecie wiele zagrożeń. Przede wszystkim narażone na nie stały się aplikacje wrażliwe na coraz to nowe typy problemów i ataków internetowych oszustów. Brak obsługi błędów czy ryzyko utraty bezpieczeństwa danych stały się (i ciągle stają) coraz bardziej problematyczne. Konieczne było więc stworzenie oprogramowania „łatającego dziury” i niwelującego zagrożenia.
W efekcie tych działań powstał ModSecurity, możliwy do wdrożenia w dowolnej aplikacji webowej. Działa na zasadzie łatwych do stworzenia filtrów (tzw. reguły), indywidualnie stworzonych dla danego rozwiązania. Jednocześnie zapewnia również podstawowe reguły, chroniące przed najczęściej występującymi problemami i zagrożeniami. Współpracuje z najpopularniejszymi protokołami (takimi jak np. reserve proxy), działając niczym zapora odpowiadająca za blokowanie wszelkich podejrzanych działań w obrębie serwera.
Opisywane oprogramowanie powstało z myślą o integracji z serwerem Apache. Obecnie natomiast jest wykorzystywane powszechnie również na silnikach LiteSpeed, NGINX i IIS. Obsługuje wewnętrzny język, przy użyciu którego użytkownicy mogą wprowadzać do niego własne reguły. Wdrażanie podstawowych z nich odbywa się automatycznie. Pozostałe możesz tworzyć samodzielnie, w dogodnym dla Ciebie momencie.
Zobacz też: Bezpieczny hosting: jak wybrać? Na co zwracać uwagę? i Jak zabezpieczyć WordPressa? Instrukcja
Jak działa i czym są własne reguły ModSecurity?
ModSecurity jest oferowany przez większość hostingodawców na rynku. Zwykle jest automatycznie uruchomiony i ma wprowadzone wspomniane wyżej reguły podstawowe. Stanowią one zabezpieczenie przed klasycznymi i najczęściej występującymi problemami w sieci. To sprawia, że część właścicieli witryn nie interesuje się tym rozwiązaniem i jego konfiguracją. Co więcej, niektórzy nie wiedzą nawet, że możliwa jest edycja jego reguł i dostosowanie zasad bezpieczeństwa do własnych potrzeb. Zacznijmy jednak od początku.
Opisywane oprogramowanie – po uruchomieniu – analizuje wszystkie żądania przychodzące do serwera HTTP. Każde z nich porównuje do reguł, które ma wgrane w swoim systemie. Jeśli są one z nimi zgodne, to żądanie jest realizowane. Gdy natomiast reguła zaleca w ich przypadku działanie specjalne, zostaje ono podjęte, zgodnie z wytycznymi. Najczęściej wiąże się to z:
- zablokowaniem żądania,
- uruchomieniem przekierowania na inną stronę,
- wyświetleniem błędu HTTP, takiego jak np. HTTP 403 (Forbidden), HTTP 406 (Not Acceptable) lub HTTP 404 (Not Found).
Jeśli oprogramowanie, po porównaniu żądań z filtrami, nie wykryje żadnych podejrzanych zdarzeń, Twoje miejsce w sieci będzie działać w standardowym trybie. Strona czy aplikacja będzie dostępna, a użytkownicy nie napotkają problemów podczas jej odwiedzania. Czym jednak w praktyce są wspomniane przez nas wcześniej reguły ModSecurity?
Proces konfiguracji ModSecurity opiera się na kodowaniu (tworzeniu) własnych reguł. Odbywa się to przy użyciu wewnętrznego języka wykorzystywanego przez oprogramowanie. Zostało ono w niego domyślnie wyposażone. Wprowadzając kolejne „warunki” wyświetlenia witryny, zwiększasz jej ochronę. W ten sposób tworzysz proste zapytania, dzięki którym określone, podejrzane żądania, będą blokowane, zanim jeszcze doprowadzą do problemów. Co więcej, open source gwarantuje Ci nieograniczone możliwości. Możesz więc tworzyć zindywidualizowane zasady, dostosowane do wyjątkowych opcji Twojej aplikacji webowej.
Kiedy zapisana przez Ciebie reguła zostanie dopasowana do wykrytej aktywności, system podejmie zdefiniowane przez Ciebie działania. Każda z wprowadzanych reguł rozpoczyna się od liter „sec”. Następnie należy przypisać jej odpowiednią reakcję. W większości przypadków stosowane są tu:
-
deny
– zablokowanie ruchu, -
allow
– przepuszczenie ruchu (wykonanie żądania), -
status:nnn
– wyświetlenie błędu, np. 403.
Często używanym rozwiązaniem jest również przekierowanie, wymagające reakcji redirect:ulr
. Dołączany jest do niej odpowiedni adres URL, na który ma zostać przekierowany użytkownik. Co istotne, akcje oraz reguły mogą być ze sobą łączone. Oznacza to, że do jednej reguły możesz przypisać różne reakcje, zależnie od celu wprowadzanego filtra.
Czy warto korzystać z ModSecurity?
Jak łatwo zauważyć, ModSecurity zdecydowanie działa na korzyść bezpieczeństwa stron internetowych i aplikacji webowych. Dzięki temu rozwiązaniu WAF:
- nie musisz czekać na aktualizację oprogramowania, łatającego „dziury” w zabezpieczeniach poprzedniej wersji,
- możesz chwilę dłużej korzystać ze starszych rozwiązań, do których aktualizacje już nie są wydawane przez twórców.
Ponadto jesteś w stanie szybko reagować na podejrzane aktywności, podejmowane przez nieupoważnione osoby z zewnątrz. W ten sposób możesz zabezpieczyć swoje miejsce w sieci przed np.:
- atakami typu SQL injection (atak polegający na wykorzystaniu nieautoryzowanego fragmentu zapytania SQL),
- uruchomieniem komend systemu operacyjnego z zewnątrz,
- atakami typu path-traversal (atak na aplikacje pozwalające na niekontrolowany dostęp do katalogów oraz plików, które powinny być chronione),
- atakami typu cross-site scripting (XSS) (atak wykorzystujący kod JavaScript),
- atakami phishingowymi,
- atakami botów,
- i wieloma innymi działaniami internetowych oszustów.
Kolejnym argumentem przemawiającym za korzystaniem z ModSecurity jest prostota i skuteczność jego działania. Jest darmowy, ogólnodostępny, a większość hostingów daje do niego automatyczny dostęp. W praktyce więc nie musisz nawet martwić się jego instalacją na serwerze czy skomplikowaną konfiguracją. Wystarczy tylko, że dowiesz się, gdzie się znajduje na Twoim koncie hostingowym. Najczęściej jest od razu włączony i dysponuje podstawowymi filtrami dla stron internetowych. Z poziomu przeglądarki możesz czasem dodawać w nim reguły, usuwać je i edytować.
Co istotne, ModSecurity jest darmowy i bezustannie rozwijany. Jako rozwiązanie open source możesz samodzielnie dostosowywać go do swoich potrzeb. W internecie znajdziesz natomiast wiele miejsc prezentujących porady i sugestie w kwestii jego działania. Dzięki temu szybko wyszukasz odpowiedzi na swoje pytania. Na ich podstawie natomiast dostosujesz zasady funkcjonowania oprogramowania do potrzeb własnego miejsca w sieci.
Kolejną zaletą ModSecurity jest jego elastyczność. Wspominaliśmy, że działa na różnego typu serwerach. Na tym jednak jego wszechstronność się nie kończy. Pozwala bowiem na wprowadzanie bardzo zróżnicowanych filtrów. Wcześniej wymieniliśmy przykłady kilku, najczęściej stosowanych reguł. W praktyce natomiast może być ich zdecydowanie więcej. W odpowiedzi na niepożądane zachowania może również np. wysyłać ostrzeżenia czy działać w jeszcze inny, sprecyzowany przez Ciebie sposób. Dzięki temu masz szansę lepiej zrozumieć niektóre ataki i opracować w pełni skuteczne metody zapobiegania im. Wbudowane w nim reguły z kolei są regularnie aktualizowane. Stanowią zatem odpowiednią, podstawową ochronę przed coraz bardziej zaawansowanymi działaniami nieuczciwych osób.
Ograniczenie podejrzanej aktywności z ModSecurity
Główną funkcjonalnością oferowaną przez ModSecurity jest możliwość ograniczenia podejrzanej aktywności w obrębie strony internetowej czy aplikacji webowej. Dlaczego jednak to tak istotne? Sposoby działania internetowych oszustów bezustannie się zmieniają. Wraz z postępem technologicznym, stronom WWW zagrażają coraz bardziej zaawansowane niebezpieczeństwa. Te natomiast wyróżniają się na tle standardowych operacji, dzięki czemu stosunkowo łatwo jest je wyeliminować.
Poprawie bezpieczeństwa sprzyja zatem ograniczenie ruchu HTTP do zleceń znormalizowanych. Są to działania typowe dla konkretnego serwisu internetowego czy aplikacji. Korzysta z nich większość użytkowników, którzy używają danego miejsca w sieci zgodnie z jego przeznaczeniem. Nie stwarzają zatem potencjalnego zagrożenia dla jego funkcjonowania czy przechowywanych danych. ModSecurity może zostać przez Ciebie wykorzystany do wykrywania i automatycznego eliminowania wszelkiego rodzaju „odstępstw” od normy.
Jak znaleźć ModSecurity na hostingu?
Nie masz pewności, czy Twój hostingodawca oferuje dostęp do ModSecurity? Najłatwiejszą metodą na sprawdzenie tego będzie skontaktowanie się z obsługą klienta. Pracownicy usługodawcy błyskawicznie odpowiedzą na Twoje pytanie. Co więcej, wskażą miejsce, w którym znajdziesz ustawienia tego oprogramowania. Z tego poziomu będziesz w stanie dodawać, usuwać oraz edytować obowiązujące reguły.
Niezależnie od tego, czy korzystasz z DirectAdmin, czy cPanel, opcja ta powinna znajdować się w podobnym miejscu. W przypadku tego pierwszego zwykle rozwiązanie to znajdziesz w zakładce „Funkcje zaawansowane” lub podobnej. Wygląd panelu może się natomiast nieco różnić, w zależności od usługodawcy. Poniższy przykład pochodzi z ogólnodostępnej wersji demonstracyjnej DA.
Po kliknięciu opcji „ModSecurity” na Twoim ekranie pojawi się okno z opcjami tego oprogramowania. Możesz tam:
- włączyć i wyłączyć opcję ModSecurity,
- dodawać reguły,
- usuwać reguły,
- edytować działające już reguły.
Domyślnie aplikacja powinna być włączona. Ze względów bezpieczeństwa niewskazane jest też jej wyłączanie.
W przypadku cPanel znalezienie ModSecurity przebiega bardzo podobnie. Po zalogowaniu do swojego panelu użytkownika musisz znaleźć sekcję odpowiadającą za ustawienia bezpieczeństwa. My ponownie posłużymy się ogólnodostępną wersją demonstracyjną serwisu. W niej mowa jest o sekcji „Security„. Znajdziesz tam opcję „ModSecurity„, w którą musisz kliknąć.
Na Twoim ekranie pojawią się bieżące ustawienia tego oprogramowania. Ponownie możesz z tego poziomu włączyć i wyłączyć tę funkcję, a także dodawać i edytować poszczególne jej reguły.
Dezaktywowanie reguł ModSecurity
Zdarza się, że działanie ModSecurity nie sprzyja funkcjonowaniu Twojego miejsca w sieci. Najczęściej dotyczy to sytuacji, gdy oprogramowanie niepotrzebnie blokuje stronę czy aplikację. W takiej sytuacji konieczne jest jak najszybsze zlokalizowanie i usunięcie problemu. W przeciwnym razie możesz stracić życzliwość algorytmów Google, na czym ucierpi pozycjonowanie (SEO). Jak jednak to zrobić?
Najszybszym sposobem jest przeanalizowanie zapisu reguł, które widoczne są w oknach opisanych powyżej dla DirectAdmin i cPanel. W tym spisie może pojawić się reguła wywołująca niepożądane działanie, czyli blokadę. W takim przypadku konieczne jest zatem jej usunięcie, przy jednoczesnym zachowaniu włączonego ModSecurity. Aby to wykonać, postępuj zgodnie z poniższymi krokami.
- Zaloguj się na swoje konto hostingowe i przejdź do wyżej wspomnianej zakładki ModSecurity. Tam wybierz zakładkę „Logi” lub podobną.
- Na Twojej stronie powinny pojawić się ostatnie logi. Możliwe, że konieczne będzie wybranie opcji „Wczytaj logi”. Wśród nich powinno pojawić się ID reguły wywołującej błąd 403, 404, 406 lub inny, niepożądane działanie. Mowa o tej, która została wcześniej rozpoznana przez Ciebie w spisie reguł.
- Skopiuj kod niepożądanej reguły.
- Przejdź do strony głównej ModSecurity i wybierz zakładkę „Wyłączone reguły” lub podobną. Alternatywnie w analogicznej sekcji w witrynie może znajdować się opcja „Wyłącz regułę” – naciśnij ją.
- Wprowadź kod niepożądanej reguły i zapisz wprowadzone zmiany.
Zobacz też: Jak sprawdzić logi serwera i strony WWW? Jak analizować?
Proces ten przebiega w ten sam sposób w DirectAdmin oraz cPanel. Pamiętaj jednak, by przed wyłączeniem reguły upewnić się, że to właśnie ona jest źródłem problemu. W przeciwnym wypadku możesz narazić swoją stronę WWW na niebezpieczeństwo.
Kiedy i jak wyłączyć ModSecurity?
Zdarzają się sporadyczne sytuacje, gdy możesz chcieć wyłączyć całkowicie ModSecurity. Jak wspominaliśmy wcześniej, nie zalecamy takiego działania. Czasem natomiast nie da się tego uniknąć. Głównie jest to działanie tymczasowe, bywa natomiast stosowane w przypadkach, gdy np.:
- występują problemy z wydajności strony internetowej lub aplikacji webowej – ModSecurity został stworzony tak, by nie wpływać negatywnie na wydajność witryny WWW. Zdarza się jednak, że stworzenie zbyt wielu reguł wydłuża czas odpowiedzi serwera. To natomiast przekłada się na wolniejsze działanie strony internetowej;
- przeprowadzane są testy i działania rozwijające aplikacje – tworzenie i testowanie nowych rozwiązań może być zakłócane przez zabezpieczenia ModSecurity. Jego tymczasowe wyłączenie pozwoli Ci uniknąć fałszywych alarmów;
- dochodzi do konfliktów z używanymi aplikacjami – ModSecurity współpracuje z najczęściej stosowanymi aplikacjami. Może zdarzyć się natomiast, że rozwiązania korzystające ze specyficznych żądań nie będą w stanie działać poprawnie przy włączonych zabezpieczeniach (szczególnie indywidualnych);
- wystąpią problemy z dostosowaniem i konfiguracją – czasem dostosowanie reguł i konfiguracji ModSecurity do konkretnej aplikacji bywa trudne. W skrajnych przypadkach może sprawiać, że witryny nie będą działać prawidłowo. W takiej sytuacji możesz rozważyć chwilowe wyłączenie ochrony, w celu szybszego znalezienia rozwiązania, zachowując ciągłość działania aplikacji.
Jak wyłączyć ModSecurity w panelu hostingowym?
Zarówno w przypadku DirectAdmin, jak i cPanel, w zakładce ModSecurity znajduje się przycisk umożliwiający włączenie i wyłączenie tego oprogramowania. Wystarczy tylko, że przestawisz go na funkcję „Off” (wyłączony) z „On” (włączony). Po dokonaniu zmiany zapisz swoje działanie i gotowe. Możesz wylogować się z panelu hostingowego, a oprogramowanie nie będzie już działać.
Jak wyłączyć ModSecurity w .htaccess?
Alternatywnym rozwiązaniem jest wyłączenie ModSecurity z poziomu pliku konfiguracyjnego .htaccess. Możesz zyskać do niego dostęp:
- przy użyciu połączenia FTP (korzystając z klienta FTP/SFTP/FTPs, takiego jak np. FileZilla czy WinSCP),
- z poziomu konta hostingowego i managera plików,
- przy wykorzystaniu SSH (np. z programem PuTTY).
W obu przypadkach musisz nawiązać połączenie z serwerem, a następnie odnaleźć plik .htaccess w odpowiednim folderze na hostingu. Następnie pobierz go na swój dysk (przy kliencie FTP) lub edytuj go z poziomu przeglądarki internetowej. Dopisz do niego poniższą regułę:
<IfModule mod_security.c>
SecFilterEngine Off
SecFilterScanPOST Off
</IfModule>
Po jej poprawnym wprowadzeniu zapisz zmiany i umieść nową wersję pliku na swoim serwerze.