Безопасность Вордпресс. Полное руководство

Полное руководство по безопасности ВордпрессСогласно статистике, хакеры атакуют сайты на Вордпресс примерно 90.000 раз в минуту. Если вы думаете, что сайт в безопасности, потому что он не представляет интереса для хакеров, то это не так.

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

Обычно хакеры взламывают сайты для рассылки спама, редиректа на свои сайты, кражи личных данных и использования сервера в качестве хранилища какой-нибудь информации или файлообменника. Очень редко хакеры взламывают какой-то конкретный сайт. В большинстве случаев хакеры при помощи ботов автоматически взламывают десятки сайтов, и используют ресурсы этих сайтов для своих дел.

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

Содержание:

  1. Удалите версию Вордпресс
  2. Перенесите страницу авторизации
  3. Измените структуру расположения файлов и папок
  4. Измените имя пользователя по умолчанию
  5. Ограничьте количество попыток доступа на сайт
  6. Удалите ненужные файлы
  7. Дополнения в wp-config.php
  8. Добавьте правила в .htaccess
  9. Удалите пользователя с ID 1
  10. Измените текст ошибки при входе на сайт
  11. Отключите XML-RPC
  12. Установите пароль на доступ к wp-login.php
  13. Используйте двух-факторную авторизацию
  14. Защита от спама WordPress
  1. Используйте плагин безопасности
  2. Регулярно сканируйте сайт
  3. Просматривайте логи событий
  4. Установите файрвол на сервере

Насколько безопасен Вордпресс

На Вордпрессе работает более 43% сайтов в Интернете, и он является самой популярной системой управления контентом. Более 80% атак на CMS приходится на Вордпресс, но он остается самой популярной платформой.

Исследование Sucuri - Платформы взломанных сайтов

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

C момента выхода первой версии Вордпресс было выпущено более 2.500 исправлений уязвимостей. Были случаи, когда обновления выходили менее чем через 40 минут после обнаружения уязвимости.

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

Правило безопасности №1 от разработчиков всех плагинов и сервисов безопасности — регулярно обновляйте Вордпресс, плагины и темы. Другие меры безопасности тоже нужны, но они становятся менее эффективными, если ядро Вордпресс не обновлено.

Для максимальной безопасности сайта нужно обновлять Вордпресс. Можно включить автоматическое обновление, или оставить обновление в ручном режиме.

Почему ваш сайт является целью для злоумышленников

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

Все Вордпресс сайты являются целью для хакеров из-за своей популярности. Хакеры пишут ботов, которые обходят сотни тысяч сайтов и сканируют их на списки уязвимостей. Чем больше сайтов будет просканировано, тем выше вероятность найти уязвимость и получить какой-то контроль над сайтом.

В 2019 году более 85 млн. сайтов в Интернете работает на Вордпресс, поэтому вероятность что-то найти достаточно высока.

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

Хакеры взламывают сайты для того, чтобы:

  • Добавить вредоносный контент на сайт — Хакеры взламывают сайты, чтобы внедрить вредоносный контент во фронт-энд. Обычно это ссылки на хакерские сайты, реклама казино, кошельков, медикаментов и тому подобное.
  • Использовать ресурсы сервера — Хакеры используют ресурсы сервера или канал интернета для рассылки спама, криптовалютного майнинга, файлообменника, хранения информация или для атаки на другие сайты.
  • Получить данные посетителя — Кибератаки касаются не только владельцев сайтов, но и посетителей сайта. Многие люди используют одни и те же данные для своих аккаунтов на разных сайтах или сервисах, для е-мейла, интернет банка и так далее.
  • Получить бизнес-информацию — Хакеры не всегда атакуют сайты для получения пользовательских данных. Иногда они взламывают сайты, чтобы получить важную информацию о бизнесе этого сайта.
  • Распространение вредоносных программ — Распространение вирусов и вредоносных программ на компьютеры и устройства посетителей.

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

Как хакеры взламывают сайты

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

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

