Firewall dla WordPressa: czy jest potrzebny, czy wystarczy skaner?
Co robi firewall aplikacyjny (WAF), a co skaner złośliwego kodu, skąd wziąć firewall dla strony na WordPressie i co sprawdzić, zanim go włączysz.
Firewall i skaner robią dwie różne rzeczy i większości stron na WordPressie przydają się obie. Firewall ocenia każde żądanie, zanim WordPress je obsłuży, i odrzuca te, które pasują do ataku. Skaner patrzy na to, co już jest na stronie: pliki, konta, ustawienia i wersje wtyczek. Firewall nie powie Ci, że miesiąc temu ktoś podłożył na serwer tylne drzwi. Skaner nie zatrzyma żądania, które je podkłada.
Firewall nie musi być wtyczką do WordPressa. Przy wielu małych stronach daje go hosting albo usługa CDN ustawiona przed stroną.
Co robi firewall aplikacyjny
Firewall aplikacyjny (WAF, z angielskiego web application firewall) stoi między odwiedzającym a stroną. Przy każdym żądaniu porównuje adres, parametry, pola formularza i nagłówki z zestawem reguł, a potem żądanie blokuje, spowalnia albo przepuszcza. Typowe reguły łapią próby SQL injection i XSS, odwołania do plików wtyczek ze znanymi lukami, zalew prób logowania i złośliwe boty.
Może działać w trzech miejscach:
- Na brzegu sieci, w CDN albo serwerze pośredniczącym, przez który przechodzi cały ruch. Zablokowane żądanie w ogóle nie dociera do Twojego serwera, więc niczego go nie kosztuje.
- Na serwerze, jako moduł serwera WWW, który hosting uruchamia dla wszystkich stron.
- W WordPressie, jako wtyczka. Widzi żądanie dopiero wtedy, gdy dotarło na serwer i ruszył PHP, a przy każdym żądaniu zużywa procesor i pamięć Twojego hostingu. W zamian zna WordPressa: wie, kto jest zalogowany i do której wtyczki należy dany adres.
Czego firewall nie zrobi
Firewall ocenia żądania jedno po drugim, według reguł. Kilka dziur zostaje otwartych przy każdym zestawie reguł:
- Logowanie skradzionym, ale prawdziwym hasłem wygląda tak samo jak logowanie właściciela.
- Luka we wtyczce, na którą nikt jeszcze nie napisał reguły, przechodzi. Reguły powstają po opublikowaniu luki, więc zawsze zostaje okno czasu.
- Kod, który już leży na serwerze, działa dalej. Firewall włączony po włamaniu nie usunie tylnych drzwi.
- Zmiany robione z konta administratora, także przejętego, są dla firewalla zwykłym ruchem.
Dlatego najpierw aktualizacje. Reguła na znaną lukę daje czas do aktualizacji i jej nie zastępuje.
Co robi skaner złośliwego kodu
Skaner sprawdza stan strony. Dobry skaner dla WordPressa:
- porównuje pliki WordPressa, wtyczek i motywów z oficjalnymi kopiami z WordPress.org dla Twojej wersji, co wyłapuje zmienione pliki bez zgadywania,
- szuka plików PHP w folderze uploads,
- pokazuje konta administratorów i zauważa nowe,
- porównuje wersje wtyczek i motywów z opublikowanymi lukami,
- znajduje kopie zapasowe i kopie konfiguracji, które może pobrać każdy.
W chwili ataku niczego nie zatrzymuje. Mówi po fakcie, co się zmieniło i co z tym zrobić. Jak czytać takie wyniki, opisuje tekst o tym, jak sprawdzić, czy strona ma wirusa.
Skąd wziąć firewall
Od hostingu. Wielu dostawców filtruje żądania do wszystkich stron na swoich serwerach. Zapytaj mailem: czy przed moją stroną działa firewall aplikacyjny, kto aktualizuje jego reguły i czy mogę zobaczyć, co zablokował? Jeśli odpowiedź brzmi „tak”, kolejna warstwa może nie być potrzebna.
Z CDN przed stroną. CDN, na przykład Cloudflare, stoi między odwiedzającymi a Twoim serwerem i może filtrować żądania na brzegu sieci. 19 października 2026 roku dokumentacja WAF Cloudflare podawała, że zestaw reguł Free Managed Ruleset jest dostępny we wszystkich planach Cloudflare i chroni przed groźnymi, masowo wykorzystywanymi lukami, a szersze zestawy reguł oznaczała jako niedostępne w planie darmowym. Po uruchomieniu CDN sprawdź dwie rzeczy. Serwer nie powinien odpowiadać na żądania, które omijają CDN i idą prosto na jego adres IP. Ochrona logowania powinna widzieć adres odwiedzającego, a nie adres CDN.
Z wtyczki firewalla. Po wtyczkę sięgasz, gdy hosting nic nie oferuje, a CDN nie pasuje. Zanim wybierzesz wtyczkę, poszukaj w jej opisie albo dokumentacji odpowiedzi na cztery pytania:
- czy ładuje się przed innymi wtyczkami, żeby zobaczyć żądanie wcześniej niż podatny kod,
- jak często dostaje nowe reguły i czy w wersji darmowej przychodzą one w tym samym czasie co w płatnej,
- czy ma tryb nauki albo samego zapisu, w którym widzisz, co by zablokowała, zanim zacznie blokować,
- jak obciąża serwer. Zmierz czas ładowania strony przed instalacją i dzień po niej, jak przy każdej wtyczce.
Na jednej warstwie wystarczy jeden firewall. Dwie wtyczki firewalla na jednej stronie robią tę samą pracę dwa razy, a gdy klient zostanie odrzucony, trudno ustalić, która to zrobiła.
Którego potrzebujesz
Kilka pytań porządkuje sprawę:
- Czy hosting już filtruje żądania? Wtedy resztę pokryje skaner i dobre nawyki.
- Prowadzisz sklep, strefę dla klientów albo formularze, z których korzysta dużo osób? Tam firewall na brzegu sieci ma sens, bo jest więcej do zaatakowania i więcej do stracenia.
- Aktualizujesz wtyczki w ciągu kilku dni od wydania? Wtedy firewall łapie głównie szum. Jeśli aktualizacje czekają tygodniami, pokrywa właśnie ten czas.
- Czy dowiesz się, jeśli dziś w nocy zmieni się jakiś plik na serwerze? Jeśli nie, skaner jest potrzebny bez względu na resztę.
Ani jeden, ani drugi nie zastąpi kopii zapasowej trzymanej poza serwerem. Po włamaniu stronę przywraca czysta kopia.
Na co uważać
- Fałszywe blokady. Firewall, który odrzuca powiadomienia od operatora płatności albo wiadomości z formularza kontaktowego, kosztuje Cię zamówienia, a Ty nie widzisz żadnego błędu. Przez pierwsze tygodnie zaglądaj do jego dziennika.
- Firewall jako powód, żeby odkładać aktualizacje. Reguła może przyjść później niż atak.
- „Czyszczenie” obiecane w pakiecie. Usuwanie złośliwego kodu to praca na plikach, którą robi ktoś, kto je czyta. Zapytaj, kto to zrobi i jak ustali, którędy wszedł włamywacz. Inaczej ta sama droga zostanie otwarta. O pierwszej godzinie po włamaniu przeczytasz w tekście o objawach zhakowanej strony.
Gdzie w tym jest Ensomedia Security
Ensomedia Security to przede wszystkim skaner z ochroną logowania i przełącznikami wzmacniającymi stronę. Od wersji 1.1.26 ma też firewall, który sprawdza żądania (w ustawieniach: Zapora żądań). Jest wyłączony, dopóki go nie włączysz. To zestaw lokalnych reguł na Twoim serwerze, a nie WAF w chmurze, i nie czyści zhakowanej strony.
Jak wypada na tle listy powyżej:
- Ładuje się wcześnie. Plik w folderze mu-plugins sprawdza każde żądanie, zanim załadują się zwykłe wtyczki. Na hostingu, który uruchamia PHP przez CGI albo FastCGI, ustawienie Ładuj przed WordPressem uruchamia go jeszcze przed WordPressem, przez plik .user.ini.
- Reguły przychodzą z aktualizacjami wtyczki i są takie same dla każdej strony, bo wtyczka nie ma płatnej wersji. Obejmują typowe wstrzyknięcia kodu i wgrywanie plików wykonywalnych, blokady adresów IP, zakresów i krajów, limity żądań i błędów 404 oraz wąskie wyjątki. Za Cloudflare blokada krajów działa na zakresach adresów Cloudflare, które wtyczka ma wbudowane od wersji 1.1.28. Zwykły ruch, czyli zamówienia w WooCommerce, edytor bloków, REST API, komentarze, formularze kontaktowe i logowanie, jest objęty testami i przechodzi przy wszystkich włączonych regułach.
- Ma tryb Tylko zapis. Zacznij od niego, przez tydzień albo dwa czytaj historię zapory, a potem przełącz na Blokuj.
- Działa na Twoim serwerze, więc zablokowane żądanie i tak dotarło do hostingu i uruchomiło PHP. Nie odciąża serwera tak jak filtr na brzegu sieci. Nie wysyła nigdzie danych o żądaniach, a jego historia zostaje na Twojej stronie najwyżej 30 dni.
Firewall u hostingu albo w CDN i ta zapora działają na różnych warstwach, więc mogą pracować razem. Nie włączaj jej obok innej wtyczki firewalla. Jeśli kiedyś zablokuje Ciebie, FAQ wtyczki opisuje, jak ją wyłączyć bez kokpitu.
Co jeszcze robi:
- Najpierw sprawdza oficjalne sumy kontrolne. Pliki WordPressa oraz wtyczek i motywów z katalogu porównuje z plikami, które WordPress.org opublikował dla Twojej wersji.
- Nigdy sama nie zmienia strony. Pliki, użytkownicy i ustawienia zmieniają się tylko po kliknięciu przycisku albo włączeniu przełącznika. Plik ze znaleziskiem o wadze średniej lub wyższej możesz jednym przyciskiem przenieść do kwarantanny, a Przywróć odkłada go z powrotem. Od wersji 1.1.21 jednym przyciskiem podmienisz zmieniony plik WordPressa, wtyczki albo motywu na oryginał z WordPress.org, a zmieniony plik trafi do kwarantanny, więc przywrócenie go cofa naprawę. Od wersji 1.1.25 usuwa też kod wstrzyknięty do motywu, własnej wtyczki, folderu uploads, wpisów albo opcji: pokazuje dokładną zmianę, robi kopię i wprowadza ją dopiero po Twojej zgodzie, a każde takie sprzątanie da się cofnąć. Resztę sprzątania robisz Ty, programista albo hosting, według kroków, które podaje wtyczka.
- Ogranicza nieudane logowania z jednego adresu i na jedną nazwę użytkownika oraz prośby o reset hasła z jednego adresu. Liczy się tylko adres samego połączenia, nigdy nagłówek, który można podrobić w żądaniu. Jeśli strona stoi za CDN albo serwerem proxy, wpisujesz jego adresy jako zaufane i wybierasz nagłówek, w którym przychodzi adres odwiedzającego.
- Od wersji 1.1.27 ma dodatkowe zabezpieczenia logowania: logowanie kluczem dostępu bez hasła, weryfikację antybotową przy logowaniu, rejestracji i resecie hasła, odrzucanie haseł z wycieków danych, ukryty adres logowania i pułapki na spam w komentarzach, rejestracji i formularzach kontaktowych. Wszystkie są wyłączone, dopóki ich nie włączysz.
- Ma przełączniki Wzmocnienia zabezpieczeń, wyłączone, dopóki ich nie włączysz: edytor plików, XML-RPC, blokadę PHP w uploads i nagłówki bezpieczeństwa. Nagłówka, który już wysyła serwer, CDN albo inna wtyczka, nie rusza.
- Ma Wirtualne łatki, celowo wąskie. Przy włączonej bazie zagrożeń na żywo mały plik w folderze mu-plugins może zatrzymać żądanie, które wykorzystuje znaną lukę zainstalowanej u Ciebie wtyczki, dopóki Twoja wersja jest podatna. Łatki blokują, jeśli po włączeniu wtyczki przyjmiesz propozycję włączenia ochrony. W przeciwnym razie tylko zapisują pasujące żądania. Obejmuje konkretne znane luki w Twoich wtyczkach i nie przegląda całego ruchu tak jak firewall.
Sprawdzenia, codzienne skanowanie według harmonogramu i powiadomienia e-mail są darmowe, bez konta i bez limitów. Zapora żądań, dodatkowe zabezpieczenia logowania, baza zagrożeń na żywo, sprawdzanie znanych luk i druga opinia AI są wyłączone, dopóki ich nie włączysz. Wtyczkę znajdziesz w katalogu WordPress.org jako Ensomedia Security, a strona wtyczki opisuje, co wysyła każda z dodatkowych usług. Porównanie z Wordfence, z tym, co ma i czego nie ma każda z wtyczek, znajdziesz na stronie porównania.
Sprawdź swoją stronę z zewnątrz. Wpisz adres na shieldwave.io. Test trwa około 90 sekund i nie wymaga hasła ani wtyczki.