WordPress według wszystkich statystyk pozostaje najpopularniejszym i bezkonkurencyjnym systemem do tworzenia witryn internetowych na świecie. Niestety tak szeroka popularność wśród użytkowników ma pewne wady. Motywuje hackerów black hat, crackerów i cyberprzestępców do aktywnego poszukiwania luk w bezpieczeństwie WP z wykorzystaniem złośliwych botów i skryptów atakujących automatycznie. Mimo tego, że twórcy WordPress starają się szybko identyfikować i naprawiać błędy w kodzie (stąd tak częste aktualizacje), to i tak strony są regularnie atakowane przez boty. Niestety liczba włamań nadal jest wysoka…
Jeśli dbasz o bezpieczeństwo swojej strony to na pewno zapoznałeś się z elementarnymi poradami od WordPressowców. Dziś chcemy zwrócić uwagę na jeszcze jeden ważny aspekt ochrony witryn przed włamaniami, który jest rzadko poruszany w poradnikach branżowych. Chodzi o klucze Salt mające fundamentalne znaczenie w bezpiecznym logowaniu na stronę. Nie słyszałeś o nich wcześniej? Zapraszamy do bliższego zapoznania się z tematem.
Czym są klucze Salt?
Klucze Salt lub klucze bezpieczeństwa w WordPress to zmienne, które przechowują Twoje poświadczenia w postaci zaszyfrowanej. Dzięki temu osoby niepowołane nie mogą zobaczyć haseł w postaci zwykłego tekstu nawet, jeśli w jakiś sposób uzyskają dostęp do bazy danych strony. Oprócz tego klucze Salt są używane do podpisywania plików cookies witryny. Dzięki temu przyjęcie „ciasteczek” przez hakerów nie nadaje im dostępu do strony.
WordPress do haseł użytkowników w bazie danych stosuje algorytm
phpass(hashowanie), a stałe zdefiniowane w wp-config.php (AUTH_KEY, SECURE_AUTH_KEY, LOGGED_IN_KEY, NONCE_KEY i ich odpowiedzi Salt) służą przede wszystkim do podpisywania i szyfrowania ciasteczek sesyjnych (cookies) oraz tokenów nonce. Innymi słowy, klucze Salt z wp-config.php zabezpieczają ciasteczka i chronią przed przejęciem sesji (session hijacking).
I chociaż wszystko wygląda fajnie i bezpiecznie, to triki hakerów stają coraz lepsze i skuteczniejsze. Dlatego specjaliści WordPress rekomendują, aby regularnie zmieniać klucze Salt, nawet gdy praca odbywa się tylko i wyłącznie na komputerze prywatnym. W dalszej części artykułu znajdziesz więcej informacji jak to zrobić i dodatkowo zabezpieczyć swoją stronę od możliwych włamań.
Zmiana kluczy Salt powoduje natychmiastowe wylogowanie wszystkich zalogowanych użytkowników – unieważnienie wszystkich aktywnych sesji i wylogowanie każdego użytkownika (w tym administratorów). Jest to mechanizm krytyczny w przypadku podejrzenia wycieku danych lub przejęcia sesji. Regularna zmiana może być uciążliwa dla użytkowników serwisu.
Kiedy naprawde warto zmieniać klucze Salt?
Szczególnie w sytuacjach krytycznych:
- Po usunięciu zmapowanego złośliwego oprogramowania (malware) ze strony.
- Po zwolnieniu/odejściu pracownika lub podwykonawcy mającego dostęp do panelu lub FTP.
- W przypadku podejrzenia wycieku danych lub haseł.
Gdzie znajdują się klucze Salt?
Klucze Salt umieszczone są w pliku wp-config.php, który znajduje się w folderze głównym strony. Dość często jest to folder public_html. W naszym przypadku ścieżka wygląda następująco: websites/wp_1/ wp-config.php (graf. 1)

Dostęp do pliku wp-config.php można uzyskać poprzez ftp lub używając managera plików hostingu jak na rysunku powyżej. Po otwarciu tego pliku klucze Salt wyglądają następująco (graf. 2):

Jak zmienić klucze Salt?
Zmienić klucze bezpieczeństwa WordPress można ręcznie, jak i automatycznie za pomocą dodatkowych wtyczek.
Ręczna zmiana kluczy Salt
Zawsze twórz kopię zapasową pliku wp-config.php przed jego modyfikacją. Literówka lub błąd składniowy PHP (np. brakujący cudzysłów czy średnik) spowoduje błąd Parse Error / Błąd 500 i unieruchomienie witryny.
Otworzyć plik wp-config.php i wyszukać sekcje jak na grafice 2. W komentarzach na zielono znajduje się odnośnik do strony, gdzie można łatwo otrzymać nowe klucze Salt – jest to strona
Po każdym wejściu na nią generowane są nowe kombinacje kluczy bezpieczeństwa (graf. 3)

Wystarczy skopiować nowe klucze, zastąpić nimi używane w pliku wp-config.php i zapisać zmiany. To tyle 🙂
Zmiana kluczy Salt za pomocą wtyczki
Chociaż ręczna zmiana kluczy Salt nie wymaga zaawansowanych umiejętności technicznych i zajmuje nie wiele czasu, jest to monotonna procedura, która powinna być przeprowadzana regularnie, co w kontekście administrowania wieloma stronami zmienia postać rzeczy.
Dlatego wygodniejszym rozwiązaniem jest użycie dodatkowej, darmowej wtyczki o nazwie Salt Shaker »
Salt Shaker można zainstalować bezpośrednio z repozytorium WordPress. Przejdź do sekcji Wtyczki – Dodaj nową i w polu wyszukiwarki wpisz nazwę wtyczki (graf. 4)

Po instalacji i aktywacji wtyczki należy przejść do jej ustawień. Kliknij przycisk Settings pod wtyczką (w sekcji Wtyczki – Zainstalowane wtyczki) oraz sprawdź sekcje Narzędzia – Salt Shaker (graf. 5)

W tym miejscu można wybrać odpowiedni interwał czasowy zmiany kluczy bezpieczeństwa – do wyboru jest dzień, tydzień, miesiąc, kwartał oraz 2 razy na rok. Po ustawieniu wybranej opcji może nastąpić wylogowanie. W takim przypadku trzeba ponownie wpisać login i hasło do swojego panelu administracyjnego WP. Okno ustawień wtyczki będzie zawierać następną datę zmiany kluczy Salt (graf. 6)

Podsumowanie – Klucze Salt w WordPress
Jeśli dbasz o bezpieczeństwo swojej strony WordPress a klucze Salt to dla Ciebie nowe zagadnienie, to mam nadzieje, że powyższy wpis pomógł Ci w szybkim wdrożeniu dodatkowej ochrony. Klucze Salt to jeszcze jeden ważny aspekt, na który warto zwrócić uwagę podczas zabezpieczenia witryny przed atakami przestępców. Pomimo tego, że owe klucze wydają się bezpiecznym rozwiązaniem, to WordPressowcy zalecają ich regularne zmiany – manualnie czy automatycznie wtyczką? To już zależy od Ciebie. Jeśli masz dodatkowe pytania lub uwagi, proszę zostaw komentarz poniżej.
Aktualizacja: Nowe metody logowania, takie jak Application Passwords (wprowadzone natywnie do core’a WordPressa) czy dwuskładnikowe uwierzytelnianie (2FA), znacznie bardziej wpływają na bezpieczeństwo sesji niż sama rotacja kluczy Salt.
Autor źródłowy: Janko Kamiński
Korekta: Piotr W Lipski