Список основных типов угроз для Вордпресс:

  • Межсайтовое выполнение сценариев (XSS, Cross-site Scripting) — хакер внедряет какой-то код на страницу сайта, при загрузке страницы скрипт выполняется на компьютере посетителя.
  • SQL внедрения (SQLI, SQL Injections) — SQL запросы исполняются из строки браузера.
  • Загрузка файла — файл с вредоносным кодом загружается на сервер.
  • Фальсификация межсайтового запроса (CSRF, Cross-Site Request Forgery) — код или запрос исполняется из строки браузера.
  • Перебор паролей (Brute Force) — множественные попытки подобрать логин и пароль.
  • DoS-атаки (Denial of Servise) — попытка перегрузить и повесить сайт большим количеством трафика от ботов.
  • DDoS-атаки (Distributed Denial of Servise) — попытка повесить сайт из разных мест, например, с зараженных компьютеров или роутеров.
  • Кража личных данных (Phishing) — хакеры публикуют страницы, которые похожи на страницы атакованного сайта. Пользователь не видит подмены и может оставить свои личные данные в форме авторизации, подписки и так далее.
  • Редирект — используется какая-то уязвимость, которая переадресует запрос к странице на постороннюю страницу, обычно с целью кражи личных данных или спама.
  • Вредоносный код (Malware) — скрипт или программа, которая делает нужные хакеру действия на вашем сайте.
  • Внедрение файла (LFI, Local File Inclusion) — злоумышленник может контролировать, какой файл исполняется в определенное время по расписанию CMS или какого-то приложения.
  • Обход авторизации (Authentication Bypass) — дыра в безопасности, которая позволяет хакерам обходить форму входа и получать доступ к сайту.
  • Показ пути к сайту (FPD, Full Path Disclosure) — отображается полный путь к корневой папке сайта, видимы папки, логи ошибок и предупреждений.
  • Нумерация пользователей (User Enumeration) — возможность узнать логины пользователей сайта. К URL сайта добавляется запрос ID пользователя, который возвращает профиль пользователя с его логином. Используется вместе с методом перебора паролей.
  • Обход системы безопасности (Security Bypass) — хакеры обходят систему безопасности и получают доступ к незащищенной части сайта.
  • Удаленное исполнение кода (RCE, Remote Code Execution) — хакер запускает исполнение кода на сайте с другого сайта или компьютера.
  • Удаленное внедрение файла (RFI, Remote File Inclusion) — использование ссылки на внешний скрипт для загрузки вредоносного кода с другого компьютера или сайта.
  • Подделка запроса на стороне сервера (SSRF, Server Side Request Forgery) — хакер управляет сервером частично или полностью для выполнения удаленных запросов.

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

Согласно исследованию WP WhiteSecurity, 54% уязвимостей выявлено в плагинах Вордпресс, 31,5% уязвимостей в ядре Вордпресс и 14,3% уязвимостей — в темах Вордпресс.

Уязвимости Вордпресс

Распространение типов уязвимостей согласно Wordfence и WP WhiteSecurity:

Типы уязвимостей Вордпресс
Типы уязвимостей WordPress, исследование Wordfence
Типы уязвимостей Вордпресс
Типы уязвимостей WordPress, исследование WP WhiteSecurity

Другое исследование WP WhiteSecurity, проведенное на 42.000 сайтах из рейтинга Алекса Топ-1.000.000, говорит о том, что 73,2% сайтов имеют уязвимости из-за необновленной версии Вордпресс.

Основные требования к безопасности сайта

От безопасности вашего компьютера зависит безопасность вашего сайта. Вредоносное ПО и вирусы могут заразить ваш сайт и сотни других сайтов.

Эти рекомендации увеличат безопасность вашего компьютера и сайта:

  1. Используйтете антивирус и файрвол на своем компьютере.
  2. Не заходите на свой сайт в публичных местах, потому что данные, которые вы пересылаете через публичный Wi-Fi, могут быть перехвачены злоумышленниками.
  3. Не используйте небезопасные сети или соединения.
  4. Используйте надежный хостинг.
  5. Используйте сложные пароли для входа на сайт. Установите рекомендуемый минимум сложности паролей для других пользователей сайта.
  6. Подумайте о выключении возможности для пользователей загружать картинки на сайт. Злоумышленник может загрузить скрипт на сайт под видом аватара с названием avatar.jpg.php, который может использовать какую-то уязвимость.
  7. Используйте безопасный FTP (FTPS) вместо обычного FTP.
  8. Вместо FTP вы можете использовать SSH (SFTP), он безопаснее FTP.
  9. Давайте доступ к админской или редакторской части только тем, кому вы доверяете.
  10. Давайте доступ к хостингу и FTP только тем, кому доверяете. Вы можете создать еще один аккаунт с уменьшенными правами и дать доступ к нему.
  11. Если вы не пользуетесь FTP, удалите или отключите подключения.
  12. Настройте бэкап сайта.
  13. Регулярно обновляйте Вордпресс, плагины и темы.
  14. Не одобряйте непонятные комментарии с бэклинками.
  15. Используйте популярные плагины с большим количеством установок и частым обновлением.
  16. Установите SSL сертификат на сайт.
  17. Используйте CDN, это помогает предотвратить DoS и DDoS атаки.

