Как удалить вируса с сайта на WordPress

Безопасность сайта

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

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

Шаг 1: Подготовка

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

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

Установите плагин «Maintenance Mode». Этот плагин позволяет временно перевести сайт в режим обслуживания. В режиме обслуживания пользователи видят специальную страницу с уведомлением о временной недоступности.

Шаг 2: Резервная копия

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

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

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

Полная резервная копия через SSH

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

Используйте SSH-клиент (например, PuTTY для Windows или терминал для macOS/Linux), подключитесь к вашему серверу с использованием предоставленных SSH-учетных данных.

Пример команды для подключения: ssh username@your-server-ip

Создание архива всех файлов сайта:

Используйте SFTP (защищенная версия FTP) для загрузки архива на ваш локальный компьютер.

Резервное копирование через SFTP

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

Используйте SFTP-клиент, например, FileZilla или WinSCP. Получите свои SFTP-учетные данные (они обычно те же, что и для FTP, но с другим портом, протоколом). Убедитесь, что вы используете порт 22 для SFTP (по умолчанию порт 21 используется для FTP).

Подключившись к серверу, выберите все папки вашего сайта, скачайте их в локальную папку, например, назвав её backup-pre-cleanup.

Этот процесс может занять больше времени, чем использование SSH, особенно если у вас много файлов.

Резервное копирование базы данных

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

1. Экспорт базы данных через PhpMyAdmin:

2. Экспорт базы данных через SSH:

Шаг 3: Сканирование сайта WordPress на наличие вируса

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

Еще можно воспользоваться онлайн-сканерами безопасности: Sucuri SiteCheck или VirusTotal.

Для WordPress есть свои плагины, которые позволяют выполнить сканирование сайта. Хорошими вариантам будут:

Wordfence Security. Предоставляет комплексные решения для безопасности, включая антивирусное сканирование, межсетевой экран (WAF), мониторинг активности.

Преимущества:

Sucuri Security. Предоставляет инструменты для защиты, мониторинга, восстановления сайтов от различных угроз. Основной акцент Sucuri делает на WordPress, но также поддерживает и другие платформы.

Преимущества:

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

Шаг 4. Анализ логов и отслеживание изменений на сервере

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

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

Скачайте логи доступа. Если не можете найти их сами, запросите помощь у вашего хостинга. Обычно логи хранятся в папках /var/logs, /logs или аналогичных директориях на сервере.

Ищите подозрительные запросы. Выполните поиск по ключевым словам, таким как POST. Это поможет выявить попытки отправки данных на ваш сервер, что может указывать на вредоносную активность.

Анализируйте даты и IP-адреса. Обратите внимание на даты и IP-адреса, с которых поступали запросы. Ищите аномалии, такие как многократные запросы с одного IP-адреса или запросы в необычное время.

Пример поиска в логах: grep «POST» access_log | less

Эта команда покажет все POST запросы в логе доступа.

Проверка изменений в PHP и JavaScript файлах

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

Подключившись к вашему серверу через SSH, выполните команду для поиска всех PHP-файлов, измененных за последние 7 дней:

find . -type f -name ‘*.php’ -ctime -7

Проверка для JavaScript:

Выполните аналогичную команду для поиска измененных JavaScript-файлов.

find . -type f -name ‘*.js’ -ctime -7

Параметры команды find:

Примеры изменения параметров ctime:

Шаг 5: Очистка зараженных файлов

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

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

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

Не забудьте про файлы ядра. Сравните их с официальной версией. Замените измененные на оригинальные версии.

Шаг 6: Обновите доступ к админпанели

Необходимо удалить неактивные учетные записи и обновите пароли для активных учетных записей. Убедитесь, что ни один из ваших администраторов не использует имя пользователя Admin или Administrator.

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

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

Шаг 7: Сбросить все пароли

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

Нужно пересоздать все текущие профили FTP/SFTP. Менеджеры паролей помогут создать и хранить сложные пароли, обеспечивая высокую безопасность.

Wordfence Security: Обеспечивает полную защиту, включая файрвол, сканирование на наличие вредоносного ПО и систему оповещений.

Sucuri Security: Обеспечивает мониторинг целостности файлов, контроль аудитории и защита от атак.

iThemes Security: Предлагает множество функций безопасности, включая защиту от брутфорс-атак и регулярные сканы на наличие уязвимостей.

Двухфакторная аутентификация добавляет дополнительный уровень безопасности к административной панели. Используйте плагин, такой как Google Authenticator или Authy, для настройки 2FA.

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

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

Настройте автоматическое создание резервных копий сайта.

Шаг 8: Постоянный мониторинг

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

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

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

Возврат к списку

Остались вопросы?

Оставьте заявку в форме ниже, и я Вам перезвоню.