Jeden z wiodących dostawców zabezpieczeń do WordPressa donosi, że w 2020 roku ich plugin zablokował ponad 90 miliardów prób złośliwego zalogowania się do panelu administracyjnego z ponad 57 milionów unikalnych adresów IP oraz 4,3 miliarda prób wykorzystania podatności w oprogramowaniu z ponad 9,7 miliona unikalnych IP. Jeśli posiadasz stronę na WordPressie, jest praktycznie pewne, że również do Twoich internetowych drzwi kołatał jakiś cyberprzestępca. Sieć z roku na rok staje się coraz bogatsza, oferuje coraz bardziej spektakularne usugi, stwarza bajeczne możliwości. Druga strona medalu jest jednak taka, że staje się miejscem coraz bardziej niebezpiecznym. Całe szczęście, większości podstawowych zagrożeń unikniemy, stosując się po prostu do kilka zasad cyfrowego BHP.
Nie jest bowiem tak, że cyfrowe ataki wymierzone są konkretnie w naszą stronę i w naszą działalność. To znaczy – nie jest tak zazwyczaj. W niemal wszystkich przypadkach złośliwe oprogramowanie próbuje shakować nas automatycznie, sondując nasze oprogramowanie na obecność powszechych luk w bezpieczeństwie czy zaniedbań. Ot, taki cyfrowy ekwiwalent naciśnięcia klamki i sprawdzenia, czy gospodarz nie zostawił czasem niezakluczonych drzwi.
Aby zatem nie podkładać się cyberzłoczyńcom pod zautomatyzowane ataki, zadbajmy o bezpieczeństwo WordPressa i dokonajmy podstawowych uszczelnień.
Login admina i autentykacja dwuskładnikowa
Nie, admin to nie jest odpowiedni login dla administratora strony. Imiona, nazwiska, rzeczowniki zaczerpnięte z jezyka naturalnego również nie są szaleńczo mocne, jednak umówmy się – wszystko jest lepsze, niż admin. Zatem, ustawienie mniej oczywistego loginu niechaj będzie naszym podstawowym odruchem.
Warto też zadbać o uwierzytelnianie dwuskładnikowe. Plugn używany przeze mnie oferuje możliwość konfiguracji takiej dwustopniowej autentykacji w powiązaniu z zewnętrzną aplikacją. Rzecz nie jest skomplikowana, a wzmacnia zabezpieczenia i bardzo utrudnia zalogowanie się osobie nieuprawnionej nawet w sytuacji, gdyby poznała nasze dane dostępowe.
Aktualne wersje core’a i pluginów
Żadne oprogramowanie nie jest doskonałe pod względem bezpieczeństwa. Dobrze utrzymywane oprogramowanie, w mojej opinii, cechuje się jednak tym, że wraz z kolejnymi aktualizacjami staje się coraz bardziej szczelne i odporne na ataki. To taki wyścig zbrojeń: hakerzy odnajdują podatności, deweloperzy łatają je. Stąd prosta konkluzja – nie aktualizując oprogramowania pozostawiamy je dziurawym i sami prosimy się o kłopoty.
Warto też zwrócić uwagę na zainstalowane w naszym WordPressie pluginy. Zdarza się bowiem, że drobne wtyczki, tworzone hobbystycznie przez drobnych deweloperów, zostają w którymś momencie porzucone, nie są dalej rozwijane, zabezpieczane ani uszczelniane. Używając takich rozszerzeń, również stwarzamy zagrożenie dla swojej witryny. Szczególnie, jeśli pluginy te mają związek z zapisem danych do plików, edycją obrazów, dostępem do bazy danych…
Firewalle
Tak, chcecie zainstalować firewalla na swojej stronie wordpressowej. Jeśli nie wiedzieliście, że można, to już wiecie. Można i trzeba.
Naturalnie, dostępnych jest wiele pluginów zabezpieczających strony i ich czołówka to bardzo porównywalny pod względem skuteczności software. Wordfence, Sucuri, WP Cerber czy All In One WP Security & Firewall to kilka, które testowałem i mogę wymienić jako godne polecenia. Wszystkie oferują ochronę za darmo z opcją rozszerzenia jej do wariantu PRO (z wyjątkiem All In One, który jest zupełnie bezpłatny). Z doświadczenia zalecałbym jednak zdecydować się na jeden program, nie kilka, gdyż istnieje ryzyko, że będą się między sobą gryzły.
Małe rzeczy, a robią robotę
W mojej opinii warto też dokonać drobnych korekt w konfiguracji naszego WordPressa, dzięki którym popularne ataki staną się trudniejsze lub po prostu odbiją się od naszej strony. Dla przykładu, ataki typu SQL Injections to drugi najpopularniejszy typ prób wykorzystania podatności na stronach wordpressowych według Wordfence. Polega on na próbie wprowadzenia do bazy danych nieuprawnionego zapytania. Aby to zrobić, atakujący musi znać nazwę tabeli, którą chce zaatakować. Nazwy tabel bazy danych WordPressa są jawne i ogólnodostępne. Domyślnie mają przedrostek „wp_” i taki właśnie przedrostek sugeruje nam instalator. Jest w zasadzie pewne, że automatyczny atak będzie próbował dobrać się właśnie do tabel z takim przedrostkiem. Po co więc mu to ułatwiać? Wystarczy zainstalować bazę danych z innym prefiksem tabel, aby uczynić naszą stronę odrobinę bardziej szczelną.
Inny przykład – używana wersja WordPressa. Domyślnie nasz CMS generuje tag meta w nagłówku naszej strony z informacją o wersji systemu użytej do wygenerowania kodu.
Ta informacja może być potencjalnym zagrożeniem, bo informuje napastnika, z którym WordPressem ma do czynienia i jakie ewentualne luki może wykorzystać. Warto więc rozważyć, czy by jej aby nie wyłączyć. Można to zrobić, dodając ledwie jedną linijkę kodu do pliku functions.php naszego motywu:
remove_action('wp_head', 'wp_generator');
Jeżeli jednak korzystamy z motywu, który regularnie aktualizujemy, to lepiej dopisać ten wiersz w formie pluginu, np. tworząc plik my-functions.php o poniższej treści i wczytując go przez FTP do folderu /wp-content/plugins:
<?php
/*
* Plugin Name: Moje funkcje
* Plugin URI: [Adres URL, pod którym można znaleźć plugin lub jego autora]
* Description: Plugin zawierający własne funkcje
* Version: 0.1
* Author: [Twoje imię, nazwisko lub ksywa]
* License: SIL
*/
remove_action('wp_head', 'wp_generator');
?>
Włączając taką superpodstawową wtyczkę, osiągamy ten sam skutek, co poprzez wpisanie kodu do pliku functions.php, a sprawiamy, że ustawienie staje się odporne na aktualizacje.
I – last but not least – czytajcie newslettery. Serio
Mój dostawca wordpressowego firewalla wydaje regularny newsletter z radami dotyczącymi bezpieczeństwa, a także rozsyła informacje w reakcji na bieżące, ważne sprawy w świecie wordpressowego bezpieczeństwa. Zdarzyło mi się już, że zostałem w ten sposób zaalarmowany o zagrożeniu dotyczącym pluginu, którego używałem ja bądź któryś z klientów, któremu programowałem stronę internetową, dzięki czemu mogłem zawczasu zareagować. Bo czasami ofiarą cyberprzestępców padają również dobrze utrzymane i superpopularne wtyczki, jak np. File Manager, używany przez 600 tysięcy stron. Zatem, warto mieć oczy (i uszy) szeroko otwarte.
Pisząc ten tekst, korzystałem z poniższych artykułów: