WordPress и вирусы. Как избавиться от вируса на сайте?
Предлагаем небольшой лайфхак по безопасности сайтов на Wordpress. Как одна из самых популярных CMS в мире, она подвержена большому количеству хакерских атак, взломов и троянов. Надеемся, предложенное решение проблемы с вирусами на Wordpress Вам поможет. Более того, решение можно использовать и для других систем. Единственное исключение — предложенные модули и плагины по безопасности WP сайта. Мы не будем говорить о смене паролей и других элементарных вещах. Основной акцент на поиске зараженных файлов и предотвращении заражения сайта в будущем.
Если Ваш сайт внешне не изменился, сраницы открываются все так же быстро — это не значит, что сайт не взломан.
С момента взлома сайта до очевидных свидетельств взлома может пройти от нескольких недель до пары месяцев.
Как понять, что сайт взломан?
Есть очень много сервисов и программ, которые проверяют сайты и отдельные файлы на вирусы. Идем с наименее сложных до более точных способов:
- Проверяем вебмастер. Идем в Search Console и смотрим в разделе Состояние — Вредоносные программы. Если Google увидит на сайте вредоносные программы, он обязательно об этом уведомит вебмастера. Аналогично проверить сайт можно и в разделе Безопасность (если вы используете Яндекс.Вебмастер). Скорее всего эти сервисы ничего не покажут, так как находят «очевидные вирусы».
- Используем сканеры вирусов. Проверка пройдет довольно быстро и ничего, кроме как URL-адреса страницы или загрузки файла не требуется. Можем порекомендовать:
- www.virustotal.com может проверить как сайт, так и отдельный файл. Для этого просто указываем URL-адрес.
- 2ip.ru/site-virus-scaner позволяет проверить сайт по URL страницы.
- vms.drweb.ru/online/
- xseo.in/viruscan
- antivirus-alarm.ru/proverka/
Еще один момент. Компании, которые предоставляют хостинг могут только указать на зараженные файлыы или наличие вирусов. Они не будут сами лечить Ваш сайт и востанавливать удаленные/поврежденные файлы.
5. Просмотреть файлы сайта вручную. Если вы видите странные файлы, это первый признак того, что сайт взломан. Примеры таких файлов в WordPress:
- nmadsobw.php
- favicon_79f150.ico
- index-page21.php
- tmp.php
Способ непростой, и требует понимания файловой структуры WordPress. При этом, это довольно действенно и позволяет устранить вирус или его последствия. Например, довольно часто наблюдаются лишние папки в корне сайта:
- /blogs/media/lohjies.php
- /tmp/.hidden
Еще одна особенность зараженного сайта — в обычных файлах можно найти конструкции следующего характера:
Подобные фрагменты кода легко обнаружить в index.php, wp-config.php, header.php и так далее. Три безобидные строчки подключают на ваш сайт, а точнее — все страницы сайта вредоносный файл в виде скрипта или иконки сайта! Да, именно .ico файл может быть зараженным. Эта уязвимость называется WordPress SoakSoak Favicon Backdoor. И многие сайты были взломанны именно из-за нее. Она распространяется в установочных архивах плагинов и создает в самых разных папках сайта файлы иконок favicon_****.ico. Вместо **** могут быть любые символы и цифры.
Использование терминала (SSH) для поиска уязвимостей
Самым действенным является проверка кода сайта на содержание условно опасных конструкций. Именно в этом нам помогает SSH доступ к сайту и знание консольных команд Linux. Даный способ сработает, если вы знаете зараженные файлы и можете посмотреть их код. Это нужно для того, чтобы обозначить уникальные фрагменты или идинтификаторы переменных. Так как CMS WordPress написана на PHP, нужно хотя бы базовое знание языка и понимание синтаксиса.
В преведенном выше примере рекомендую искать код используя следующую команду:
Это команда выведет список всех файлов, которые содержат фрагмент кода @include «\. Таким же образом можно искать и другие фрагменты кода, например:
- !defined(‘ALREADY_RUN
- $_COOKIE;
- «base» . «64_decode»
Плагины безопасности сайта для WordPress
Мы протестировали свыше десяти различных плагинов для безопасности сайта на WordPress. Несколько наблюдений:
- Бесплатная версия Wordfence Security не решает проблему с вредоносными .ico файлами.
- Мало пользы принес WordPress File Monitor, так как его функционал легко заменяется комплексными плагинами по безопасности.
- Наиболее функциональным, на наш взгляд, оказался All In One WP Security.
У плагина есть метрика безопасности. Изначально, она ровна 0 и в процессе настройки плагина ее нужно увеличить. Вот так выглядит дашборд плагина:
Алгоритм действий по повышению безопасности сайта:
- заменяем имя пользователя admin на другое, менее распространенное и более уникальное;
- защищаем авторизацию (несуществующий пользователь, ограничение попыток, блокировка по IP). В целях безопасности залогиненого пользователя без активных действий, через час после авторизации будет выбрасывать с системы;
- имзеняем префикс таблиц базы данных. Вместо wp_ устанавливаем что-то более безопасное;
- включаем файрволл, ограничиваем доступ к XML-RPC и всем .log файлам. Защищаемся от просмотра директорий, XSS-атак и HTTP-трассировки;
- меняем адрес для входа в админ-панель. Вместо /wp-admin ставим что-то запоминающееся, но не очевидное (admin, administrator, backoffice и .т.д не используем). Капчу не включаем, но если понадобиться — плагин позволяет это сделать;
- есть утилита для отслеживания изменений в файлах с автооповещением и настраиваемой частотой сканирования. Сканирование вредоносных программ (malware) отсутствует, потому не ожидайте, что плагин сам укажет все файлы, которые содержат вирус;
- плагин рекомендует настроить права на файлы и папки, что поможет еще больше обезопасить сайт.
Сразу после изменений имеем картину:
При этом, использованы около половины самых очевидных и простых функций плагина.
Настойки плагина Sucuri SecurityЕще один довольно популярный плагин для обеспечения безопасности. Среди явных преимуществ следует выделить следующее:
- детальные логи пользователей и статистика вызовов Iframe и Javascript;
- мониторинг сайта в списках вирусных баз Google, Yandex, SpamHaus и так далее;
- выдает рекомендации по настройке Apache;
- сканер показывает Scheduled Tasks, которые выполняются системой автоматически. Иногда, можно найти много интересного;
- функциональная и очень настраиваемая система уведомлений;
- из минусов — Website Firewall Protection это платна услуга.
Это далеко не все плагины, которые были нами протестированы и опробваны. Возможно, эта статья будет дополнена и улучшена со временем. Старайтесть не подвергать свои сайты опасности.