BBQ:Blokuj złe zapytania Recenzja wtyczki WordPress

Opublikowany: 2014-01-30

BBQ:Block Bad Queries to zapora sieciowa WordPress, która blokuje złośliwe żądania HTTP

Dostępnych jest wiele wtyczek zabezpieczających WordPress, ale tylko kilka naprawdę właściwie zajmuje się bezpieczeństwem WordPressa i pomaga chronić instalację WordPressa przed złośliwymi atakami hakerów.

Jedną z tych wtyczek jest BBQ: Block Bad Queries. Ta wtyczka jest jak wysoce konfigurowalna, ale prosta i bezobsługowa zapora sieciowa WordPress, którą powinien zainstalować każdy administrator i menedżer WordPress.

Ten post dotyczący bezpieczeństwa WordPress wyjaśnia:

  • Jak działa wtyczka BBQ:Block Bad Queries?
  • Jak dostosować wtyczkę BBQ:Blokuj złe zapytania
    • Modyfikowanie / dodawanie wzorców do zablokowania
    • Blokuj odwiedzających za pomocą określonego ciągu agenta użytkownika
    • Konfigurowanie maksymalnej liczby znaków dozwolonej w żądaniach HTTP
  • Jak przetestować grilla: blokuj złe zapytania i swoje dostosowania

Jak działa BBQ:Block Bad Queries WordPress Plugin

Wtyczka BBQ:Block Bad Queries analizuje każde żądanie wysłane do WordPressa przed jego wykonaniem przez rdzeń WordPressa. Jeśli żądanie jest złośliwe, wtyczka zabrania odwiedzającemu dostępu do takiego zasobu, odpowiadając kodem statusu HTTP 403, dostęp zabroniony.

Domyślna lista złośliwych wzorców Blokowanie blokowania nieprawidłowych zapytań nie tylko chroni WordPressa przed ukierunkowanymi atakami WordPress, ale także chroni WordPressa przed potencjalnymi lukami dnia zerowego i innymi typowymi atakami, takimi jak Cross-site scripting, SQL Injection i directory traversal. Dlatego jeśli zainstalujesz BBQ:Block Bad Queries, złośliwi hakerzy nadal nie będą mogli wykorzystać znanych luk w zabezpieczeniach, jeśli korzystasz z podatnej na ataki (starej) instalacji WordPress, wtyczki lub motywu.

WP White Wskazówka dotycząca bezpieczeństwa : Nawet jeśli uruchamiasz BBQ:Block Bad Queries, nadal powinieneś korzystać z najnowszych i najbezpieczniejszych wersji WordPressa, wtyczek i motywów. Wtyczka WordPress BBQ powinna być używana jako dodatkowa warstwa bezpieczeństwa, a nie do zamykania istniejących luk w zabezpieczeniach.

Dostosowywanie grilla: wtyczka blokowania nieprawidłowych zapytań

Domyślnie blokowanie nieprawidłowych zapytań nie wymaga żadnych dostosowań ani zmian w konfiguracji, ale zawsze istnieją wyjątki od reguł. Jeśli musisz dostosować BBQ:Block Bad Queries, oto wyjaśnienie, co możesz dostosować. Na początek skanuje trzy części każdego żądania wysyłanego do instalacji WordPress:

Request URI : adres URL żądany przez użytkownika, np. https://www.wpwhitesecurity.com/wordpress-security/

Query String : ciąg zapytania zawarty w adresie URL, np. https://www.wpwhitesecurity.com/wordpress-security/?query_string=1

Ciąg agenta użytkownika : Ciąg agenta użytkownika jest wysyłany automatycznie z oprogramowania klienckiego uzyskującego dostęp do WordPressa w celu identyfikacji. Na przykład Google Chrome używa następującego ciągu agenta użytkownika:

Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, jak Gecko) Chrome/32.0.1667.0 Safari/537.36

Wszystkie wzorce zwykle używane w złośliwych żądaniach są przechowywane we wtyczce w trzech tablicach, a ich nazwa jest oczywista:

  • $request_uri_array
  • $query_string_array
  • $user_agent_array

BBQ:Block Bad Queries nie ma interfejsu konfiguracyjnego. Dlatego, jeśli chcesz dokonać jakichkolwiek modyfikacji, jak wyjaśniono w poniższych przykładach, musisz edytować kod z pliku wtyczki php.

Modyfikowanie żądań HTTP, które wtyczka BBQ:Block Bad Queries powinna blokować

