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

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

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

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

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

В данной статье мы рассмотрим:

Насколько безопасен ВордпрессПочему веб-сайт будет целью для злоумышленниковКак хакеры получают доступ к сайтуОсновы безопасности сайтаКак скрыть данные о WordPress

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

Плагины безопасностиКак поддерживать безопасность веб-сайта

  1. Используйте плагин безопасности
  2. Регулярно сканируйте веб-сайт
  3. Просматривайте логи событий
  4. Установите файрвол на сервере

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

Насколько безопасен WordPress

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

Платформы взломанных веб-сайтов - 2017

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

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

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

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

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

  • Почему у вас должна быть последняя версия WordPress
  • Ручное и Автоматическое обновление WordPress

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

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

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

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

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

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

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

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

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

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

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

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

  • Межсайтовое выполнение сценариев( 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) — хакер управляет сервером частично или в полном объеме для выполнения удаленных запросов.

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

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

Уязвимости WordPress

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

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

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

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

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

Данные рекомендации увеличат безопасность компьютера и веб-сайта:

  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. Регулярно обновляйте WordPress, плагины и темы.
  14. Не одобряйте непонятные комментарии с бэклинками.
  15. Используйте популярные плагины с большим числом установок и частым обновлением.
  16. Установите SSL сертификат на веб-сайт.
  17. Используйте CDN, это помогает предотвратить DoS и DDoS атаки.
  • Бэкап WordPress
  • Минимальная безопасность WordPress

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

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

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

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

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

Удалите версию WordPress

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

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

  • Как скрыть версию WordPress

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

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

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

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

  • 2 Метода настроить страницу входа в админку без плагина
  • Как настроить страницу входа WordPress: 5 плагинов

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

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

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

  • Как настроить файловую структуру WordPress

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

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

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

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

  • Как настроить имя посетителя в WordPress

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

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

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

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

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

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

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

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

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

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

или

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

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

  • Параметра wp-config.php для безопасности WordPress

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

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

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

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

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

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

Файлам и папкам WordPress должны быть даны права доступа 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 и базу данных.

  • Как настроить префикс базы данных

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

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

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

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

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

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

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

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

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

  • Ключи и соли WordPress

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Режим отладки WordPress

Включите автообновление WordPress

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

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

  • Ручное и Автоматическое обновление WordPress

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

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

  • Редактирование файла .htaccess для безопасности WordPress

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

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

Если у вас есть файл 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/ на адрес.

Хакеры используют ботов, чтобы пытаться попасть в админку WordPress. Это правило определяет, что только те посетители, которые вручную набрали 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 :

или:

  • Как отключить информацию о версии ПО в ответах Сервера
  • Ещё пару снипетов 1, 2, 3, 4, 5 в .htaccess для безопасности WordPress.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Как отключить XML-RPC

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

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

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

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

  • Как установить пароль на wp-login.php (wp-admin)

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

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

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

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

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

Плагины безопасности WordPress

Sucuri Security


Sucuri Security — Auditing, Malware Scanner and Security Hardening

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

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

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

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

  • Подробное описание Sucuri Security
  • Как изменить мощную защиту веб-сайта с файрволом на уровне сервера на основе бесплатной версии Sucuri Security

Wordfence


Wordfence Security — антивирус, брандмауэр и сканер вредоносных программ

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

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

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

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

iThemes Security


iThemes Security (ранее Better WP Security)

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

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

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

Security Ninja


Security Ninja — Secure Firewall Secure Malware Scanner

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

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

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

  • Подробное описание Security Ninja Pro

All In One WP Security & Firewall


All In One WP Security Firewall

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

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

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

BulletProof Security


BulletProof Security

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

Defender Security, Monitoring, and Hack Protection


Defender Security — Malware Scanner, Login Security Firewall

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

SecuPress


SecuPress Free — WordPress Security

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

SiteLock Security


SiteLock Security

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

  • 7 Лучших плагинов безопасности

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

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

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

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

  • Как изменить мощную защиту веб-сайта с файрволом на уровне сервера на основе бесплатной версии Sucuri Security
  • Как усилить защиту Security Ninja Pro до лучших премиум плагинов безопасности

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

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

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

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

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

  • Бэкап WordPress
  • Что делать, если веб-сайт взломали

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

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

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

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

К примеру, если обычные пользователи пытались приобрести доступ к файлам .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 редиректы. В новой установке WordPress файл должен выглядеть так:

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

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

или

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

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

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

  • Как проверить WordPress веб-сайт на безопасность

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

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

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

  • Чек-лист: Что делать, если веб-сайт взломали
  • Как вылечить от вирусов WordPress веб-сайт
  • Как удалить бэкдор с WordPress веб-сайта
  • Как удалить веб-сайт из черных списков
  • 2 Примера взлома и лечения веб-сайта
  • Как зайти в админку после взлома веб-сайта
  • Как найти следы взлома в логах сервера

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

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

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

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

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

  • Безопасный WordPress за 2 вечера. Настроил и забыл.

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

Добавить комментарий

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