Как изменить префикс базы данных
Таблицы базы данных Вордпресс сайта имеют по умолчанию префикс wp_
. Многие специалисты по безопасности рекомендуют изменить этот префикс для увеличения безопасности сайта.
Нужно ли менять префикс, или это изменение лишь ненамного увеличит безопасность сайта?
Суть этого способа защиты в том, что изменение префикса поможет избежать исполнения SQL запросов к базе данных. Обычно хакботы используют стандартные запросы с префиксом wp_
в своих атаках, но если вы измените префикс базы данных на уникальный, то бот получит ошибку.
Префикс базы данных можно изменить во время установки Вордпресс, но если у вас уже есть работающий сайт, то в этой статье вы узнаете, как изменить префикс базы данных вручную или при помощи плагинов.
Чтобы изменить префикс БД вручную, надо сделать изменения в приложении phpMyAdmin при помощи SQL запросов, и изменить запись о префиксе в файле wp-config.php.
В плагинах безопасности префикс базы данных меняется в несколько кликов.
Содержание:
Зачем менять префикс базы данных
Аргумент Против
Аргументы За
Сделайте бэкап
Зачем менять префикс базы данных
Многие специалисты рекомендуют изменить префикс БД для того, чтобы не дать возможность хакеру получить контроль над базой данных при помощи SQL запросов.
Существует 2 типа SQL внедрений. Обычное SQL внедрение — когда хакер получает возможность посылать команды базе данных и получать ответы от базы данных. Слепое SQL внедрение — когда хакер может посылать команды базе данных, но не получает ответов от нее.
В обоих случаях хакер может сделать SQL запрос к вашему сайту без вашего ведома. Если хакер может выполнить такой запрос, у него появится доступ к базе данных сайта, то есть он может изменить записи в базе данных.
После получения контроля над базой данных злоумышленники обычно меняют логин и пароль администратора. Администратор сайта больше не может войти в админку сайта, а хакеры продолжают делать с сайтом что хотят, от рассылки спама с этого сайта и кражи личной информации до заражения других сайтов и рассылки спама с них и кражи другой информации.
Аргумент Против
Причина не менять префикс базы данных состоит в том, что если база данных выполняет какие-то запросы злоумышленника, то в итоге он все равно может получить доступ к базе данных.
Если первая попытка хакера получить ответ от базы данных оказывается неудачной, он может создать новый запрос к базе данных для поиска второй части названий таблиц, которые имеют стандартные имена.
Например, второй запрос может запрашивать имена, содержащие usermeta
или postmeta
в названии. Эти имена являются именами двух стандартных таблиц Вордпресс. Поиск вернет полное имя таблицы вместе с новым префиксом таблицы.
Хотя может показаться, что нет смысла менять префикс базы данных, есть несколько аргументов с другой стороны.
Аргументы За
Изменение префикса рекомендовано в руководстве по увеличению безопасности в Кодексе Вордпресс.
Эта рекомендация попала туда после устранения разработчиками Вордпресс уязвимостей, связанных с SQL внедрениями.
Причина в том, что хакеры редко ищут уязвимости сайтов, посещая сайты в браузере вручную. Хакеры создают ботов, которые автоматически обходят сотни или тысячи сайтов и ищут в них известные уязвимости по имеющимся у них спискам уязвимостей, которые находятся в открытом доступе.
После того, как на сайте находится уязвимость, например такая, которая позволяет выполнять SQL запросы злоумышленника, боты взламывают такие сайты, отправляют сообщение хакеру и идут дальше.
Если вы измените префикс базы данных, боты получат ответ с ошибкой от базы данных, так как они запрограммированы создавать стандартные запросы, в котором содержится префикс wp_
. Если ваш сайт попадется такому боту, то бот получит ошибку и пойдет дальше на тот сайт, где база данных даст ответ на запрос с префиксом wp_
.
Изменение префикса wp_
на что-нибудь уникальное поможет отбить первую волну автоматических атак, но не поможет, если хакер вручную попробует получить доступ к базе данных, поэтому кроме изменения префикса нужно иметь другие способы защиты сайта.
Сделайте бэкап
Так как вы будете работать с глубокими настройками базы данных и файлом wp-config.php, сделайте бэкап всего сайта и базы данных. Если что-то пойдет не так, вы сможете восстановить сохраненную версию.
1. Изменение в wp-config.php
Этот файл находится в корневой папке сайта, скачайте его на компьютер с помощью ftp-клиента или менеджера файлов на хостинге.
Откройте файл, найдите эту строку:
Измените wp_
на что-нибудь уникальное, но рекомендуется оставить нижнее подчеркивание в конце. Префикс может содержать цифры, буквы и знак подчеркивания, например, db14_
, fr23br17_
, a01_b01_
и так далее.
Сохраните файл и закачайте обратно на сервер. Если теперь вы попробуете зайти на сайт, он будет недоступен. Так и должно быть, потому что теперь данные в базе данных не соответствуют данным в файле wp-config.php.
Чтобы изменить префиксы в базе данных переходим к следующему шагу:
2. Изменения в базе данных
Зайдите на хостинг и откройте базу данных.
В базе данных нужно поменять префиксы главных таблиц, это делается с помощью SQL запросов на вкладке SQL. Структура запроса для изменения всех таблиц такая:
RENAME table `wp_название-таблицы` TO `новый-префикс_название-таблицы`;
Замените название-таблицы
на нужное название таблицы, и новый-префикс
на ваш новый префикс, который вы сохранили в файле wp-config.php.
1. Для одиночной установки Вордпресс измените префиксы в стандартных таблицах Вордпресс:
Можете скопировать и выполнить сразу все запросы, не забудьте заменить новый-префикс
на ваш новый префикс.
2. Для мультисайт установки добавьте эти префиксы:
Измените новый-префикс
на новый префикс.
Также измените эти таблицы:
wp_#_commentmeta
wp_#_comments
wp_#_links
wp_#_options
wp_#_postmeta
wp_#_posts
wp_#_terms
wp_#_term_relationships
wp_#_term_taxonomy
Замените #
на ID вашего подсайта. Например, запрос к таблице wp_commentmeta подсайта с ID 2 будет wp_2_commentmeta
Кроме этих запросов нужно изменить префикс в таблицах, которые создали установленные плагины, и таблицы плагинов, которые были созданы для подсайтов в Мультисайт установке. Посмотрите в левой колонке какие еще таблицы остались со старым префиксом, измените их вручную тем же способом.
3. Изменения внутри таблиц
После того, как вы изменили названия таблиц, нужно изменить некоторые записи в таблицах options
и usermeta
.
Записи в таблице Options
В этой таблице надо изменить несколько записей. Для облегчения поиска можно использовать поисковый запрос. Замените новый-префикс
на ваш новый префикс:
Поиск должен показать все записи, которые соответствуют запросу. Для редактирования кликните два раза или нажмите Карандаш на каждой записи.
Записи в таблице Usermeta
Как в таблице Options, в таблице Usermeta надо заменить несколько записей. Чтобы не искать их вручную, можно использовать запрос:
Замените новый-префикс
на новый префикс, который вы добавили в wp-config.php.
После этого сайт должен начать работать с новым префиксом базы данных.
Решение проблем
Если вы получили ошибку прав доступа, или ошибку установления соединения с базой данных, это значит, что вы забыли переименовать одну из таблиц или префикс записи. Вернитесь в phpMyAdmin и найдите таблицу или запись, которую вы пропустили.
Некоторые плагины предполагают, что префикс базы данных стандартный, и если вы уверены, что переименовали все таблицы и плагины, попробуйте деактивировать все плагины, и включать их по одному, чтобы найти, какой из них делает сайт недоступным. Удалите плагин или найдите ему альтернативу.
Плагины
Если вы не хотите делать это вручную, можно сделать это с помощью одного из плагинов безопасности. Вы можете использовать маленький плагин, который делает только эту работу, например, Brozzme DB Prefix, или большой плагин, где эта функция находится среди многих других, например All in One WordPress Security.
Перед изменением префикса сделайте бэкап сайта и базы данных.
Поставьте галочку, чтобы плагин сгенерировал новый префикс, или придумайте свой вариант. Плагин сделает изменения в базе данных и в файле wp-config.
Префикс базы данных изменен на xvi0f_
. Изменены префиксы 34 таблиц и сделаны изменения в таблицах options и usermeta. Процесс такой же, как в ручном режиме, но занимает меньше секунды.
В других плагинах изменение префикса базы данных делается аналогично.
Сделайте бэкап
После того, как вы изменили префикс базы данных вручную или автоматически, сделайте еще один бэкап.
Заключение
Изменение префикса базы данных помогает избежать только один вид автоматических атак. Чтобы защитить сайт от других атак, установите один из плагинов безопасности и переходите в Руководство по безопасности Вордпресс.
Читайте также:
- Подробное описание плагина Sucuri Security
- Как настроить мощную защиту сайта на основе бесплатного плагина Sucuri Security
- Подробное описание Security Ninja Pro
Надеюсь, статья была полезна. Оставляйте комментарии.
Один комментарий
Ответить
Techbear
Сайт для тех, кто хочет использовать Вордпресс по максимуму, но не хочет разбираться в коде.
WordPress WooCommerce Membership Elementor ACF
Весьма полезный материал, благодарю.