Techbear
Сайт для тех, кто хочет использовать Вордпресс по максимуму, но не хочет разбираться в коде.
Вы очищаете сайт от контента, который вы не публиковали, но он продолжает появляться на сайте, или Вордпресс сообщает еще об одном аккаунте администратора, но в Пользователях сайта находится только один аккаунт администратора.
Скорее всего, на вашем сайте есть так называемый бэкдор, через который хакер получает доступ к сайту.
В этой статье вы узнаете, что такое бэкдоры, для чего они используются, как можно избавиться от бэкдора вручную или при помощи плагинов и как обезопасить сайт от повторного появления бэкдора.
Содержание:
Когда хакер находит способ для получения доступа к сайту и админской части сайта, не пользуясь обычной страницей входа (сайт.ru/wp-login.php), — это называется бэкдор (задняя дверь).
Хакер создает скрипт, который работает как ключ. Он внедряет его в файловую структуру сайта и получает доступ ко взломанному сайту в любое время, когда ему это нужно. При этом хакер остается незамеченным, потому что не вводит логин и пароль и не пользуется страницей авторизации для входа.
Обычно хакеры делают со взломанными сайтами что-нибудь из этого:
Когда хакер добавляtт файл в файловую структуру сайта, он маскируют его под обычный файл, называя его sunrise.php, php5.php, user-wp.php, wp-config.zip или что-нибудь подобное. Файл с таким названием выглядит как один из стандартных файлов Вордпресс.
Некоторые плагины могут содержать файл sunrise.php, но этот файл должен находиться в папке плагина, а не в главных папках сайта, — wp-includes
, wp-content/plugins
, themes
или uploads
.
Кроме этих папок, хакеры могут добавить изменения в главный файл сайта wp-config.php.
В основном хакеры попадают на сайты через уязвимости в ПО.
Вордпресс достаточно безопасен, но хакеры постоянно находят новые пути для проникновения на Вордпресс сайты. Разработчики устраняют найденные уязвимости, хакеры находят новые, и так далее.
Около 43% сайтов в Интернете работают на Вордпресс. Существует большое сообщество Вордпресс, которое помогает разработчикам тестировать и находить уязвимости до и после выпуска новой версии. Иногда непредвиденная уязвимость попадает в новую версию, тогда новая версия выходит с уязвимостью.
Если хакеры ее обнаружат, они могут проникнуть на сайты с этой уязвимостью. Когда ее обнаружат разработчики, они устранят ее в следующем обновлении.
Даже если новая версия выходит с уязвимостью, это не значит, что Вордпресс небезопасен. Если вы постоянно обновляете Вордпресс, то последняя версия не содержит известных уязвимостей.
Если не обновляете, то хакеры могут проникнуть на ваш сайт по списку известных уязвимостей, который находится в открытом доступе.
То же самое относится к темам и плагинам. Иногда они содержат уязвимости, и если вы не обновляете софт регулярно, хакеры могут использовать уязвимости старых версий чтобы проникнуть на сайт.
Темы и плагины создаются разными разработчиками или компаниями, поэтому некоторые из них могут быть написаны недостаточно хорошо. Cуществует список минимальных требований, которым софт должен соответствовать, но эти требования являются довольно общими и нестрогими.
Устанавливайте темы и плагины, которые регулярно обновляются, имеют совместимость с последней версией Вордпресс и большое количество установок.
Если вы подозреваете, что ваш сайт был взломан, то перед тем как начинать поиск взлома сделайте полный бэкап сайта. Например, бесплатными плагинами All-in-One WP Migration или UpdraftPlus.
Или сделайте бэкап на хостинге. Если что-то пойдет не так, вы сможете вернуться к первоначальному варианту.
Первое, что вы можете сделать — поискать решение вашей проблемы в Яндексе или Гугле, или на блогах известных плагинов безопасности, например Wordfence или Sucuri, или на специальном сервисе Вордпресс, — WordPress Trac. На Вордпресс Трак вы можете найти проблему и возможное решение с Вордпресс, темами или плагинами, или создать новый тикет с вашей проблемой. Все сайты на английском.
Если эти сайты или Гугл / Яндекс не помогли, очистите кеш, удалите cookies и зайдите на сайт. Если сайт определяет вас как администратора, зайдите в другом браузере или в режиме Инкогнито.
Если вы видите сообщение, что подключение не защищено, это может быть знаком, что сайт взломан.
Такое сообщение появляется, когда SSL сертификат работает неправильно. Если вы видите изображение желтого или красного замка рядом с URL адресом в браузере, кликните по нему и прочитайте сообщение.
Если срок действия сертификата истек или он стал недействительным, то обновите его. Сертификат может стать недействительным по разным причинам, например, изменился стандарт шифрования, но сертификат использует предыдущий стандарт. Текущий стандарт — SHA3.
Если вы видите сообщение, что сертификат не установлен или выпущен недоверенным издателем, тогда ваш сайт может быть взломан. Пройдите по сайту, вы можете найти какой-то спам или непонятный контент на Страницах, в Постах или в Комментариях.
Еще одна проверка — скопируйте ссылку на главную страницу или какой-нибудь пост и вставьте ее в Фейсбук, ВКонтакт или мессенджер и дождитесь загрузки предпросмотра. Если вы видите какой-то спам в описании, значит, хакеры вставили его в скрипт шапки сайта.
После того, как вы проверили спам на всем сайте, проверьте пользователей в Пользователи — Все пользователи.
Проверьте количество пользователей на верхней стрелке. Если их больше, чем вы ожидали, то у вас на сайте есть бэкдор.
Хакер может добавить себя не только в роли Администратора или Супер Администратора для мультисайта, но и назначить новому пользователю какую-то другую роль, поэтому проверьте всех пользователей сайта.
Если вы не можете войти на сайт под аккаунтом Администратора, даже если вы пытаетесь восстановить пароль, это может быть еще одним знаком, что ваш сайт взломан.
Еще одно место, которое надо проверить — файлы сайта на сервере.
Зайдите на сервер через хостинг-панель или по FTP и сравните файлы, которые находятся на сервере с файлами в Кодексе Вордпресс. Если вы нашли файлы, которых там не должно быть, откройте их и посмотрите что в них находится.
Если вы видите код, который выглядит как что-нибудь вроде eval($_POST['цифры-буквы-символы']);
или eval(base64_decode("цифры-буквы-символы"));
, скорее всего, вы нашли бэкдор.
Хакеры часто используют эти функции:
Иногда такой код может принадлежать темам или плагинам, но в большинстве случаев это бэкдор.
Удалите этот файл и проверьте остальные файлы, хакеры часто создают несколько бэкдоров, поэтому если вы пропустите один из них, хакеры в дальнейшем могут его использовать.
Скачайте последнюю версию Вордпресс на компьютер, распакуйте архив и сравните каждый файл из архива с файлами на сервере. Если вы увидите какое-то отличие, замените файл на сервере файлом из архива Вордпресс.
В зависимости от вашей ситуации вы также можете проверить темы и плагины. Или можете удалить все плагины и темы, кроме активной и родительской, если вы пользуетесь дочерней темой.
Реклама
Простой способ выгодно купить полис
Поиск измененных файлов — долгая и нудная работа, которую можно частично автоматизировать при помощи команд в SSH терминале.
Команды, которые будут использоваться ниже, могут не работать в некоторых терминалах, читайте документацию к терминалу. Кроме этого, доступ к серверу через SSH может быть выключен на хостинге. Включение этой функции на разных хостингах может находиться в разных местах, на моем хостинге это находится в разделе FTP.
Откройте терминал, который вы используете, например, Terminal для Маков или PuTTY для Windows, я использую встроенный терминал на хостинге, и введите такую строку:
find /путь/к/вашему/сайту -type f -name "*.php" -ctime -2
Эта команда проверит все PHP файлы, которые были изменены за последние 2 дня. Замените /путь/к/вашему/сайту
на ваш путь. Также вы можете заменить .php
на другое расширение.
Просмотрите результаты поиска, вы можете найти файлы, которые не изменяли.
Если не нашли, проверьте изменения за 4 дня. Постепенно увеличивайте диапазон поиска, пока не найдете изменения.
После того, как вы выяснили, когда посторонний скрипт был внедрен на сайт, вы можете восстановить сайт из бэкапа с более ранней датой. Это короткий путь для возвращения сайта в состояние до внедрения бэкдора.
После восстановления замените все пароли к аккаунтам администратора и пользователей, пароли к FTP и хостингу, ключи и соли в файле wp-config.php, и там же можно заменить пароль к базе данных и в приложении phpMyAdmin.
Если вы хотите найти бэкдор вручную, то заходите в нужную папку при помощи команды cd /путь/к/вашему/сайту/папка/
. Замените /путь/к/вашему/сайту/папка/
на адрес папки, затем введите vi имя.php
, чтобы просмотреть содержимое файла. Замените имя.php
на нужное имя файла.
Теперь вы можете сравнить содержимое файла с содержимым файла свежей версии из репозитария Вордпресс. Если нужно, отредактируйте файл, после редакции наберите :wp
для сохранения и выхода, или :q
для выхода.
Чтобы удалить файл, наберите rm -rf имя.php
. Замените имя.php
на имя вашего файла.
Если вы обнаружили еще один аккаунт администратора или пользователя с другой ролью, который не отображается в Пользователях сайта, вы можете найти этого пользователя в базе данных сайта.
Зайдите в phpMyAdmin на хостинге и откройте базу данных. В списке слева кликните таблицу wp_users. В поле справа должны появиться все пользователи сайта.
Если вы видите какого-то пользователя, которого не должно быть, нажмите кнопку Удалить. Если у вас Мультисайт, кликните wp_sitemeta в списке таблиц слева и проверьте записи всех пользователей.
Посмотрите поле site_admins, вы можете найти неизвестного вам пользователя. Если хакер создал скрытый аккаунт, вы должны увидеть что-нибудь подобное:
a:2:{i:0;s:12:«sergeypetrov»;i:1;s:6:«hacker»;}
Вместо части hacker
должно быть какое-то имя, которое вы не узнаете. Чтобы удалить этот аккаунт, нажмите на кнопку Редактировать рядом с этой записью, и удалите часть, добавленную хакером, так что должно получиться так:
a:1:{i:0;s:12:«sergeypetrov»;}
Если у вас на сайте несколько аккаунтов, тогда удалите только часть, добавленную хакером: i:1;s:6:«hacker»;
. Вместо hacker
может быть другое имя, которое использует хакер.
Обратите внимание, что начало строки изменилось с a:2:
на a:1:
. Это значает, что у вас 1
аккаунт администратора. Если у вас несколько администраторов, например, 2
, то строка должна начинаться с a:2:
.
Переменная 12 в части i:0;s:12:
означает, что имя администратора состоит из 12 символов. Если вы захотите изменить ваше имя пользователя, то эта переменная должна соответствовать количеству символов в новом имени пользователя. Имя пользователя чувствительно к регистру.
После того, как вы удалили неизвестного пользователя, выберите Сохранить в выпадающем списке внизу страницы и нажмите Вперед.
Установите плагин Anti-Malware Security and Brute-Force Firewall, и просканируйте им сайт.
Кроме этого плагина вы можете попробовать плагины NinjaScanner и Quttera Web Malware Scanner.
Другой способ избавиться от хакеров и всех бэкдоров, — найденных и ненайденных — скачать сайт на компьютер и проверить антивирусом.
Еще один способ — проверить и вылечить сайт на платном сервисе.
Радикальный способ — переустановить Вордпресс или сбросить настройки по умолчанию.
Восстанавливать или лечить сайт всегда сложнее, чем заранее усилить безопасность сайта. Усилить защиту можно вручную, или при помощи плагинов.
После того, как вы вылечили сайт, установите один из этих плагинов, чтобы усложнить хакерам взлом сайта в следующий раз.
Sucuri Security — лучший сервис защиты сайта. Они предлагают файрвол на уровне DNS, кеширование, подключение сайта к фирменному CDN и бесплатное лечение и удаление сайта из черных списков, если сайт был взломан.
Весь трафик, идущий на сайт, проходит через их облачный прокси сервер, где проверяется каждый запрос к сайту. Безопасные запросы проходят к сайту, вредоносные запросы блокируются на их сервере.
Sucuri увеличивает производительность сайта, потому что забирает на свой сервер нагрузку по обработке вредоносного трафика. Ускоряет сайт кешированием и оптимизацией и копирует сайт на фирменный CDN Anycast. Сукури защищает сайт от SQL-инъекций, XSS атак, RCE, RFU, троянов, бэкдоров и всех других известных угроз.
Один из самых известных и мощных плагинов безопасности. Wordfence может определять, что файлы были изменены и очищает сайт, если он был заражен. Защищает сайт от всех возможных типов угроз.
У плагина есть встроенный файрвол на уровне сайта и сканер. Плагин постоянно обновляется и имеет все последние исправления уязвимостей. В бесплатной версии база плагина обновляется с задержкой в 30 дней.
Работает с Мультисайтом, легко устанавливается, имеет большое количество настроек, которые подробно описаны. Есть бесплатная и премиум версии.
iThemes Security может находить и очищать поврежденные файлы в несколько кликов, и защищает сайт от новых атак.
Плагин скрывает стандартную страницу авторизации, может менять ключи безопасности и делать полный бэкап сайта.
Также работает с Мультисайтом, устанавливается как обычно, большое количество настроек, есть бесплатная и платная версии.
Большой бесплатный плагин со множеством настроек, имеет встроенный файрвол, защищает файлы сайта и базу данных. В платной версии есть сканер сайта на наличие вредоносного ПО.
Проверяет файлы и базу данных, и сообщает об изменениях. Меняет стандартную страницу авторизации, скрывает версию Вордпресс, меняет префикс базы данных и еще десятки других функций. Ко всем функциям есть описания.
Плагин скорее предназначен для предупреждения заражений, чем для лечения, поэтому его лучше устанавливать на свежий сайт. Один из лучших бесплатных плагинов.
Бесплатный плагин с функцией подробного анализа сайта на наличие уязвимостей, через которые сайт может быть инфицирован. Можно установить этот плагин для проверки сайта на наличие уязвимостей.
В платной версии добавляется сканер ядра, который сравнивает файлы вашей установки Вордпресс с оригинальными файлами на сайте Вордпресс, сканер сайта на наличие вредоносного ПО и облачный файрвол, в который добавляются IP, распространяющие вредоносное ПО и спам.
VaultPress защищает сайт от разнообразных угроз и сканирует ядро Вордпресс на изменения в файлах. Остальные файлы не сканирует.
В платной версии находится еще больше возможностей по защите сайта и функция бэкапа. Совместим с Мультисайтом, но каждый подсайт требует своей собственной лицензии.
Бесплатный плагин, который может сканировать файлы на наличие в них вредоносного ПО и помещать их в карантин, пока вы не решите, что с ними делать. Защищает сайт и имеет встроенный файрвол.
Совместим с Мультисайтом и прост в установке и настройке. В платной версии имеет защиту от спама и функции бэкапа и восстановления сайта.
Shield WordPress Security защищает сайт от всех последних угроз, имеет встроенный файрвол, защиту от спама и ограничения на авторизацию на странице входа на сайт. Хороший простой плагин, если вы не хотите тратить время на изучение более сложных плагинов.
После того, как вы очистили сайт от вредоносного кода, его надо защитить от повторного заражения.
Используйте популярные темы и плагины, настройте автообновление и установите один из плагинов безопасности. Некоторые плагины безопасности могут сканировать сайт по расписанию и сообщать о подозрительных событиях на е-мейл. Я пользуюсь Sucuri Security.
Читайте также:
Надеюсь, статья была полезна. Оставляйте комментарии.
Сайт для тех, кто хочет использовать Вордпресс по максимуму, но не хочет разбираться в коде.