Poprawa bezpieczeństwa w WordPress

Na wstępie warto zaznaczyć iż istnieje naprawdę wiele wtyczek starających się zabezpieczyć nasze WordPressy, są tą między innymi Wordfence czy Sucuri Security – a zgoła inną sprawą wartą odnotowania jest fakt, iż wiele podstawowych, istotnych zabezpieczeń da się wykonać bez udziału wtyczek (np. poprzez edycję pliku .htaccess czy dokładanie funkcji kodu w functions.php).
Niemniej jednak dla mniej doświadczonych użytkowników, ręczne zabezpieczanie poprzez wprowadzanie kodu może stanowić pewną trudność. Dlatego też wybraliśmy wtyczkę, która te podstawowe zabezpieczenia pozwala łatwo wdrożyć – nie będąc przy tym ciężką kobyłą z nadmiarem funkcji.
Wybór padł na wtyczkę zabezpieczającą WordPresss All-in-one WP Security & Firewall.
UWAGA! Pomimo że instalacja i aktywacja wtyczki jest stosunkowo bezpieczna to przed instalacją i konfiguracją wtyczki warto wykonać kopie zapasową naszego WordPressa. O tym jak je samodzielnie wykonać w WordPress pisaliśmy w artykule:
Zachęcamy do lektury.
W razie problemów z nieprawidłową konfiguracją zawsze warto dysponować kopią pliku .htaccess oraz wp-config.php, którą to można wykonać/przywrócić za pomocą FTP ale i samego panelu ustawień wtyczki All-in-one WP Security & Firewall (będzie to pierwszy krok jaki wykonamy).
Instalacja.
Jak większość wtyczek, również i tą powinniśmy pobrać z oficjalnego repozytorium wtyczek WordPress.
Bez zbędnego opisywania możliwości i funkcjonalności wtyczki, przejdziemy od razu do konkretnych ustawień.
Kopia .htaccess i wp-config.php
Zanim zaczniemy ustawiać zabezpieczenia, wykonamy kopię tych plików z poziomu panelu ustawień wtyczki.
WP Security → Settings → zakładki .htaccess File oraz wp-config.php File
W obydwu przypadkach klikamy na przycisk Backup
Nasz obecny plik .htaccess zostanie skopiowany do ścieżki „/wp-content/aiowps_backups/” skąd możemy go przekopiować do katalog głównego domeny korzystając z podłączenia do serwera przez klienta FTP lub menadżera plików hostingu.
Natomiast wp-config.php – zostanie pobrany na nasz dysk komputera.
Zabezpieczenia WordPress
Opiszemy tu tylko niektóre możliwości, oferowane przez tę wtyczkę – które w naszej opinii powinny być wdrożone na każdej instalacji WordPress aby zmniejszyć ryzyko zagrożeń płynących na co dzień z sieci.
1. WP Generator Meta Info
Zaznaczamy aby usunąć rozgłaszanie w kodzie źródła strony informacji że strona używa WordPress. Oczywiście 'ogłupi’ to tylko te mniej inteligentne boty.
2. Nazwa użytkownika-administratora
Zmianę tą możemy wyokonać w profilu użytkownika – w polu „Przedstawiaj mnie jako”. Zmieniamy tak, aby nazwa różniła się od tej używanej do logowania, aby nie można było jej prosto odkryć.
Dobrze przyjąć zasadę: (wartości przykładowe)
nick logowania: a_janek5
Przedstawiaj mnie jako: Jan Kowalski
Imię: Jan
Nazwisko: Kowalski
WP Security→Display Name
3. Zabezpieczenie przed atakiem słownikowym formularza logowania
Na przykładzie domyślnym: 3 próby logowania w przedziale 5 min. spowoduje nałożenie 60 min. blokady na adres IP, z którego się logowano.
Te wartości można dostosować.
Możliwe jest również dodanie adresów IP do białej listy – aby zostały pomijane i mimo wszystko nie blokowały użytkowników z określonych IP.
WP Security→User Login
4. Rejestracja użytkowników
W wielu przypadkach tylko my sami lub utworzeni wcześniej użytkownicy mają dostęp do panelu WordPress. Tu można wyłączyć przypadkową rejestrację poprzez wymuszenie dodatkowego każdorazowo ręcznego aktywowania takich nowych użytkowników.
WP Security→User Registration → Manual Approval
oraz włączamy dodatkowe pole CAPTCHA na formularzu
WP Security→User Registration → Registration Captcha
czyli dodanie pola weryfikacyjnego na formularzu rejestracji – nie jest to może najbardziej wyszukana CAPTCHA ale lepsza taka, niż żadna – o ile komuś nie sprawia problemu 😉
5. Prefix tabeli Bazy Danych WordPress
UWAGA: Warto dysponować kopią zapasową strony/kopią zapasową bazy danych przed wykonaniem tej operacji.
Istotne zabezpieczenie. Zmieniamy na inny niż domyślny „wp_”
WP Security→Database Security
6. Prawa plików i katalogów
Pewnie nie raz na przestrzeni dziejów słyszeliście (można się jeszcze natknąć na takie „porady”) aby coś działało należy zmienić prawa pliku/katalogu na 666/777 – BŁĄD! Dla swojego dobra nigdy tego nie róbcie – tu możemy sprawdzić czy wszystkie prawa są poprawne i bezpieczne. W razie wykrycia przez wtyczkę nieprawidłowych wartości – zaproponuje zmianę – możemy kliknąć 'Set Recomended Permissions’ (ang. Ustaw Zalecane Prawa).
WP Security→Filesystem Security → File Permissions
7. Edycja plików PHP z panelu WP
Jeśli nie korzystamy z funkcji panelu WordPress aby edytować np.pliki PHP kodu szablonu – warto ją wyłączyć. W przypadku nieuprawnionego dostępu do panelu atakujący zawsze wykorzysta tę możliwość.
WP Security→Filesystem Security → PHP File Editing
8. Dostęp do zbędnych plików WP
Wyłączamy dostęp do plików takich jak readme.html, license.txt oraz wp-config-sample.php
Oczywiście można też te pliki usunąć, jednak pojawią się na nowo przy następnej aktualizacji WordPress. Warto pozostawić to włączone.
WP Security→Filesystem Security → WP File Access (screen wyżej)
9. Logowanie – dodatkowe zabezpieczenia
Warto włączyć tę – co prawda – prostą CAPTCHę na wszystkich możliwych formularzach.
WP Security→Brute Force → Login Captcha
10. Logowanie – zmiana adresu
Wszystkie boty i ludzie testują to co znajdą pod adresem domena.pl/wp-admin
W tym miejscu możemy zablokować ten dostęp i zmienić adres URL, po którym możemy dostać się do panelu WordPress.
UWAGA: Warto dysponować kopią zapasową strony przed wykonaniem tej operacji oraz zapamiętać nazwę, którą podamy jako zamiennik.
Istnieją dwie metody (można używać tylko jednej):
1) Zmiana nazwy folderu (przykład)
lub
2) Wykorzystanie cookies do przeglądarki
WP Security→Brute Force → Rename Login Page
11. SPAM w komentarzach
Warto włączyć również CAPTCHĘ na formularzu dodania komentarza – jeśli nasza strona je wykorzystuje – oraz zablokować wszystkie żądania publikacji komentarzy, które nie pochodzą z Twojej domeny.
WP Security→SPAM Prevention
12. Zapora – Firewall
Możemy również wykorzystać funkcję Zapory, którą oferuje wtyczka poprzez modyfikację pliku .htaccess lub wyłączyć funkcję XMLRPC – która jest też ochoczo testowana przez różnego rodzaju boty. Przy wyłączeniu XMLRPC przestanie działać narzędzie takie jak Aplikacja na Androida czy iOS.
WP Security→Firewall → Basic Firewall Rules
WP Security→Firewall → Additional Firewall Rules
Oczywiście można jeszcze bardziej zacieśnić bezpieczeństwo za pomocą wtyczki All-in-one WP Security & Firewall – omówiliśmy tu podstawowe zabezpieczenia.
Chcesz mieć bezpieczny WordPress?
Wybierz nasz hosting!
Od teraz będziesz w stanie zabezpieczyć swój CMS zanim będzie dostępna jego krytyczna aktualizacja!
Jak?
Przeczytaj więcej w naszym artykule lub zapytaj nasz BOK o Malware Experts!