Здравствуйте, уважаемые читатели сайта shargaev-group.ru. Сегодня я расскажу вам, как повысить безопасность сайта на WordPress с помощью бесплатного, но очень эффективного плагина All In One WP Security & Firewall.

Написать данный пост меня подтолкнуло следующее событие.

В конце 2014 года, ко мне обратился клиент с просьбой взять его сайты на поддержку. Пять сайтов были сделаны на WordPress и находились на двух разных хостингах. Конечно я не оставил клиента в беде и взял на поддержку все его сайты.

На четвертый день, после принятия мною сайтов, от хостера пришло письмо о том, что:

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

Хостером был заблокирован доступ к этим файлом и отключена функция отправки email сообщений с сервера.

Это был стук в дверь! Как вы уже догадались, сайты были взломаны и заражены. Я остановил работу сайтов и провел весь необходимый комплекс мер по чистке сайта от вирусов. Нашел и устранил обнаруженные уязвимости на сайте.

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

Еще раз повторюсь – если вы не хотите стать обладателем кучей скрытых ссылок или безобидного шелл-кодика, все расширения качаем только с официального сайта разработчика!

После этой ситуация я занялся поиском плагина безопасности для WordPress.

Свой выбор я остановил на плагине All In One WP Security & Firewall. Ниже я опишу функционал плагина и процесс его настройки.

All In One WP Security & Firewall — плагин для повышения безопасности WordPress.

Несмотря на кривой перевод, плагин имеет все необходимые функции для защиты вашего сайта.

Перечислю только основные:

  • Сканер файлов.
  • Файервол.
  • Резервное копирование базы данных и отправка на указанный email.
  • Ведение журнала ошибок 404.
  • Блокировка авторизаций.
  • Черный список ip адресов.
  • Защита от брутфорс атак

Настройка плагина All In One WP Security & Firewall

Перед установкой плагина обязательно сделайте бэкап вашего сайта!

1. Заходим в плагины и устанавливаем данный плагин из каталога расширеней WordPress.

2. Переходим в настройки плагина на вкладку “WP мета-информация”. Активируйте опцию “Удаление мета-данных WP Generator”.

Эта опция позволяет скрыть метатег generator в котором отображается текущая версия WordPress.

Скрываем метатег generation в WordPress

Зная версию движка, хакеры попытаются, нанеся атаку по уязвимым места конкретной версии WordPress.

3. Вкладка администратор. Если у вас в системе стоит логин admin, обязательно смените его на более сложный. При брутфорс атаке, хакеры начинают подборку логина и пароля с самых распространенных вариантов.

После смены логина, сессия пользователя будет закрыта и вам потребуется пройти авторизацию. Для входа используйте ранее указанный логин.

Смена логина администратора через плагин безопасности WordPress
Перейдите на вкладку “отображаемое имя”. Если текущие имена администраторов совпадают с отображаемым именем на сайте, система выдаст предупреждение и предложит сменить их.

Предупреждение плагина безопасности о совпадении логина и ника администратора

Для этого зайдите в профиль пользователя, измените поле «Ник» и нажмите сохранить. После обновления страницы, в поле «Отображать как» будет доступен для выбора указанный ранее «Ник», выберите его и нажмите сохранить.

Смена ника администратора в WordPress
На вкладке «Пароль» вы можете проверить надежность своего пароля.

4. Авторизация. Включите опцию «Блокировки попыток авторизации». Укажите максимальное количество попыток входа и отметьте опцию «Уведомлять по Email».

Блокировка авторизаций, настройка плагина WordPress

На указанный email, система будет присылать информацию о неудавшихся попытках авторизации, будьте в курсе всех ошибок авторизации на вашем сайте.

На вкладке «Ошибочные попытки авторизации», отображается информация о ошибочных авторизациях на сайте. В таблице отображается ip адрес пользователя, логин под которым посетитель пытался войти и дата авторизации.

Неудавшиеся авторизации пользователей, отображаются в плагине WordPress
На вкладке «Автоматическое разлогинивание пользователей», включите опцию «Aвторазлогинивание».

5. Настройка Регистрация пользователей. Если на вашем сайте предусмотрена регистрация пользователей, обязательно активируйте опции «Ручное одобрение новых пользователей» и капча на вкладке «Captcha при регистрации».

Это позволит свести к минимуму спам и появление левых аккаунтов.

6. База данных. Смените стандартный префикс бд на новый. Для этого укажите новый префикс таблиц бд в поле «Сгенерировать новый префикс бд» и нажмите сохранить.

Смена префикса таблиц базы данных WordPress

Перенйдите на вкладку «Резервное копирование» и установите нужные вам настройки.

7. Файловая система. Если есть какие либо отклонения в настройках прав, плагин предложит внести корректировки.

Установка прав на файлы и папки WordPress с помощью плагина
Отключите возможность редактирования файлов php на вкладке «Редактирование файлов Php». На вкладке «WP доступ к файлом», запретите доступ к информационным файлам.

8. Файерволл – очень мощная защита от вредоносных запросов (xss атак), добавляемых в url вашего сайта. Позволяет отключить возможность просмотра директорий, осуществляет детектирование и блокировку 404 ошибок, поставить запрет на фал xmlrpc.php (если вы не используете функционал XML-RPC) и многое другое.

Включите необходимые опции файерволла и обязательно активируйте возможность блокировки IP адреса на вкладке «Детектирование ошибок 404».

Настройка детектирования 404 ошибок на WordPress

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

Анализируя логи, вы сможете исправить технические ошибки вашего сайта и предотвратить его взлом.

Прилагаю скриншот технических ошибок сайта, на нем видно, что все 404 ошибки вызваны из-за картинки, которой нет на сервере.

Технические ошибки на сайте WordPress, картинка не найдена

Скриншот попыток осуществить брустфорс атаку на сайт.

Логи 404 ошибки - хакеры пытаются осуществить брутфорс атаку

 

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

Таких любознательных пользователей, я сразу отмечаю галочкой и добавляю в черный список.

9. Сканер. Позволяет отслеживать изменения в файловой системе вашего сайта. Обязательно включите автоматическое сканирование, укажите частоту сканирования и отметьте опцию «Отправить сообщение на email» если найдены изменения.

Настройка сканера файловой системы, с помощью плагина безопасности

Будьте в курсе всех изменений вашего сайта.

10. Защита от SPAM. Позволяет добавить капчу к комментариям и установить блокировку для спам роботов. Что существенно снизит количество спама в комментариях.

11. Защита от брутфорс атак. Позволяет скрыть панель администратора от глаз злоумышленников, тем самым предотвратить подборку логина и пароля администратора.

Активируйте опцию «Переименования страницы логина» и укажите название новой страницы логина.
Теперь страница авторизации будет находиться по указанному ключу httm://ваш сайт.ru?ваш ключ

Смена панели администратора в WordPress

Также советую установить капчу на страницу «Смена пароля», на вкладке «CAPTCHA на логин».

Ну вот и все, все обязательные настройки мы рассмотрели, остальные функции плагина вы можете использовать по своему усмотрению.

На основании выше изложенного хочу сделать вывод. Безусловно, все эти функции можно реализовать в ручную, без установки дополнительных плагинов. Но зачем изобретать велосипед и тратить много времени на настройку файла .htaccess, function.php и пр. Плагин легко настраивается, а главное, что он реально помогает повысить безопасность сайта на WordPress!

А какой плагин безопасности используете вы?