Как скрыть данные о Вордпресс

Скрытие данных о Вордпресс, например, версии ядра или изменение адреса входа в админку — один из способов усилить безопасность сайта.

Еще в одном исследовании WP WhiteSecurity говорится, что только 8% сайтов было взломано вручную методом перебора паролей, 92% сайтов были взломаны ботами автоматически, из них 41% — через уязвимости в ПО хостинга, 29% — через уязвимости в файлах темы, 22% — через уязвимости в плагинах.

Боты пытаются взломать сайт по заранее определенному алгоритму. Они пытаются подобрать логин и пароль на странице входа или пытаются получить тот или иной контроль над сайтом по спискам уязвимостей устаревших версий. Если взлом не получился — они уходят на другие сайты.

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

Удалите версию Вордпресс

Списки уязвимостей предыдущих версий Вордпресс находятся в открытом доступе, поэтому удаление информации об используемой версии ПО увеличивает безопасность сайта.

Удалите все упоминания о версии ядра Вордпресс, версии скриптов и стилей и тег в фиде RSS.

Перенесите страницу авторизации

По умолчанию страница авторизации находится по адресу /wp-login.php. Боты приходят по этому адресу и пытаются подобрать логин и пароль по спискам популярных логинов и паролей, которые находятся в открытом доступе.

Это называется brute force attack, или атака грубой силой, или атака методом перебора паролей.

Чтобы боты не могли пробовать подобрать комбинацию для входа, перенесите страницу авторизации в другое место. Например, /settings.

Измените структуру расположения файлов и папок

Вордпресс — открытая платформа, информация о ней находится в открытом доступе, поэтому хакеры могут использовать какую-то информацию о Вордпресс для взлома сайта.

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

Измените имя пользователя по умолчанию

Когда вы устанавливаете Вордпресс, администратору сайта по умолчанию дается имя пользователя «admin». Это одно из стандартных имен, которое пробуется ботами, когда они пытаются попасть на сайт методом перебора паролей.

Если вы оставите как есть, то злоумышленнику остается подобрать только пароль, так как имя «admin» уже известно.

Измените стандартное имя пользователя, тогда хакерам придется подобрать и логин, и пароль.

Ограничьте количество попыток доступа на сайт

По умолчанию Вордпресс не ограничивает количество попыток входа на сайт. То есть, если посетитель ввел неверный логин или пароль, он может попробовать ввести их еще раз столько раз, сколько захочет. Это дает хакерам возможность перебирать логины и пароли большое количество раз, пока они не подберут верную комбинацию.

Чтобы этого не случилось, установите плагин безопасности, который будет ограничивать количество попыток входа на сайт. Есть специальные плагины для решения только этой задачи, например, Limit Login Attempts Reloaded или Login LockDown, есть большие плагины безопасности, в которых эта функция находится в числе других, например, Wordfence или All In One WP Security & Firewall.

Удалите ненужные файлы

После установки Вордпресс можно удалить несколько файлов, которые больше не нужны.

  • readme.html
  • wp-config-sample.php
  • /wp-admin/install.php

В файле readme.html содержится информация об используемой версии Вордпресс. Хакеры могут использовать публичную информацию об уязвимостях используемой версии Вордпресс, чтобы проникнуть на ваш сайт.

Добавьте правила в WP-Config.php

Это главный файл сайта, который находится в корневой папке. Добавляйте свои записи в wp-config перед строкой:

/* Это всё, дальше не редактируем. Успехов! */

или

/* That's all, stop editing! Happy blogging. */

В этой статье правила для повышения безопасности сайта в файле wp-config.php:

Переместите файл wp-config.php

В файле wp-config.php находится много важной информации, которая не должна быть доступна посторонним. Вы можете переместить этот файл в другое место, чтобы хакеры не смогли найти его в его обычном месте.

Если ваш сайт находится в корневой папке, перенесите wp-config.php на один уровень вверх.

Или вы можете перенести этот файл в любое другое место. Создайте в корневой папке новый файл с именем wp-config.php, и вставьте в него этот код:

