Strony WWW są nieustannie atakowane przez boty, które próbują wykorzystać luki w popularnych skryptach używanych do budowy witryn internetowych. Jednym z najpopularniejszych celów takich ataków jest WordPress, głównie przez swoją popularność, ale również przez sporą liczbę dostępnych wtyczek i motywów, z których niektóre są niestety pełne błędów.
Istnieje mnóstwo narzędzi i wtyczek służących do zabezpieczania stron opartych na WordPressie przed tego rodzaju atakami. Zawsze jednak warto rozglądać się za dodatkowymi lub lepszymi od aktualnie używanych sposobami na powstrzymywanie złośliwych skryptów. Jednym z wartych uwagi narzędzi jest 6G Firewall.
Jak działa 6G Firewall?
6G Firewall to tak naprawdę zestaw reguł dla serwera Apache, które filtrują przychodzące żądania i blokują te, które wyglądają podejrzanie. Jak sama nazwa wskazuje, jest to już szósta wersja zestawu, który jest rozwijany od ponad trzech lat i bazuje na doświadczeniach autora oraz uwagach użytkowników.
Reguły blokują większość żądań związanych z atakami wykorzystującymi luki w skryptach, a także różnego rodzaju boty, które skanują serwisy internetowe, a których możemy nie chcieć wpuszczać na naszą stronę (bo nie są nam do niczego potrzebne). Nawet jeśli nasz serwis jest bezpieczny (używane przez nas wtyczki i motyw nie mają żadnych luk związanych z bezpieczeństwem), to złośliwe skrypty mogą generować duży ruch, przez co niepotrzebnie obciążają nasz serwer, co w najgorszym przypadku może prowadzić do spowolnienia działania naszej strony. 6G Firewall blokuje takie żądania na poziomie serwera Apache, co oznacza, że do ich obsługi w ogóle nie są angażowane interpreter PHP i baza danych.
6G Firewall nie jest w żaden sposób związany z WordPressem, przez co sprawdzi się również w przypadku witryn korzystających z innych CMSów lub zbudowanych z wykorzystaniem autorskiego oprogramowania.
Czego nie robi 6G Firewall?
6G Firewall nie jest uniwersalną receptą na wszystkie problemy związane z bezpieczeństwem. Nie zabezpiecza nas na przykład przed atakami typu brute force skierowanymi na pliki `wp-login.php` czy `xmlrpc.php` – tutaj wciąż konieczne będzie zastosowanie innych rozwiązań, na przykład opisanych przeze mnie w tym wpisie. Jest on jednak świetnym uzupełnieniem wszelkiego rodzaju wtyczek zabezpieczających WordPressa, takich jak iThemes Security czy Wordfence, którym odbierze trochę pracy i odciąży nieco serwer.
Jak zainstalować 6G Firewall?
Wystarczy na samym początku pliku `.htaccess` (znajduje się on w katalogu głównym naszej strony) dodać kod znajdujący się w sekcji 6G Firewall na tej stronie. Nie wklejam tutaj tego kodu, ponieważ autor co jakiś czas go modyfikuje i wprowadza w nim kolejne ulepszenia, przez co najlepiej korzystać z wersji znajdującej się na oficjalnej stronie.
Oczywiście korzystanie z 6G Firewall jest całkowicie darmowe.
Wtyczka BBQ: Block Bad Queries
Jeśli z jakiegoś powodu nie możemy zmodyfikować naszego pliku `.htaccess`, to alternatywą może być wtyczka BBQ: Block Bad Queries, która zawiera w sobie część filtrów wchodzących w skład w 6G Firewall. Nie działa ona jednak na poziomie serwera Apache, ale na poziomie interpretera PHP, tak więc nie spowoduje aż tak znaczącego spadku obciążenia serwera. O ile to możliwe, sugeruję korzystać z oryginalnego rozwiązania, czyli zestawu reguł wklejonego do pliku `.htaccess`.
Wtyczka nie wymaga żadnej konfiguracji – wystarczy ją zainstalować i aktywować.