Как сделать WordPress безопасным
Успешный WordPress-сайт должен быть максимально безопасным. Сайт с неправильной конфигурацией может быть легко взломан злоумышленниками. В этой статье речь пойдет о том, какие меры следует предпринять, чтобы сделать WordPress как можно более защищенным.
Измените пользовательское имя администратора
Этот простой, но очень важный шаг позволит вам защитить WordPress. Уникальное имя администратора затруднит проведение атаки перебором. Если имя администратора известно, хакеру остается только определить пароль. Если же оно неизвестно, то хакеру придется решать задачу с двумя неизвестными.
Измените уведомление о неправильных данных для входа в систему
По умолчанию WordPress настроен так, чтобы информировать пользователя о том, что он ввел неправильный логин или пароль. Это является уязвимостью. Как уже упоминалось выше, уникальное пользовательское имя администратора увеличивает степень защищенности WordPress от атак перебором. Уведомление, в котором не уточняется, какая именно часть регистрационной информации введена неправильно, также позволит увеличить степень защищенности сайта от атак.
Для того чтобы отображалось более безопасное уведомление о неправильных данных для входа в систему, добавьте следующий код в файл functions.php вашей темы WordPress:
function my_failed_login () {
return 'The login information you submitted is incorrect. Please try again!'
}
add_filter ( 'login_errors', 'my_failed_login ' );
Убрать информацию об используемой версии WordPress из исходного кода
Никому, кроме вас, не следует знать, какую версию WordPress вы используете на своем веб-сайте. Более того, это очень серьезная уязвимость. Предположим, ваш сайт работает на WordPress 3.1, а самая последняя версия WordPress - 3.5.1. С момента выпуска версии 3.1. было исправлено несколько ошибок, и те ошибки, которых нет в более поздних версиях, становятся известными всем, в том числе и хакерам. Злоумышленники прочесывают сеть на предмет веб-сайтов, в исходном коде которых указана версия WordPress, и которые еще не были обновлены до последней версии.
Чтобы убрать информацию о версии WordPress из исходного кода, добавьте следующий код в файл functions.php вашей темы WordPress:
function remove_my_wp_version () {
return '';
}
add_filter ( 'the_generator', 'remove_my_wp_version );
Разрешайте регистрацию пользователей только когда это необходимо
В WordPress по умолчанию новые регистрации пользователей не разрешаются. Не меняйте настройки, за исключением случаев, когда вам действительно нужно разрешить пользователям регистрироваться на вашем сайте. Чтобы проверить, отключена ли регистрация на вашем WordPress-сайте, зайдите в интерфейс администрирования WordPress, нажмите Настройки->Общие, и убедитесь, что галочка в окошке «Регистрация разрешена всем» снята.
Убедитесь в том, что пользуетесь последней версией WordPress
Как уже упоминалось выше, WordPress необходимо регулярно обновлять. Использование более старых версий WordPress может сделать ваш сайт уязвимым для злоумышленников, которые могут воспользоваться ошибками, исправленными в более новых версиях.
Запретить редактирование файлов в папке wp-admin
По умолчанию в WordPress администратору разрешено редактировать файлы темы и плагинов, используя панель администратора. Если злоумышленник получит доступ к вашей панели, первое, что он сделает – попытается внести изменения в php-файлы при помощи функции редактирования файлов WordPress. Чтобы предотвратить это и полностью отключить функцию редактирования файлов с панели администратора, добавьте следующий код в файл wp-config.php:
define('DISALLOW_FILE_EDIT', true);
Не используйте плагины для выполнения кода
Как говорилось выше, злоумышленники попытаются выполнить php-код с панели администратора, чтобы получить полный доступ к WordPress. Поэтому мы не рекомендуем использовать такие плагины, как Exec-php и др., предназначенные для выполнения php-кода на страницах WordPress. Если же вам нужно использовать какой-либо php-файл, вы можете просто добавить его в файлы темы или в файл functions.php.
Измените префикс таблицы
Большинство злоумышленников, специализирующихся на WordPress, предполагают, что используется стандартный префикс таблицы wp_. Изменение префикса таблицы поможет заблокировать хотя бы часть атак, связанных с внедрением SQL-кода. Чтобы изменить префикс таблицы в устанавливаемой версии WordPress, измените следующую строку в файле wp-config.php:
$table_prefix = 'wp_';
Если WordPress уже установлен, кроме изменения указанной строки вам необходимо переименовать существующие таблицы. Это можно сделать при помощи таких плагинов, как Change Table Prefix.
Используйте ограниченные права доступа для безопасности папок
Используйте как можно меньше прав доступа к файлам и папкам. Убедитесь, что папки wp-admin и wp-includes доступны только вашему пользователю. Директория wp-content должна быть доступна только вашему пользователю и пользователю веб-сервера. Чтобы наилучшим образом настроить права доступа к файлам и папкам, пользуйтесь справочником WordPress.
Регулярно создавайте резервные копии
Делая резервные копии вашей базы данных и файлов, вы уменьшаете риск полной потери сайта при хакерской атаке. Регулярное резервное копирование позволит вам восстановить сайт, если меры по защите сайта, принимаемые вами, окажутся неэффективными. Если вы создаете резервную копию каждый день, то в случае захвата сайта вы потеряете только те данные, которые были внесены в течение дня.