Замените /путь/к/wp-config.php на ваш адрес к файлу после перемещения.

Проверьте права доступа к файлам и папкам

Файлам и папкам Вордпресс должны быть даны права доступа 644 и 755. Некоторым файлам и папкам могут быть даны особые права, например, файлу wp-config.php должны быть даны права 440 или 400.

В файле wp-config вы можете автоматически установить права доступа ко всем файлам и папкам на сайте:

Важным файлам и папкам вы можете дать более строгие права вручную.

  1. Корневая папка сайта — /сайт.ru/public_html/ — 750
  2. .htaccess — /сайт.ru/public_html/.htaccess — 640
  3. wp-admin/ — /сайт.ru/public_html/wp-admin — 750
  4. wp-admin/js/ — /сайт.ru/public_html/wp-admin/js/ — 750
  5. wp-admin/index.php — /сайт.ru/public_html/wp-admin/index.php — 640
  6. wp-content/ — /сайт.ru/public_html/wp-content — 750
  7. wp-content/themes/ — /сайт.ru/public_html/wp-content/themes — 750
  8. wp-content/plugins/ — /сайт.ru/public_html/wp-content/plugins — 750
  9. wp-includes/ — /сайт.ru/public_html/wp-includes — 750

Измените префикс базы данных

Таблицы базы данных имеют по умолчанию префикс wp_. Измените префикс на что-нибудь другое, чтобы усложнить задачу хакерам.

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

Отключите редактирование файлов в панели Вордпресс

В панели администратора находится редактор файлов, в котором вы можете редактировать файлы установленных плагинов и тем.

Редактировать файлы тем вы можете в разделе Внешний видРедактор, файлы плагинов в разделе ПлагиныРедактор.

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

С другой стороны, если злоумышленник получил доступ к админской части сайта, то уже ничего не поможет.

Возможно, запрет на редактирование php файлов в админке даст вам некоторое время, чтобы попробовать вернуть контроль над сайтом. Выключить редактирование файлов в админке можно так:

Смените ключи безопасности

В файле wp-config.php находятся ключи безопасности, с помощью которых шифруется информация, хранящаяся в cookies. Меняйте их время от времени, это сделает cookies, хранящиеся в браузерах пользователей, в том числе хакеров, недействительными. Для входа на сайт нужно будет авторизоваться еще раз.

Вы можете сгенерировать новые ключи безопасности в генераторе ключей Вордпресс, скопируйте их оттуда и вставьте в свой файл wp-config.php:

Используйте SSL

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

Чтобы зашифровать логин и пароль во время передачи их серверу, добавьте эту строку:

Чтобы использовать SSL в админской части сайта, например, для шифрования cookies сессии, добавьте эту строку:

Добавьте эти строки в файл wp-config.php перед строкой:

Чтобы использовать SSL во фронт-энде сайта добавьте эту запись в файл .htaccess:

Замените ваш-сайт.ru на свой адрес.

Если у вас уже есть стандартная запись, которую добавляет Вордпресс,

то вы можете добавить в эту запись только строки 3 и 4 из первого правила.

Используйте FTPS

Чтобы использовать FTPS через небезопасное FTP соединение, добавьте это правило перед строкой «Это все, дальше не редактируем»:

Используйте SFTP

Чтобы повысить безопасность SSH подключения, вы можете использовать SFTP соединение, если эта функция включена на хостинге.

Выключите режим debug

По умолчанию режим debug выключен и должен быть выключен до тех пор, пока вы не обнаружите ошибки на сайте.

Если вы хотите включить режим debug и отображение ошибок во фронтэнде, замените false на true.

Включите автообновление Вордпресс

Если вы хотите включить автообновление Вордпресс, добавьте это правило:

Если вы хотите сначала протестировать обновления, то оставьте обновление вручную, или включите выборочное обновление плагинов:

Добавьте правила в .htaccess

В этом разделе правила для повышения безопасности сайта в файле .htaccess.

Запретите доступ к важным файлам

Вы можете закрыть доступ к важным файлам wp-config.php, htaccess, php.ini и логам ошибок. Добавьте это правило из Кодекса Вордпресс:

Если у вас есть файл php5.ini или php7.ini вместо php.ini, замените php.ini в первой строке на ваш файл.

Запретите доступ к PHP файлам

Ограничьте доступ к php файлам тем и плагинов, так как хакеры могут внедрить в них вредоносный код.

