Как защитить админку в WordPress?

wordpress
безопасность
программирование

(Ярослав Совушкин) #1

В последнее время, участились попытки сломать сайт на WordPress, через админку. Как защитить админ часть сайта, на популярном скрипте WordPress?

Искал даже по англ. How to protect the admin area in WordPress? Но все способы достаточно сложные.


(Андрей Белов) #2

Вот несколько шагов (общего плаyа) для защиты вашего сайта WordPress (админки)

  • Измените ваше имя пользователя admin, на что-то другое.
  • Установите iTheme security-плагин для WordPress.
  • Установите Google reCaptcha и используйте его при регистрации, входе и комментариях.
  • Используйте 2 факторную аутентификацию.
  • Держать Вордпресс, плагины и темы обновленными.

А вот 2 необходимых действия. Можно выбрать любое.

  1. Ithemes Security

Этот плагин добавляет более 30 + способов защиты к сайту WordPress. В среднем, каждый день взламывают около 30 000 новых веб-сайтов.

Сайты WordPress могут быть легкой мишенью для атак из-за уязвимостей плагинов, слабых паролей и устаревшего программного обеспечения. Большинство Администраторов WordPress не знают, что их сайты уязвимы, но Ithemes Security работает, чтобы заблокировать WordPress, исправить общие дыры, остановить автоматические атаки и укрепить учетные данные пользователей.

Оф. страница плагина: https://wordpress.org/plugins/better-wp-security/

  1. Защита паролем (без плагина и для Linux системы).

Перейдите в директорию сайта и вставьте в файл .htaccess следующие строки (если файла не существует, создайте/добавьте его):

<Files wp-login.php>
AuthType Basic
AuthName "Private zone"
AuthUserFile путь-до-корневой-папки-сайта/.htpasswd
Require valid-user
</Files>

путь-до-корневой-папки-сайта - замените на свой.

Далее перейдите по ссылке: http://www.htaccesstools.com/htpasswd-generator/

и задайте логи и пароль. Помните, что пароль должен быть более 12 символов и содержать различные символы.

Скопируйте созданный (зашифрованный) текст в ваш .htpasswd файл и его положите в корень сайта, там где лежит файл .htaccess

Пример текста, который надо разместить в файле:

Toxa:$apr1$4B.M3tMS$Dq44LVa5H6Evuux5/35VQ/

Теперь при доступе к админке, система потребует пароль.

Это малая часть того, что можно сделать для защиты админки WP.


(Виталий) #3

Можно еще изменить адрес админки. Или в ручном режиме, но это сложно и мы лишимся обновлений, или с помощью плагина.

Есть плагин: Rename wp-login.php

Для входа на сайт используются следующие адреса:

http://САЙТ/wp-admin/
http://САЙТ/wp-login.php

С помощью этого плагина можно скрывать адреса. Не путем переименования файлов и папок, а “изменяя маршрут”. Другими словами найти вход в админку будет невозможно. Деактивация этого плагина возвращает ваш сайт в то состояние, в котором он был раньше.

Страница плагина: https://wordpress.org/plugins/rename-wp-login/


(Герман) #4

Убираем показ лишней информации

При попытке набрать неверный пароль в админку Wordpress, блог “ругается”. Зачем злоумышленнику знать, что пароль, который он пытается подобрать – неверен? Запутаем его и скроем это.

Открываем functions.php, лежащий в папке с темой (wp-content/themes/название-вашей-темы/) и добавляем следующий код:

add_filter('login_errors',create_function('$a', "return null;"));

Используем SSL—протокол

Пусть провайдер (или кто-то) установит SSL. Далее открываем файл wp-config.php и добавляем следующую строку:

define('FORCE_SSL_ADMIN', true);

Скрываем версию Wordpress

Уязвимости “привязаны” к Wordpress. Обычно все знают номер версии и уязвимости в ней. Скроем номер версии.

Снова открываем functions.php, лежащий в папке с активной темой (wp-content/themes/название-вашей-темы/) и добавляем туда этот код:

remove_action('wp_head', 'wp_generator');

Баним спамеров и ботов

Узнаем IP злоумышленника (например, 123.456.789) и добавляем его в этот код файла .htaccess:

<Limit GET POST PUT>
order allow,deny
allow from all
deny from 123.456.789
</LIMIT>