Jeśli chcesz zablokować określony typ ciągu zapytania, dodaj wzorzec ciągu zapytania do tablicy $query_string_array. Po dodaniu nowego wzorca przetestuj go, aby upewnić się, że nie blokujesz uzasadnionych żądań. Przykład składni jest następujący:

$query_string_array  = apply_filters( 'query_string_items',  array( 'PATTERN_1', 'PATTERN_2', 'PATTERN_3');

Uwaga: Każdy dodany wzorzec powinien być zadeklarowany pomiędzy pojedynczymi cudzysłowami (') i oddzielony od pozostałych wzorców symbolem przecinka (,).

Blokowanie odwiedzających za pomocą określonego klienta użytkownika z WordPress

Aby zablokować odwiedzających korzystających z określonego klienta użytkownika, takiego jak automatyczne boty wirusów i złośliwego oprogramowania, dodaj ich ciąg agenta użytkownika w $user_agent_array.

Konfigurowanie maksymalnego limitu długości adresu URL dla WordPress

Ograniczając liczbę znaków, których można użyć w żądaniu HTTP, możesz chronić swoją instalację WordPress przed atakami typu zero-day i kilkoma innymi złośliwymi atakami. Ataki dnia zerowego to luki w oprogramowaniu, które są wykorzystywane przez złośliwych hakerów, ale nie są jeszcze znane producentowi oprogramowania, dlatego nie istnieje jeszcze łatka.

Większość ataków na złośliwe aplikacje internetowe wykorzystuje długie adresy URL w celu wykorzystania znanych luk w zabezpieczeniach. Dlatego jeśli ograniczysz liczbę znaków, które mogą być użyte w żądaniu HTTP, automatycznie chronisz swoją instalację WordPressa przed tego typu atakami.

Ograniczając liczbę znaków używanych w adresie URL, możesz również zablokować prawidłowe żądania. Dlatego przed włączeniem tej funkcji bezpieczeństwa sprawdź, jaka jest długość najdłuższego adresu URL, który masz w instalacji WordPressa (w tym w sekcji stron administracyjnych WordPressa (/wp-admin/).

Aby włączyć i skonfigurować maksymalną długość adresu URL, odkomentuj (poprzez usunięcie „//”) poniższą linię kodu we wtyczce i określ maksymalną liczbę znaków, które może zawierać żądanie HTTP. Domyślna wartość wtyczki to 255, jak pokazano poniżej.

strlen( $_SERVER['REQUEST_URI'] ) > 255 ||

Testowanie zapory sieciowej WordPress

Po zainstalowaniu wtyczki BBQ:Block Bad Queries WordPress przeprowadź kilka testów, żądając poniższej listy przykładowych adresów URL, aby upewnić się, że działa (zastąp some_site.com swoją domeną):

  • http://www.some_site.com/../../../etc/passwd
  • http://www. some_site.com/path/?q=%00
  • http://www. jakaś_witryna.com/ścieżka/base64_

Jeśli wtyczka działa poprawnie, serwer powinien odpowiedzieć kodem stanu HTTP 403 Forbidden na żądanie takich adresów URL. Powyższe żądanie to tylko przykłady adresów URL, które powinny być blokowane przez wtyczkę BBQ:Block Bad Requests. Możesz uruchomić kilka innych testów, używając żądań zwykle używanych w prawdziwych atakach hakerskich.

Testowanie wtyczki BBQ:Block Bad Queries za pomocą programu Fiddler

Jeśli nie masz pewności, jaka jest odpowiedź serwera podczas wysyłania złośliwych żądań HTTP, możesz potwierdzić odpowiedź za pomocą serwera proxy Fiddler.

Jak podkreślono na poniższym zrzucie ekranu, w tym teście zażądaliśmy adresu URL https://www.wpwhitesecurity.com/contact/base64_ i możemy potwierdzić, że serwer odpowiada za pomocą odpowiedzi HTTP 403 Forbidden.

Testowanie BBQ: Wtyczka WordPress do blokowania złych żądań za pomocą Fiddlera

Wtyczka Block Bad Queries — zapora aplikacji internetowej dla WordPress

Masz to! Jeśli szukasz wysoce konfigurowalnej i silnej zapory sieciowej dla swoich blogów i witryn WordPress, zainstaluj wtyczkę BBQ:Block Bad Queries i zapomnij o niej. Możesz pobrać BBQ:Block Bad Queries z repozytorium wtyczek WordPress lub kupić ich wersję PRO tutaj.

Jeśli z drugiej strony wolisz coś, co nie wymaga żadnej konfiguracji, a także skanuje złośliwe oprogramowanie, polecam skaner złośliwego oprogramowania Malcare.