Запретите доступ к папке wp-includes

В папке wp-includes находятся важные файлы, которые могут быть использованы для взлома сайта.

Добавьте это правило, чтобы защитить /wp-includes/:

Ограничьте доступ к странице авторизации

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

Вы можете разрешить доступ нескольким статическим IP адресам:

Строки 2 и 3 перенаправляют посетителя на страницу с ошибкой 404, если они пришли не с адресов, указанных в этом правиле. Это правило не вызывает ситуацию цикличных редиректов, поэтому ваш сайт не будет выглядеть как зависший.

Замените /путь-к-вашему-сайту/ в двух первых строках на свой адрес.
Замените IP Адрес 1, IP Адрес 2 и IP Адрес 3 на те IP адреса, с которых вы хотите иметь доступ к страницам wp-login.php и wp-admin.

Если вам нужен только один IP адрес, удалите строки 10 и 11, если вам нужно больше адресов, добавьте нужное количество строк.

Не забудьте дополнить или отключить это правило если вы поедете путешествовать, иначе вы попадете на страницу 404.

Если вы или другие пользователи имеете динамические IP (или Мультисайт), используйте это правило:

Замените  /путь-к-вашему-сайту/ и  /ваш-сайт.ru/  на свой адрес.

Хакеры используют ботов, чтобы пытаться попасть в админку Вордпресс. Это правило определяет, что только те пользователи, которые вручную набрали wp-login.php или wp-admin в браузере, получат доступ к этим страницам.

Этот способ не защитит от хакеров, которые вручную набирают адрес страницы авторизации, но значительно уменьшит количество атак с перебором паролей.

Еще один способ — создайте файл .htaccess в папке wp-admin. Это правило разрешает доступ к папке только указанным ip:

Замените  IP Адрес 1 и IP Адрес 2 на свои IP.

Запретите доступ к директориям сайта

Хакер может получить доступ к папкам сайта, если введет в адресной строке полный путь к нужной папке.

Например, злоумышленник может увидеть содержимое папки uploads, если введет в адресной строке  ваш-сайт.ru/wp-content/uploads/.

Если у вас настроены права доступа, то редактировать эти файлы должно быть невозможно, но доступ к этим папкам все равно лучше запретить.

Чтобы закрыть доступ к директориям сайта, добавьте это правило в .htaccess:

Добавьте лимит на загружаемые файлы

Ограничьте максимальный размер загружаемых файлов 10Мб:

Отключите нумерацию пользователей

Если злоумышленник введёт в строку адреса ваш-сайт.ru/?author=1, он будет перенаправлен на страницу пользователя с ID = 1.

В этом случае хакер будет знать имя пользователя, и ему останется только узнать пароль.

Даже если пользователи используют сложные пароли, злоумышленнику лучше не знать ID пользователей. Добавьте этот код в .htaccess:

или:

Или добавьте этот код в functions.php:

Запретите исполнение PHP файлов в папке Uploads

Обычно хакеры загружают вредоносный код в папку /wp-content/uploads/.

Добавьте это правило, чтобы отключить возможность исполнять php файлы в папке uploads:

Замените /var/www/ в строке 2 на свой адрес.

Если не получается, проблема скорее всего в адресе. Попробуйте разные варианты адреса: полный путь, относительный путь с первым слэшом, относительный путь без первого слэша.

Если ничего не помогает, создайте новый файл .htaccess и поместите его в папку /wp-content/uploads/. Добавьте в него такой код:

Защитите сайт от внедрения вредоносных скриптов

Запретите внедрение кода в php файлы. Добавьте это правило:

Отключите информацию об используемой версии ПО сервера

Подпись Сервера — это служебная информация, в которой говорится, что сайт использует, например, сервер Apache определенной версии и ОС Ubuntu определенной версии.

Чтобы отключить показ версий ПО на вашем сервере, добавьте этот код .htaccess:

или:

Реклама

Калькулятор ОСАГО

Простой способ выгодно купить полис

Удалите пользователя с ID 1

При установке Вордпресс по умолчанию создается пользователь с правами администратора с ID=1. Вы уже знаете об изменении имени пользователя, но кроме этого можно изменить ID администратора сайта.

Создайте нового пользователя с правами администратора, зайдите на сайт под новым аккаунтом и удалите старого администратора с ID 1.

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

Измените текст ошибки при входе на сайт

