Задать вопрос
@mprog54
Кокон тыжпрограммиста

Запрет на редактирование строки в Mysql по ID?

День добрый!
В базе есть таблица wp_settings в ней есть строка с ID siteurl и sitehome. В этих полях расположена ссылка на корень сайта на Wordpress. Что-то постоянно меняет эти ссылки на свои, в итоге на сайте появляются вирусные редиректы. Когда меняю ссылку на реальную ссылку сайта, он работает нормально.
Нужно заблокировать для редактирования эти строки в MySQL (MairiaDB) чтобы нельзя было менять url на какой-либо другой
  • Вопрос задан
  • 442 просмотра
Подписаться 1 Средний 3 комментария
Пригласить эксперта
Ответы на вопрос 3
Что-то постоянно меняет эти ссылки на свои, в итоге на сайте появляются вирусные редиректы. Когда меняю ссылку на реальную ссылку сайта, он работает нормально.

Осмелюсь предположить, что надёжнее будет найти то, что подменяет ссылки и удалить, заодно заняться безопасностью сайта.
Ответ написан
Комментировать
@Miron11
Пишу sql 20 лет. Срок :)
снимите привилегии пользователей, которые сейчас созданы в базе данных. Оставьте им право читать. Особое внимание уделите административным учетным записям, например root. В моей практике мне не приходилось защищать конкретно MySQL, поэтому я не знаю, можно ли изменить имя пользователя root, если можно, сделайте это, конечно же изменив его пароль.
Сделайте специальный логин, которому присвоено разрешение изменять данные. Запомните пароль этого пользователя и сложите его в сейф. Ключ от сейфа повесьте на шею и никому не давайте.
Сделайте так, чтобы вход с паролем этого пользователя имел отдельный доступ к базе данных. Чтобы его не надо было выводить где - то в конфигурации программы, обеспечивающей работу сайта. Входите в этот счет с паролем через защищенное приложение так, чтобы никто не смог ни увидеть ваш пароль, ни считать его через какие - то устройства, в частности тех, которые слушают что передается по сети. В принципе все современные программы, которые приходят с продуктом защищают пароль логина. Но детали могут быть существенны, прочтите документацию, если есть сомнения. Там как правило описывается хорошо ли защищен сам процесс присоединения к базе данных тем или иным устройством.
Ну и наконец, защитите таким же подходом машину на которой установлена база данных и сайт.
В конце - концов, если с первой попытки не получится, и кто - то продолжит "безобразничать", повторите цикл, только теперь уже с некоторым опытом прежней тренировки.
По мере работы над этой областью рано или поздно Вы столкнетесь с тем, что либо человек, либо какой - то процесс установленный либо на машине, либо в самом приложении сайта, выполняет подмену указателей адресов, либо заметив этот процесс и сличив временные метки записей - их изменений, либо заметив, что кто - то присоединился к базе данных без разрешения с высоко привилегированным пользователем. Обнаружить это можно так же установив триггеры на таблицах, фиксирующие изменения, включая время записи имя учетной записи и значение поля до изменения и после. Проблема в том, что Ваша база в данный момент эксплуатируется не по назначению неким третьим лицом, и это лицо может исказить и эти трассировочные записи, поэтому на начальном этапе необходимо все - таки изолировать пользовательские записи и засекретить вход имеющий привилегии менять данные и административно распоряжаться ресурсами.
Ответ написан
rozhnev
@rozhnev Куратор тега MySQL
Fullstack programmer, DBA, медленно, дорого
Первым делом поменяй пароли к БД. Вторым настрой файрвол чтобы кто-попало к базе не подключался. Включи полное логгирование, чтоб понять кто что меняет. и далее ро списку ...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы