Prefiks tabel bazy danych w WordPress to
[toc]
Baza danych WordPress zawiera wszystkie informacje wymagane do jej funkcjonowania, a więc całą zawartość tekstową, opcje, klucze licencyjne i ustawienia. Nawet z pozoru niewielka zmiana może być tragiczna w skutkach. Wszystko zależy oczywiście od tego w jaki sposób i do czego atakujący tej bazy danych potrzebuje.
Zobacz Film VIDEO (Zmiana wtyczką)
Dlaczego powinieneś zmienić prefiks bazy danych w WordPress?
Przede wszystkim największym problemem domyślnego prefiksu bazy danych wp_ jest to, że jest on… domyślny.
Chodzi mi o to, że każdy wie jaki on jest i w pierwszej kolejności, aby przeprowadzić atak lub wyciągnąć informacje z bazy danych będzie próbował pobierać dane właśnie z tabel wp_users, wp_post, wp_options itd.
Przykładowe wykorzystywanie tej luki w zabezpieczeniach
- Atakujący może dowolnie zmieniać wpisy, w tym je usuwać, ale też (co się często zdarza) dopisywać złośliwy kod,
- Atakujący może dowolnie zmieniać użytkowników – ich uprawnienia, hasła, ustawienia, ale też dodawać własnych o dowolnych uprawnieniach,
- Atakujący uzyska dostęp do ukrytej domyślnie zawartości takiej jak np. wpisy prywatne czy strukturę katalogu mediów, nazwy plików i ich lokalizacje,
- W przypadku sklepów może dowolnie zmieniać zamówienia, zmieniać im statusy, zawartość i inne atrybuty
- Uzyskuje pełen dostęp do danych klientów, adresy email komentujących czy osoby zapisane na newsletter (jeżeli korzystasz z wtyczki),
- Dostęp do kluczy licencyjnych i danych do połączenia z aplikacją zewnętrzną może mu posłużyć do wysyłania spamu, pozbawienia Ciebie licencji na dane rozwiązanie i wiele innych.
Dwa ostatnie punkty zdecydowanie narażą Ciebie na nieprzyjemności związane z rozporządzeniem RODO, gdyż brak zmiany domyślnego ustawienia jest sprzeczny z zapisem wymagającym dołożenia należytej i maksymalnie możliwej staranności w ochronie danych.
Bezpieczny prefix w WordPress – czyli jaki?
Przede wszystkim nieoczywisty tzn. nic co łatwo można zgadnąć jak np. wordpress_, nie zawierający nazwy domeny i losowy. Zdecydowanie zalecam prefiks dwuczęściowy np. u89e_d2_ lub jak w dalszych przykładach sec_prefix_.
Zmiana prefiksu bazy danych: Ręcznie
Aby zmienić prefiks bazy danych bez użycia wtyczki, należy zalogować się do panelu zarządzania bazą danych np Adminer lub phpMyAdmin i otworzyć bazę danych, w której znajduje się WordPress.
W pierwszym kroku należy zmienić nazwy wszystkich tabel, zamieniając domyślny prefiks na nowy, jednak przy dużej ilości tabel będzie to zadanie czasochłonne, ale i na to znajdzie się rozwiązanie.
Będąc w phpMyAdmin lub Adminer (zrzuty poniżej) kliknij w SQL/Zapytanie SQL o następującej treści zmieniając pierwsze trzy atrybuty wg ustawień serwera:
SET @database = "nazwaBazyDanych";
SET @old_prefix = "stary_prefix_";
SET @new_prefix = "nowy_prefix_";
SELECT
concat(
"RENAME TABLE ",
TABLE_NAME,
" TO ",
replace(TABLE_NAME, @old_prefix, @new_prefix),
';'
) AS "SQL" FROM information_schema.TABLES WHERE TABLE_SCHEMA = @database;
Zostanie wygenerowana lista wszystkich tabel wraz z listą komend.
Skopiuj poniższe komendy i wklej w to samo okno wydawania poleceń SQL.
W efekcie zostaną zmienione wszystkie tabele.
W phpMyAdmin wygląda to odrobinę inaczej, nad listą wygenerowanych tabel należy kliknąć „opcje” i wybrać „Pełne teksty” zatwierdzić i wywołać komendę jeszcze raz – w innym przypadku tekst komend będzie ucięty i wywoła błędy.
Na końcu pozostała zmiana prefiksu bazy danych w pliku wp-config.php (plik znajduje się w głównym katalogu instalacji) tak jak poniżej:
W przypadku braku dokonania tej zmiany WordPress wyświetli informacje o braku możliwości połączenia z bazą danych, gdyż nie znajdzie tabel.
Zmiana prefiksu bazy danych: wtyczka
Istnieje prosta wtyczka do zmieniania prefiksu bazy danych i wymaga jedynie instalacji, aktywacji oraz dokonania zmiany, aby na końcu ją usunąć. Wystarczy skorzystać z wtyczki
WP Prefix Changerco prezentuje na poniższym video:
Wtyczka ułatwia pracę o tyle, że wszystko wykonuje za nas, ale musimy być ostrożni i z uwagi na to, że baza danych może (choć nie musi) ulec uszkodzeniu koniecznie wykonaj kopię zapasową przed rozpoczęciem jakichkolwiek zadań!
Gdy już wiesz jak zmienić prefiks tabel bazy danych w WordPress podziel się swoją opinią w komentarzu lub udostępnij innym :)
Jeden komentarz dla "Zmiana Prefiksu tabel bazy danych (Tutorial WordPress)"
Janusz Kamiński
Także zmieniam prefix dla BD. Dobra instrukcja. ;)