По умолчанию Вордпресс показывает стандартное сообщение на странице авторизации, когда посетитель вводит неправильный логин или пароль. В этом сообщении говорится, что именно было введено неправильно, — логин или пароль.

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

Чтобы изменить текст сообщения, добавьте эти строки в functions.php.

Замените сообщение в строке 2 на свое сообщение.

Отключите XML-RPC

XML-RPC — это API интерфейс, который используется для доступа к сайту через мобильные приложения, для трекбэков и пингбэков и используется плагином Jetpack. Если вы пользуетесь чем-то из этого, то оставьте эту функцию включенной или частично включенной. С другой стороны, XML-RPC может быть использован хакерами для атак с перебором логинов и паролей.

Вместо того, чтобы пытаться подобрать логин и пароль на обычной странице авторизации, где у вас может быть установлено ограничение на количество попыток входа, бот может попробовать неограниченное количество комбинаций через интерфейс xml-rpc.

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

Чтобы полностью отключить XML-RPC, добавьте это правило в .htaccess:

Установите пароль на доступ к wp-login.php

Вы можете установить дополнительный пароль на доступ к странице wp-login.php или папке wp-admin.

Авторизация для доступа к файлу wp-login.php

Для этого нужно создать файл с паролями и добавить код в .htaccess.

Используйте двух-факторную авторизацию

Двух-факторная авторизацация — это идентификация через логин и пароль и дополнительная идентификация через е-мейл или смартфон. Для включения двойной авторизации есть бесплатные плагины, например, Google Two-Factor Authentication, Google Authenticator или Duo Two-Factor Authentication.

Защита от спама WordPress

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

Плагин Kama SpamBlock — очень эффективное средство для защиты от спама. Если вы знаете что-то более эффективное — поделитесь этим в комментариях.

Плагины безопасности Вордпресс

Sucuri Security

Sucuri Inc является «всемирно признанным авторитетом во всем, что касается безопасности Вордпресс». Так и есть, сервис Сукури предлагает комплексную защиту сайта: обработку и фильтрацию всего входящего трафика на серверах Сукури, кеширование, сеть CDN и гарантию бесплатного лечения сайта в случае, если сайт взломают. 

Бесплатный плагин сравнивает файлы ядра Вордпресс с файлами в репозитарии Вордпресс, сканирует сайт на вирусы, проверяет, был ли сайт был занесен в черные списки и ведет логи событий.

В случае подозрительной активности на сайте плагин посылает сообщение на е-мейл.

Вся эта информация отображается в удобном виде в админке Вордпресс.

Wordfence

Один из самых популярных и мощных плагинов безопасности Вордпресс. Платная и бесплатная версии обнаруживают вредоносный код и защищают сайт практически от всех видов угроз. База данных плагина постоянно обновляется, — как только появляется новая угроза, она попадает в базу данных платной версии, и через 30 дней — в базу бесплатной версии.

В Wordfence есть функция обнаружения изменения или добавления файлов. Когда существующий файл сайта обновляется или добавляется новый файл, Вордфенс сообщает об этом и предлагает отменить изменение или удалить файл.

В Вордфенсе есть функция сканирования файлов сайта, встроенный файрвол и множество других функций.

У плагина более 2-х миллионов установок и высокий рейтинг.

iThemes Security

iThemes Security — мощный плагин из тройки лидеров. У него есть база с последними хаками, бэкдорами и другими угрозами.

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

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

Security Ninja

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

В платной версии добавляется авто-применение защитных функций плагина, сканер ядра, который сравнивает файлы вашей установки Вордпресс с оригинальными файлами на сайте Вордпресс, сканер сайта на наличие вредоносного ПО и облачный файрвол, в который добавляются IP, распространяющие вредоносное ПО и спам.

Весь плагин можно настроить за 15 минут.

All In One WP Security & Firewall

Большой бесплатный плагин со множеством настроек, имеет встроенный файрвол. Защищает файлы сайта и базу данных. Большинство функций работают в пассивном режиме, потребляет мало ресурсов. В платной версии есть сканер сайта на наличие вредоносного ПО.

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

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

BulletProof Security

Еще один плагин, который вы можете использовать. У этого плагина есть премиум версия, в которой доступен полный бэкап сайта и несколько других опций для повышения безопасности.

Defender Security, Monitoring, and Hack Protection

Хороший плагин с простым интерфейсом. Большинство функций доступно только в платной версии.

