Здравствуйте, друзья. Сегодня поговорим о том, как проверить сайт на вирусы и исправить проблемы заражения.
Каждый четвертый сайт в интернете сделан на вордпрессе. Стал бы WordPress так популярен, если бы был «тормозной, глюкнутый и дырявый»? Все эти заблуждения основаны на примерах бездумного применения огромного количества плагинов и шаблонов полученных из подозрительных источников, а также нарушения основных правил обеспечения надежности и безопасности сайта.
Сам по себе движок написан грамотно, постоянно развивается, а обнаруженные ошибки и уязвимости оперативно устраняются.
Выход новых версий означает появление новых возможностей, по нумерации они отличаются второй цифрой, например, 4.5, 4.6, 4.7… При обнаружении в них ошибок выпускаются их исправления, они обозначаются третьей цифрой, например, 4.6.1.
Поэтому при выходе новой версии не стоит торопиться сразу обновляться, необходимо некоторое время подождать, чтобы авторы проверили на совместимость и обновили свои шаблоны и
плагины. Убедитесь, что все работает корректно и только тогда обновляйтесь.
А вот с плагинами и шаблонами все гораздо хуже, их огромное количество и не все авторы добросовестно работают над кодом. Нужно быть внимательными при выборе того, что ставите на свой сайт.
Если ошибки в коде приводят к некорректной работе сайта, глюкам, несовместимости, порче и пропаже данных и файлов, то уязвимости открывают двери для злоумышленников и вредителей, пытающихся получить доступ на ваш сайт и сервер.
Атаки можно разделить на два вида:
- Первый – это непосредственно попытки подобрать логин и пароль для доступа в админку, так называемый брутфорс (перебор случайных комбинаций или популярных вариантов логинов и паролей по заготовленному словарю).
- Второй вид – массированная отправка специально подготовленных запросов к вашему сайту, которые используют изъян в коде и получают доступ к базе данных, возможность загрузить файл или выполнить определенные команды.
Для корректной и безопасной работы вашего сайта, вам необходимо изучать и применять способы по защите и оптимизации. Это достигается дисциплиной (определенным набором простых мер и действий) и применением специальных плагинов и сервисов.
Диагностика сайтов
Первым делом нужно проверить, все ли в порядке с вашим сайтом. Различные тестирующие сайты-утилиты обладают схожим функционалом и делают следующие проверки:
- Не находится ли ваш сайт или сервер в спам базе.
- Не находится ли ваш сайт в списке зараженных сайтов.
- Нет ли на проверяемой странице вредоносного кода.
- Если получится опознать установленные плагины, то определить устаревшие или уязвимые.
- Есть ли на сайте установленный фаервол или защита.
- Выполнены ли рекомендации по скрытию небезопасной информации.
Для использования рекомендую следующие сервисы:
Сервис Sucuri.
https://sitecheck.sucuri.net/
Вводите в поисковую строку название своего сайта (1) и жмете кнопку «Сканировать сайт» (2).
После окончания сканирования вы можете посмотреть в вкладке «Результат проверки сайта» (1) уровни рисков заражения (4-8).
В вкладке «Детали сайта» (2) вы увидите ваш IP-адрес, детали системы, какая версия движка используется и многое другое.
Во вкладке «Blacklist Status» (3) можно проверить статус своего сайта в различных системах.
Также вы можете посмотреть все скрипты, плагины и расширения установленные на вашем сайте.
Сервис проверки сайта по всем популярным вирусным базам Virustotal.
https://www.virustotal.com/
Также вводите название своего сайта, выбираете вкладку проверки URL- адреса (1) и жмете кнопку «Проверить».
После сканирования вы сможете видеть результаты проверки своего сайта в различных сервисах. Если все зеленое, значит с сайтом все в порядке.
Проверка наличия опасного кода или вредных вставок в сервисе Rescan.
https://rescan.pro/
Вводите название сайта в поисковой строке (1), ставите галочку в проверке капчи (2) и нажимаете «Проверить» (3).
После проверки вы увидите окно со всеми проблемами и замечаниями для вашего ресурса.
WordPress securiti scanner.
https://wploop.com/wordpress-security-online-scanner/
Этот сервис выполняет дополнительные проверки доступности различных системных и служебных файлов и заголовков. Само по себе это не несет никакого вреда, но это может дать злоумышленнику информацию о вашем сайте, а значит подсказать возможные варианты атаки на него.
Для обеспечения максимальной безопасности считается полезным скрыть любое упоминание об установленных плагинах, а также скрыть любые признаки того, что этот сайт сделан на вордпрессе.
Сервис проверки сайта GOOGLE.
Непосредственно из первых рук вы можете получить информацию о своем сайте у
Google, чтобы узнать, что он думает по этому поводу.
https://www.google.com/transparencyreport/
safebrowsing/diagnostic/index.html
Основным недостатком подобных сервисов является то, что они могут только поверхностно проанализировать ваш сайт, точнее его одну проверяемую страницу.
Кроме этого, у этих сервисов нет доступа непосредственно к php файлам движка, плагинов и шаблона.
Поэтому их стоит использовать только для быстрой поверхностной диагностики, и, в случае обнаружения проблем, делать более глубокое и тщательное исследование.
Первый, простой способ, это скачать все файлы сайта локально на компьютер и проверить антивирусом. При обнаружении вредного кода, антивирус будет пытаться его удалить из файла или удалить весь зараженный файл целиком.
Следующий способ – запустить (если есть) антивирусную проверку на хостинге. Проверьте, доступна ли вам такая услуга.
Плагин Antivirus позволяет самостоятельно выполнять антивирусную проверку прямо на сайте.
Однако его ограничение – выполнение проверки только файлов шаблона.
Для проверки кода плагинов есть хороший инструмент Plugin Inspector.
Он проверяет код плагинов на устаревшие функции, а также потенциально уязвимый код, который может быть использован во вред сайту. Вся эта информация более полезна продвинутым программистам, однако простые пользователи могут делать поверхностную оценку – стоит эти плагины оставить или лучше удалить, если они вызывают слишком много предупреждений. Особенно, если плагин найден где-то в интернете на какой-то свалке.
А для инспекции качества кода шаблонов используйте плагин Theme Check.
Он проверяет код на соответствие стандартам WordPress и это может оказаться решающим фактором в вопросе выбора между несколькими кандидатами на использование.
Всегда держите в голове базовое правило, обеспечивающее быструю и безопасную работу сайта:
- ставить минимум плагинов,
- все ненужное удалять,
- то что есть – регулярно обновлять,
- следить за порядком.
Поэтому если понадобилось решить какой-либо срочный локальный вопрос или протестировать плагин – скачали, использовали, удалили.
Если есть возможность выбора одного плагина из нескольких вариантов – выбирайте тот, что доступен из официального источника. А среди официальных – выбирайте тот, что посвежее и регулярно обновляется.
При оценке плагина ориентируйтесь на отзывы других пользователей, принимайте во внимание адекватные и развернутые отзывы.
Чистка сайта от вирусов.
Если антивирус что-то нашел, предупреждение вылезло и красным написало, что делать?
Если вредный код обнаружен только в одном файле, это не означает, что он может быть только в этом файле. Вирусы могут глубоко прятать в самые неожиданные места, даже в код изображений.
При любой ненормальной активности и значительном заражении рекомендуется произвести полную очистку всего сайта.
Для начала полностью удалите все файлы и папки сайта, кроме wp-config.php и папки wp-content. Таким образом вы не трогаете весь контент сайта, который сохранен в базе данных, все загруженные файлы, плагины и шаблоны, которые находятся внутри wpcontent.
Но при этом удаляете весь движок вордпресса, так как вредный код может быть вписан в его файлы в самые неожиданные места. Простая переустановка WordPress не поможет в этом случае, так как при этом перезаписываются существующие файлы, но не удаляются те, что вписаны дополнительно.
Поэтому – только полная очистка. Но перед этим заготовьте полную резервную копию вашего сайта, чтобы иметь возможность восстановиться, если что-то пойдет не так.
После этого скачайте новую или выберите именно ту версию WP, что вам нужна.
https://wordpress.org/download/release-archive/
и распакуйте обратно на хостинг.
Теперь удалите все содержимое папки plugins и потом, по одному, распакуйте обратно чистые папки плагинов.
Затем, удалите все папки и файлы из папки wp-content, кроме папки plugins (которую вы уже почистили и обновили) и папок themes и uploads (до которых мы доберемся позже).
С шаблонами процесс очистки может быть немного усложнен. Это связано с тем, что часто вносятся изменения в файлы темы или стилей. Если вы в файлах ничего не меняли, то просто удаляете шаблон и копируете чистый обратно.
Идеально, если все правки делались в дочерней теме и в настройках шаблона, при перезаписи или обновлении они сохранятся. В этом случае вы удаляете все файлы родительского шаблона, а затем копируете обратно чистый шаблон, работоспособность при этом не пострадает никак.
Но при этом остается необходимость просмотреть папку дочернего шаблона, так как зараженные файлы или вредоносный код может быть и там. Убедитесь, что там нет ничего лишнего или подозрительного.
И остается чистка папки uploads. В зависимости от настроек медиа-библиотеки, все загружаемые файлы сохраняются или внутри этой папки, или распределяются в папки по годам.
Лучше если вы используете второй вариант, он предлагается по умолчанию. В этом случае вам легче будет разобраться с структурированным расположением файлов изображений по годам и месяцам, а не с огромной кучей разных файлов.
Удалите все файлы и папки, кроме папок с номерами годов – это остаются ваши загруженные файлы и изображения. После этого нужно пройти и пересмотреть вручную каждую папку по годам и месяцам, убедившись, что там находятся только файлы изображений (и документов, если вы их загружали). Все остальные php файлы и файлы скриптов или архивов должны быть удалены.
После такой суровой очистки папки uploads некоторые плагины могут ругаться на отсутствие необходимых файлов или папок для работы. Это исправляется деактивацией и повторной активацией плагинов .
Таким образом вы восстановите все, что им нужно для работы.
Эта процедура позволит вам получить чистый сайт без посторонних файлов и скриптов.
Однако, если сохраняются уязвимости в плагинах или отсутствует защита, то сайт может быть взломан и заражен повторно. Поэтому нужно будет после очистки заняться безопасностью сайта.
А пока рассмотрим еще такой момент. У нас осталась без проверки база данных. Сама по себе она не может содержать вредный исполняемый код или записи, однако есть момент, на который стоит обратить внимание.
Вредители могут создать дополнительную учетную запись админа, для беспрепятственного доступа на ваш сайт, поэтому обязательно проверьте – нет ли посторонних учетных записей. Если есть – удалите всех посторонних!
Аналогично можно проверить наличие посторонних учетных записей прямо в базе данных с помощью phpMyAdmin в таблице _users. Также удалите все, чего там быть не должно.
Кроме этого проверьте, чтобы не было создано посторонних нестандартных таблиц и удалите все подозрительное.
После всех этих чисток не забудьте зайти в настройки постоянных ссылок в админке. Они применяются к файлу htaccess (который мы успешно удалили), поэтому его нужно восстановить.
Выбираете ваш вариант и сохраняете настройки. Файл htaccess создается автоматически.
Итак, сайт почистили, остается убедиться, что все в порядке.
Anti-Malware Security and Brute-Force Firewall
Плагин который в отличие от предыдущих антивирусов не только проверяет все файлы (не ограничиваясь одними плагинами или шаблонами) и пытается их очищать, но и выполняет базовую защиту от атак и взломов.
Перед запуском проверки рекомендуется очистить файлы кешей (через настройки плагинов кеширования), чтобы уменьшить объем проверяемых файлов и ускорить проверку.
Результаты проверки содержат все найденные явно и потенциально опасные предупреждения.
Потенциальные уязвимости – это недоработки кода, которые при определенных условиях могут использовать злоумышленники. Если вы знаете, что с этим делать – исправляйте и улучшайте, если нет – или меняйте используемые плагины на другие, или спросите у тех, кто знает.
Комплексный подход к защите и оптимизации сайта заключается в том, что вы применяете ряд мер, которые могут компенсировать и прикрывать друг друга. Не секрет, что очень желательно использовать сложный и длинный пароль. Но если использовать защиту от перебора пароля и блокировку посторонних ip адресов, то это уже не так опасно.
Тоже самое и с потенциально уязвимым кодом плагинов – защитные фаервол плагины будут блокировать опасные запросы, не позволяя воспользоваться слабым кодом в скриптах.
Если вы убедились, что ваш сайт в порядке, то пора переходить к следующему этапу, защите сайта. Но это уже другая история. Всем всего доброго!
Да Александр, лучше немного подождать с обновлением пока обкатают новую версию.
Вы правы, при выходе новой версии не стоит бежать впереди паровоза и сразу обновляться. Наберитесь терпения пока авторы исправят свои косяки, затем почитайте отзывы и если все довольны, можно смело обновляться.
Рад был помочь, применяйте. Удачи!
Спасибо огромное за такую полезную статью. Я легко разобрался в информации и буду применять. Не каждый готов делиться знаниями, а некоторые вообще ними спекулируют. Могут придумывать кучу дополнительных проблем у сайта, долго тянуть с решением и потом выдать приличный счет. Для тех, кто в этом не ориентируется, это особенно актуально. Спасибо, что вот так вооружаете информацией.
Согласна очень полезная статья
Пожалуйста, применяйте. И вам всего доброго!
Спасибо Сергей за интересную и главное очень актуальную статью, Взял на заметку несколько сайтов, при подозрении в неладном буду использовать. Пока, вроде все нормально.
Еще раз спасибо и удачи в продвижении сайта.