it-roy-ru.com

Как правильно обновить пароль базы данных Wordpress?

Сайт, которым я управляю, недавно был взломан, и я прохожу шаги по его укреплению и защите. Я хотел бы изменить пароль базы данных MySql и убедиться, что я не отключаю сайт (более минуты).

Я также обеспокоен тем, что если я вручную изменю пароль БД непосредственно в файле wp-config.php , он будет виден и не зашифрован. Например, если мой первоначальный пароль при установке был " пожалуйста ", он будет отображаться в файле wp-config.php как " aDQps4txy ".

Итак, как лучше всего обновить пароль базы данных?

Заранее спасибо.

1
MagRat

Это технически сложно. WordPress должен иметь доступ к паролю БД в виде обычного текста. Доступ к содержимому wp-config.php уже является нарушением безопасности в процессе.

Существуют альтернативные подходы к настройке, такие как загрузка учетных данных через переменные окружения, но на практике они используются крайне редко, поскольку файл конфигурации PHP уже является разумным решением.

Непонятно, почему вы предполагаете, что кто-то получит доступ к конфигурации. Как низко висящий фрукт, вы можете разместить его вне каталога, доступного через Интернет. WordPress будет сканировать конфигурацию на один уровень выше самого себя. Для установки подкаталога вы можете использовать require для загрузки содержимого конфигурации из другого места, но даже это редко делается.

2
Rarst

Ваш действительный пароль БД хранится в незашифрованном виде в wp-config.php, т. Е. Если ваш пароль foobar, соответствующая строка в wp-config.php:

/** MySQL database password */
define('DB_PASSWORD', 'foobar');

Как заметил @Rarst:

Доступ к содержимому wp-config.php уже является нарушением безопасности.

Это потому, что PHP является гипертекстом препроцессором . Любой, кто обращается к wp-config.php через свой веб-браузер, будет направлять файл через интерпретатор на стороне сервера PHP. Интерпретатор передает на клиент (веб-браузер) только те данные, которые ему было поручено вывести. Пароль БД не выводится PHP. Когда я получаю доступ к своему wp-config.php через браузер, я получаю пустую страницу без исходного кода, потому что этот файл вообще ничего не выводит.

Однако неверно, что хранение пароля БД в незашифрованном виде абсолютно без риска. Любой, кто получит возможность обойти интерпретатор PHP и, следовательно, прочитать исходный файл, получит доступ к вашему паролю. Это также то, что имел в виду @Rarst. Для ясности, это также может быть человек посередине , который подслушивает ваше незашифрованное FTP-соединение . В тот момент, когда вы загружаете wp-config.php через незащищенное FTP-соединение (в отличие от зашифрованного SFTP-соединения), чтобы отредактировать его и повторно загрузить на свой сервер, вероятность того, что ваш пароль отслеживается существует .

Самый простой способ предотвратить большинство атак - это поддерживать ваш сервер в актуальном состоянии с помощью обновлений безопасности и всегда использовать безопасные протоколы (HTTP/FTP через TLS = HTTPS/FTPS вместо HTTP/FTP, альтернативноSFTPиSSHвместо Telnet) при работе с конфиденциальными данными, т. е. при выполнении функций администратора.

Узнайте больше на https://codex.wordpress.org/Hardening_WordPress .

0
Frank Kottler