SecuPress

Плагин сканирует сайт на наличие вредоносного кода, блокирует ботов и подозрительные IP адреса, как и другие плагины. В платной версии доступно больше опций.

SiteLock Security

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

Как поддерживать безопасность сайта

Безопасность Вордпресс — это устранение как можно большего количества уязвимостей, так как уязвимость — это пропуск на сайт. Хакеры ищут самый простой способ попасть на сайт. Сайты с уязвимостями в безопасности являются для них такой целью. С помощью этого руководства вы можете эффективно отражать 99,99% атак на свой сайт.

Используйте плагин безопасности

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

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

Регулярно сканируйте сайт

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

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

Установите частоту сканирования немного меньше, чем частота бэкапа. Если сайт взломают, будет из чего его восстановить.

Просматривайте логи событий

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

Обычно называются «Логи», если вы не можете их найти, спросите у техподдержки.

Логи событий — это записи о том, как кто-то получал доступ к сайту, просматривал важные файлы или пытался получить к ним доступ. Если вы будете время от времени просматривать логи, вы можете обратить внимание на какую-то необычную активность.

Например, если обычные посетители пытались получить доступ к файлам .htaccess или wp-config.php. Если вы видите, что какой-то посетитель получил доступ к этим файлам, это может значить, что ваш сайт взломали.

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

Установите файрвол на сервере

Вы можете установить файрвол на сервере, это защитит сайт и сервер от хакеров еще на подходе. Не путайте файрвол на сервере с WAF (web application firewall), файрволом на сайте, который находится в плагине Wordfence.

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

Вы можете попробовать установить бесплатный файрвол ConfigServer Security & Firewall. Перед установкой поговорите с техподдержкой хостинга, у вас может не быть прав на установку ПО, или, возможно, какой-то файрвол уже установлен на сервере.

Признаки взломанного сайта

1. Постоянные ссылки. Зайдите в НастройкиПостоянные ссылки. Проверьте, что ничего не добавлено к постоянной ссылке. Постоянная ссылка должна выглядеть как %postname%. Если ссылка изменилась на %postname%/%, например,

%postname%/%&({${eval(base64_decode($_SERVER[HTTP_EXECCODE]))}}|.+)&%/

значит, ваш сайт взломали.

2. Непонятный контент: Контент, который вы не размещали, — рекламные баннеры, новые статьи или страницы, и тому подобное. Проверьте все страницы сайта, начиная с Главной.

3. Поисковики: Проверьте свой сайт в поисках, нет ли в выдаче «виагры» вместе с вашим сайтом.

site:ваш-сайт.ru

Замените ваш-сайт.ru на ваш адрес.

Вставьте эту строку в поисковик, посмотрите, как поисковики видят ваш сайт. Некоторые взломы меняют заголовок страницы на рекламный мусор.

4. Неожиданные пики посещаемости: Хакеры используют взломанные сайты для редиректа на свои сайты. Если вы видите внезапное необъяснимое увеличение посещаемости, это может говорить о перенаправлении спам-трафика через ваш сайт на сайты хакеров.

5. Пользователи сайта: Проверьте пользователей сайта, нет ли неизвестных вам юзеров с правами администратора.

6. Файл .htaccess. Страницы сайта ведут на сайт с Виагрой, казино и тому подобное. Зайдите в свой файл .htaccess, проверьте, не добавились ли новые 301 редиректы. В новой установке Вордпресс файл должен выглядеть так:

7. Редиректы: Вредоносные редиректы с главной или другой / других страниц сайта. Вредоносный код мог быть добавлен в файл wp-config.php:

define('WP_HOME', 'сторонний URL);

или

define('WP_SITEURL', 'сторонний URL');

8. Странные таблицы в базе данных: Хакеры могут получить доступ к базе данных и создать новую таблицу с вредоносным кодом, которая может быть похожа на стандартную таблицу Вордпресс. Например, создать новую таблицу wp_pagemeta, которая маскируется под стандартную таблицу wp_postmeta.

Еще одна вещь, которую вы можете — проверить сайт на уязвимости с помощью бесплатного плагина Security Ninja.

Или скачайте сайт на компьютер и проверьте его антивирусом.

Решение проблем со взломанным сайтом

Если сайт взломали, читайте в этом разделе об очистке от вредоносного кода и возвращении сайта в рабочее состояние.

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

Хотя этой информации может показаться много, это стандартная базовая безопасность Вордпресс.

Если эта статья несколько сложна для вас, попробуйте начать с этого:

  1. Минимальная безопасность Вордпресс
  2. Безопасность Вордпресс для начинающих

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

Или обратитесь ко мне, я настрою безопасность на вашем сайте.

Надеюсь, статья была полезна. Оставляйте комментарии.

комментариев 10

  1. Спасибо за такие дельные советы, очень понравилось. Все таки защита блога или сайта — это важная составляющая развития проекта!

  2. Здравствуйте.
    Вы приводите правила только для Apache. Можете продублировать настройки для Nginx?

    Спасибо

  3. Прочитал все Ваши статьи по безопасности, хоть сам давно не новичок. Эта, пожалуй, наиболее полная. Хороша в качестве чек-листа. Немножко дополнений и замечаний, если позволите.

    define(‘FORCE_SSL_LOGIN’, true);
    Более не используется с WordPress 4.0.
    https://wordpress.org/support/article/administration-over-ssl/

    https://codex.wordpress.org/htaccess — неактуальная ссылка.
    Сейчас оно тут: https://wordpress.org/support/article/htaccess/

    В Вашей статье
    https://techbear.ru/bezopasnost-wordpress-dlya-novichkov/
    закрывать /wp-includes/ предлагаете, запрещая исполнение *.php, как и для /wp-content/uploads/.
    Здесь же вместо запрета исполнения предлагаете усложненные RewriteRules. Зачем? У Вас самих на сайте что используется?

    Если уж удалять файлы, то и license.txt заодно. Там уже 1-е слово говорит, что у нас WordPress, далеко ходить не надо.

    Ничего не написали в этой статье про автоматический логаут пользователей. В более простых, для начинающих, писали. А ведь это полезное дело. Особенно, когда сайтом несколько человек занимаются. Человеческий фактор, знаете ли.

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

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

    Связь лимита на размер загружаемых файлов с безопасностью не понятна. Бэкдор весит до 100Кб. Закачают и запустят его — любой лимит, изменяемый на уровне сайта, под себя поменяют.

  4. проблема вот:
    ответ одного из «знатоков»
    «Приветствую.

    Боюсь вас огорчить, по логам у вас там стояла старая версия WP и ничего не обновлялось. По количеству заражений, там уже нечего восстанавливать. Если даже восстановить, заражение будет вновь.

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

    Я просто такими доработками и разработками не занимаюсь.»

  5. «Добрый день,
    Система антивирусного сканирования обнаружила заражение файлов Вашего аккаунта «HQ2 -t — domoctroy.ru».
    Деятельность данного вида нарушает правила пользования нашими услугами, которые размещены по ссылке: https://hostiq.ua/acceptable-use-policy/
    Ввиду активности найденного заражения, мы были вынуждены выполнить блокирование работы сайтов Вашего аккаунта.
    Пожалуйста, примите меры по устранению заражения и его причин и ответьте на данное уведомление в течение 48 часов, иначе мы будем вынуждены приостановить действие услуги.
    Детальная информация касательно возникшей жалобы указана в прикрепленном отчете сканирования.
    Ожидаем Вашего ответа.»

    Отчет прикрепить здесь негде.
    Вопрос к Вам, как к специалисту, как быстро можно убрать вирус и цена вопроса? А желательно и на пальцах объяснили что к чему…
    Жду ответ.

    С ув. Александр.

    P.S.: сайты покупались на телдери (за копейки), доменное имя покупал я сам. Продавец с телдери занимался установкой на хостинг основного сайта и дополнительных. Обещал помочь с проблемой (и копался там где-то на хостинге — давал ему доступ к панели управления), но потом куда-то пропал и ни слуха ни духа.

  6. Здравствуйте, Techbear.
    Столкнулся с проблемой на своем блоге на WordPress.
    Автоматически в index.php добавляется вредоносный код и меняются права на файл.
    Если файл удалить он снова появляется с предоносным кодом.
    Не могли бы что-то посоветовать чтоб прекратить эту атаку?
    Прочитал советы по добавлению параметров .htaccess, но не смог ничего применить касательно index.php
    Заранее благодарен.

  7. Очень ценная инфа. Не сталкивался пока со взломами, но себе в закладки заберу. Мало ли что, может пригодиться…

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Techbear

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

WordPress   WooCommerce   Membership   Elementor   ACF

Обновления блога

Subsription - Gray Footer
Techbear