Проверить шаблон на вредоносный код. Как найти вредоносный код и скрытые ссылки в шаблоне

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

Подписаться

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


Больше видео на нашем канале - изучайте интернет-маркетинг с SEMANTICA

Результатом работы вредоносного кода может стать удаление части полезного контента, или его публикация на стороннем ресурсе. Таким способом злоумышленники могут организовать кражу контента. Особенно обидно, если этому воздействию подвергся молодой ресурс с авторскими статьями. Может сложиться впечатление что это он своровал контент у более старшего ресурса.

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

Общее назначение всех вредоносных кодов сводится к нарушению работы веб-страниц.

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

Как вредоносный код попадает на сайт

Есть два способа, как на сайт может попасть вредоносный код.

1. Скачивание файлов и плагинов с сомнительных и ненадежных ресурсов. Чаще всего таким способам на сайт проникают зашифрованные ссылки. Явный код редко проникает на сайт этим путем.

2. с последующим проникновением . Этот способ считается более опасным, ведь взлом веб-страницы дает возможность передать не только "одноразовый" код, но и целые конструкции с элементами вредоносной программы (malware).

Такой код очень тяжело уничтожить, т.к. он может восстанавливаться после удаления.

Проверка сайта на вредоносный код

Следует помнить, что эти коварные конструкции могут появиться не только в активной теме, но и в любом файле ресурса. Существует несколько способов их поиска:

  • Вручную. Для этого нужно сравнить содержимое всех актуальных файлов с незараженными версиями бэкапа. Все что отличается необходимо удалить.
  • С помощью плагинов безопасности. В частности WordPress предлагает плагин Wordfence Security. У него есть опция сканирования файлов страницы на содержание постороннего кода.
  • С помощью саппорта хостинга. Владелец сайта имеет право обратиться к ним с просьбой просканировать ресурс своим антивирусом. В результате они предоставят отчет, отражающий наличие зараженных файлов. Эти файлы можно очистить от посторонних конструкций с помощью обычного текстового редактора.
  • Через SSH-доступ к сайту. Сам поиск осуществляется с помощью команд:

find /текущий каталог страницы -type f -iname "*" -exek -"eval" {} \; > ./eval.log

find /текущий каталог страницы -type f -iname "*" -exek-"base64" {} \; > ./base64.log

find /текущий каталог страницы -type f -iname "*" -exek -"file_get_contents" {} \; > ./file_get_contents.log

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

  • Проверка сайта на вредоносный код с помощью функции eval. Эта php-функция запускает на выполнение любой, даже зашифрованный код. В качестве одного из аргументов, на вход этой функции подается тип кодировки (как правило это base64_decode или str_rot13). Именно благодаря использованию популярных кодировок вредоносный код выглядит как бессмысленный набор латинских символов.

Открываете редактор страницы.

Копируете в буфер содержимое файла functions.php.

Вставляете его в любой текстовый редактор (блокнот).

Находите команду eval.

  • Перед тем, как удалить вредоносный код, проанализируйте, какие параметры функция ожидает на вход. Т.к. параметры поступают в зашифрованном виде, их нужно расшифровать с помощью декодеков. Распознав входной параметр, вы можете принять решение о его дальнейшем нахождении в тексте файла functions.php.

Удаление вредоносного кода

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

Защита от вредоносного кода

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

Используйте только проверенное ПО:

  • Загружайте дистрибутивы только из надежных источников.
  • Во время запускайте обновление серверного ПО.
  • Совершайте регулярный аудит системы безопасности сервера.
  • Удаляйте устаревшие отладочные скрипты.

Ставьте на серверное ПО надежные пароли:

  • Придумайте конструкцию из 12 символов, включающую цифры и буквы разных регистров.
  • Для каждого из сервисов придумайте свой уникальный пароль.
  • Меняйте свои пароли раз в 3 месяца.

Осуществляйте контроль данных, вводимых пользователями:

  • Настройте фильтры HTML-разметки в полях ввода, содержимое которых попадет в код страницы.
  • Организуйте серверную проверку входных данных на соответствие допустимому интервалу.
  • Используйте WAF. Web Application Firewall - это мощный инструмент защиты сайта от хакерских атак.

Разграничивайте права доступа к своему ресурсу.

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

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

1. Организуйте защиту от ботов. Для этих целей многие CMS оснащены специальными плагинами;

2. Настройте проверку вводимых пользователями данных:

  • Запретите вставку JavaScript-кода внутри конструкции t>.
  • Ведите перечень безопасных HTML-тегов и отсеивайте конструкции, не вошедшие в этот список.
  • Анализируйте ссылки, которые присылают пользователи.
  • Для этого существуют специальные сервисы, например Safe Browsing API. Он позволяет проверить безопасность документа по URL.

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

  • Тщательно следите за используемым ПО:

Загружайте библиотеки и расширения CMS только с проверенных источников, а лучше всего с официальных сайтов.

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

  • Размещайте рекламу очень осторожно:

Публикуйте на своей площадке объявления, которые предлагают только надежные рекламодатели.

Старайтесь размещать на своей странице статический контент.

Остерегайтесь партнерских программ со скрытыми блоками.

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

Но даже, если шаблон чист в плане безопасности, а его дизайн, юзабилити и функционал вас полностью устраивают – это не значит, что все в порядке. Тема должна иметь валидный HTML и CSS код, а также соответствовать всем стандартам CMS WordPress. С последним есть проблемы даже у платных тем и шаблонов, сделанных на заказ.

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

Сегодня я покажу 2 способа проверки тем WordPress на соответствие стандартам. Эти инструменты используются при их добавлении в официальный каталог https://wordpress.org/themes/

Сервис проверки тем WordPress и шаблонов Joomla на соответствие стандартам

ThemeCheck.org – это бесплатный сервис, который позволяет проверить безопасность и качество шаблонов для CMS WordPress и Joomla перед установкой на сайт.

Для проверки темы, загрузите ее архив с вашего компьютера, нажав кнопку “Select file ” на сайте themecheck.org . Если не хотите, чтобы результаты проверки сохранялись на сервисе и были доступны другим пользователям, установите галочку “Forget uploaded data after results “. Теперь жмите кнопку “Submit “.

Для примера я взял тему Interface , которую скачал на официальном сайте. 99 из 100 – 0 критических ошибок и 1 предупреждение. Это очень хороший результат.

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

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

На Главной есть большой выбор ранее проверенных веб-тем WordPress и Joomla с возможностью сортировки по времени добавления или оценке. При клике по ним можно увидеть подробную информацию и ссылки на сайт автора и страницу для скачивания.

Если вы разработчик и ваша тема валидна на 100%, можете сообщить об этом пользователям, установив на ней специальный значок с оценкой.

Ценность сервиса ThemeCheck.org в том, что любой вебмастер может с его помощью выбрать качественную тему еще до ее установки на блог.

Плагин Theme Check

Проверить уже установленный шаблон на совместимость с последними стандартами Вордпресс, можно с помощью плагина Theme Check . Ссылка на скачивание последней версии: https://wordpress.org/plugins/theme-check/

Функционал плагина аналогичен сервису, о котором я рассказал выше. Никаких настроек после стандартной установки и активации производить не надо. Порядок проверки:

  1. Перейдите в админке на страницу меню “Внешний вид ” – “Theme Check “.
  2. Выберите из выпадающего списка нужную тему, если их установлено несколько.
  3. Установите галочку “Suppress INFO “, если не хотите отправлять информацию.
  4. Нажмите кнопку “Check it “.

Результаты будут показаны на этой же странице.

Как видите, стандартная тема Twenty Ten тоже не идеальна, а вот, например, Twenty Fourteen ошибок не имеет.

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

Вывод. Перед установкой нового шаблона WordPress проверяйте его не только на наличие скрытых ссылок и вредоносного кода плагином TAC, но и с помощью сервиса ThemeCheck.org или плагина Theme Check на соответствие последним стандартам CMS.

P.S. Недавно просматривая TopSape Reader, увидел новый SEO-блог zenpr.ru , который держит 1 место среди блоггеров по переходам за месяц. Если учесть, что его возраст чуть более месяца, то результат достоин уважения. Дизайн в стиле минимализма, если не сказать, что его вообще нет, но пишет автор – зачитаешься. Все по делу и без воды. Точно как в заголовке блога – «ноль лишних символов». Рекомендую почитать, найдете много полезной информации.

Будучи одной из наиболее часто используемых платформ в публикации онлайн-контента, WordPress часто подвергается инфицированию malware, «троянскими» вирусами, вредоносным кодом и другими опасными штуками. Есть несколько практических руководств, которые касаются WordPress-безопасности и вопросов очистки вашего сайта от malware (вредоносный код). Эта тема настолько важна и актуальна для владельцев сайтов, что нет ничего плохого в том, чтобы вернуться к ее обсуждению снова и снова.

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

Делайте бэкапы вашего сайта

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

Регулярное сохранения резервных копий вашего сайта должно включать не только БД сайта, но и все основные файлы. Этот процесс и пары минут не займет, зато сохранит вам кучу времени и нервов в будущем и предостережет от целого ряда серьезных проблем. Я настоятельно рекомендую Backup Buddy, Cloudsafe365 и VaultPress в качестве премиум-решений для проведения регулярных процедур создания резервных копий и восстановления данных из них при необходимости. Также есть бесплатные плагины для этой цели, такие как WP-DBManager и руководство по созданию бэкапов вручную.

Восстанавливать сайт или искать на нем malware?

Если вы используете сервис для бэкапов наподобие Backup Buddy или VaultPress, тогда у вас есть опция восстановления сайта к более ранней версии. Тем не менее, я полагаю, что это - не самая лучшая идея. Восстановление вашего сайта без изучения причин сбоя и устранения malware может привести к тому, что уязвимости на вашем сайте все равно останутся. Поэтому куда лучшим будет найти уязвимость, устранить ее, а затем восстановить состояние сайта.

Определяем наличие вредоносного ПО на сайте

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

Проверяем обрабатываемый HTML-код

Начать поиск malware мы можем с поиска того, где и как срабатывает вредоносный код на вашем сайте.

— Присутствует ли такой код на всех страницах?
— Появляется ли он только на конкретных страницах или в конкретных постах?
— Где именно появился вредоносный код? Он вставлен в подвал, в шапку сайта, в основной контент или в боковые панели сайта?

Ответы на эти вопросы помогут вам определить, какие именно файлы на сайте следует проверить в первую очередь.

Проверяем ваши плагины и темы на наличие вредоносного кода

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

Более простым способом проверки станет загрузка бэкапа вашей папки с темами и удаление всех тем с веб-сервера. Загрузите затем свежую копию темы темы по умолчанию Twenty Eleven и разместите ее на своем веб-сервере. Теперь проверьте ваш веб-сайт: если вредоносный код исчез - значит, все дело было в одном из файлов темы. Теперь вы можете почистить свою старую тему, открывая вручную файлы в редакторе и сравнивая код «чистой» темы и вашей темы на наличие странных или подозрительных включений кода. Вы также можете скачать свежую копию темы с сайта разработчиков.

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

Самые лучшие практические способы защиты ваших тем и плагинов:

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

Находим вредоносный код, вставленный в файлы ядра WordPress

Если вы уже проверили и темы, и плагины, и при этом вредоносный код никуда не пропал, то следующим шагом в ваших поисках станет проверка файлов ядра WordPress. Здесь я снова рекомендую применить тот же подход, что и в случае с плагинами и темами.

Для начала делаем резервную копию всех файлов вашего сайта (важно, чтобы в бэкап попали такие файлы, как wp-config, wp-content папка, .htaccess и robots.txt). После завершения процедуры резервного копирования начинайте удалять все файлы с вашего веб-сервера. Теперь скачайте свежую копию WordPress и установите его на сервер. Заполните wp-config информацией из вашей БД. Зайдите теперь на сайт и посмотрите, остался ли на нем вредоносный код. Если malware пропал, тогда значит, ваши файлы ядра были заражены. Теперь аккуратно восстановите изображения, видео и аудио-файлы из резервной копии вашего сайта.

Самые лучшие практические способы защитить код файлов в WordPress

— Убедитесь, что на сайте все разрешения на операции с файлами имеют значение 644.
— Не модифицируйте и не заменяйте файлы ядра в WordPress.
— Используйте надежные пароли в Shell, FTP, БД и панели администратора WordPress.

Находим инъекцию вредоносного SQL-кода в WordPress

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

Скачайте и установите плагин WordPress Exploit Scanner . Активируйте его и просканируйте свой веб-сайт. Exploit Scanner проверит вашу БД, файлы ядра, плагины, темы на предмет подозрительного кода в них и выдаст вам результат сканирования. Как только сканирование завершится, вы просмотрите результаты: если в них обнаружится множество уведомлений об ошибках и ложных предупреждениях, вам придется выбирать результаты крайне внимательно. Этот плагин ничего не удаляет из ваших файлов и БД. Как только вы выясните, где именно «завелся» вредоносный код, эти файлы вам придется самостоятельно удалить вручную.

Скопируйте код, который кажется подозрительным и был определен плагином-сканнером, а затем запустите mysql-запрос такого вида, используя phpMyAdmin:

SELECT * From wp_comments where comment_content Like "%SuspiciousCodeHere%"

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

Проделали все вышеперечисленное, но все равно не избавились от проблем?

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

Сервисы мониторинга и очистки сайта от Sucuri

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

Ищем индивидуального эксперта по безопасности в WordPress

Есть много веб-сайтов для фрилансеров, где вы можете разместить предложение о работе для консультанта по безопасности, который устранит вашу проблему с заражением сайта. Из всех поступивших предложений выберите того, кто кажется вам наиболее опытным и знающим. Вы также можете разместить заявку на выполнение работ по очистке сайта от вредоносного ПО на WordPress Jobs либо в Smashing Magazine’s Jobs Board. Просто убедитесь в том, что человек, которого вы нанимаете для выполнения этих задач, опытен, обладает хорошей репутацией и положительными отзывами о предыдущей работе.

Заключение

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

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

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

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

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

Проверка wordpress сайта на вирусы

Первое к чему нужно обратиться при проверке сайта не вирусы, это плагины WordPress. Быстро и просто вы можете сканировать свой сайт и найти подозрительные участки кода, на которые стоит обратить внимание, будь они в теме, плагине и самом ядре Wodpress. Рассмотрим несколько самых популярных плагинов:

1. TOC

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

Откройте "Внешний вид" -> "TAC" затем дождитесь пока все темы будут проверены.

2. VIP Scanner

Очень похожий на TOC сканер для тем, но выводит больше подробной информации. Те же самые возможности по обнаружению ссылок, скрытого кода и других вредоносных вставок. Просто откройте пункт VIP Scaner в разделе инструменты и анализируйте результат.

Возможно, достаточно удалить лишние файлы, например, desktop.ini. Или же нужно более подробно посмотреть что происходит в файлах использующих base64.

3. Anti-Malware from GOTMLS.NET

Этот плагин позволяет не только сканировать темы и ядро сайта на наличие вирусов, но и защищать сайт от перебора паролей и различных XSS, SQLInj атак. Поиск выполняется на основе известных сигнатур и уязвимостей. Некоторые уязвимости можно на месте устранять. Чтобы начать сканировать файлы откройте "Anti-Malvare" в боковом меню и нажмите "Run Scan" :

Перед тем как вы сможете запустить сканирование, нужно обновить базы данных сигнатур.

4. Wordfence

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

Откройте вкладку "WPDefence" в боковом меню, а затем перейдите на вкладку "Scan" и нажмите "Start Scan" :

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

5. AntiVirus

Это еще один простой плагин, который просканирует ваш шаблон сайта на наличие вредоносного кода. Недостаток в том, что сканируется только текущий шаблон, но информация выводится достаточно подробно. Вы увидите все опасные функции, которые есть в теме и затем можете детально проанализировать представляют ли они какую-либо опасность. Найдите пункт "AntiVirus" в настройках, а затем нажмите "Scan the theme templates now":

6. Integrity Checker

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

Онлайн сервисы

Существует также несколько онлайн-сервисов, которые позволяют проверить сайт wordpress на вирусы или проверить только шаблон. Вот некоторые из них:

themecheck.org - вы загружаете архив темы и можете смотреть все предупреждения о возможных вредоносных функциях, которые в ней используются. Вы можете не только смотреть информацию о своей теме, но и о других темах, загруженных другими пользователями, а также о разных версиях темы. Все что находят плагины, может найти и этот сайт. Проверка wordpress темы тоже очень важна.

virustotal.com - всем известный ресурс, где вы можете проверить свой сайт или файл шаблона на вирусы.

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

sitecheck.sucuri.net - простой сервис для сканирования сайта и тем на вирусы. Есть свой плагин для WordPress. Обнаруживает опасные ссылки и скрипты.

Ручная проверка

Ничего не может быть лучше чем ручная проверка. В Linux есть такая замечательная утилита grep, которая позволяет искать вхождения произвольных строк в папке с файлами. Осталось понять что мы будем искать:

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

  • base64_decode - функции шифрования могут использоваться вместе с eval, чтобы спрятать вредоносный код, но они могут применяться и в мирных целях, так что будьте внимательны;
  • sha1 - еще один метод шифрования вредоносного кода;
  • gzinflate - функция сжатия, те же цели, вместе с eval, например, gzinflate(base64_decode(код);
  • strrev - переворачивает строку задом не перед, как вариант может использоваться для примитивного шифрования;
  • print - выводит информацию в браузер, вместе с gzinflate или base64_decode опасно;
  • file_put_contents - сам WordPress или плагины еще могут создавать файлы в файловой системе, но если это делает тема, то уже стоит насторожиться и проверить зачем ей это, так могут устанавливаться вирусы;
  • file_get_contents - в большинстве случаев используется в мирных целях, но может использоваться для загрузки вредоносного кода или чтения информации из файлов;
  • curl - та же история;
  • fopen - открывает файл для записи, мало ли для чего;
  • system - функция выполняет команду в системе Linux, если это делает тема, плагин или сам wordpress, скорее всего, там вирус;
  • symlink - создает символические ссылки в системе, возможно, вирус пытается сделать основную файловую систему доступной из вне;
  • copy - копирует файл с одного места в другое;
  • getcwd - возвращает имя текущего рабочего каталога;
  • cwd - изменяет текущую рабочую папку;
  • ini_get - получает информацию о настройках PHP, чаще в мирных целях, но мало ли;
  • error_reporting(0) - отключает вывод любых сообщений об ошибках;
  • window.top.location.href - javascript функция, используемая для редиректов на другие страницы;
  • hacked - так, на всякий случай, проверяем, вдруг, хакер сам нам решил рассказать.

Вы можете подставлять каждое отдельное слово в такую команду:

grep -R "hacked" /var/www/путь/к/файлам/wordpress/wp-content/

Или же использовать простой скрипт, который будет искать все слова за раз:

values="base64_decode(
eval(base64_decode
gzinflate(base64_decode(
getcwd();
strrev(
chr(ord(
cwd
ini_get
window.top.location.href
copy(
eval(
system(
symlink(
error_reporting(0)
print
file_get_contents(
file_put_contents(
fopen(
hacked"

cd /var/www/путь/к/файлам/wordpress/wp-content/
$ fgrep -nr --include \*.php "$values" *

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

Например, я (по прошествии какого-то времени, конечно) сделал для себя один вывод – нужен просто хороший хостер, и ваши проблемы с резервированием отпадут сами собой. Мне не нужно сейчас делать бекапы БД или сайта – все делает за меня хостер, причем в автоматическом режиме. В любое время при желании можно заказать копию любого раздела своего блога (и не только), скачать эту копию, или же восстановить блог прямо из панели управления. То есть, мне не нужно скачивать бекап, все происходит на автомате – резервирование, восстановление и т.д. Это удобно тем, что я могу не то что посуточно, а по часам отследить, когда на моем блоге появился вирус и, соответственно, принять меры по его устранению.

Начну с хорошей новости – по крайней мере, два плагина, которыми я пользовался, выдают хорошие результаты по обнаружению и локализации вредоносного кода. Это плагины AntiVirus и Exploit Scanner . Вы не поверите, сколько на вашем блоге вредного кода! Но не принимайте всю результирующую информацию после проверки за догму – много строк, которые эти плагины обнаруживают, на самом деле ничего плохого в себе не несут. Просто плагин ставит под сомнение какие-то строки, вот и все. Чтобы убедиться в этом, проверьте вручную те фрагменты, которые плагин определил, как вредоносные. Так, при проверке плагином AntiVirus оказалось, что даже простое обращение function get_cache_file () плагин уже считает подозрительным. Так что все результаты проверок придется отслеживать вручную. А вот это, например, действительно зараженная ссылка, и ее необходимо убирать:

Как узнать, вирус это или так и должно быть? Все очень просто – сравниваете ваш чистый шаблон (если есть), и сравниваете его (пофайлово) с тем, который установлен и уже претерпел какие-то изменения. Необязательно прямо так буквально проводить сравнение, просто поиском проверьте, есть ли в вашем чистом шаблоне та строка, которую выделил плагин. Если есть – жмите кнопку «Это не вирус», и при следующей проверке эта строка не будет учитываться.

А вот пример второго опробованного плагина — Exploit Scanner

Как видите, здесь все гораздо запущеннее. Для меня такой результат был шокирующим. Но и это еще не все. В плагине существует такая функция, как проверка . Так вот, если ее включить, то получится, что блог должен состоять из текста и максимум, из пары CSS таблиц. Так что, мне кажется, с безопасностью здесь автор плагина явно перестарался. Хорошо еще, что плагин просто показывает предполагаемые зараженные фрагменты, а не чистит их.

Проанализировав все выделенные желтым цветом строки, вы легко обнаружите malware (вредоносный код), ну, а что с ним делать дальше – решайте сами. Способ чистки все тот же – сравниваете выделенный код с бекапом сайта (см. ) и, если нашли расхождения – выявляйте, то ли это сделали вы сами, то ли кто-то за вас, а значит, это уже не есть хорошо и может оказаться вирусом. Даже разработчики WordPress советуют проводить проверку сайта на наличие вредоносного кода именно этим плагином. Но существуют такие безобидные вставки, например, в тело iframe, которые плагин тоже может определить, как зараженный код. Но на самом деле без этих строк этот участок вашего блога не будет работать правильно.

Как вообще malware может попасть в файлы блога и что это такое по определению? Слово malware значит буквально — злонамеренное программное обеспечение , от английского malicious software. Это любой софт, который может быть использован для несанкционированного доступа к сайту и его содержимому. Вы, наверное, представляете себе, что для подготовленного по-среднему хакера взломать сайт не составит труда, особенно после регистрации. После этого можно контент блога модифицировать как угодно – было бы образование.

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

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

Ваша БД тоже может быть использована для запуска вирусосодержащего кода. Спамерские ссылки тоже очень часто добавляются в записи или комментарии. Такие ссылки обычно скрываются при помощи CSS так, что неопытный администратор их не видит, но поисковая система их различает сразу. Конечно, здесь уже вступает в борьбу любой антиспам, например, тот же , который лицензирован, проверен и перепроверен много раз. Хакер может загружать файлы с расширениями файлов изображений, и добавлять их в код ваших активированных плагинов. Поэтому, даже если файл и не имеет расширение php, код в этом файле может быть запущен в действие.

Есть еще один простенький инструмент, с которого я начинал знакомство с malware – плагин Theme Authenticity Checker (TAC). Это легкий и достаточно действенный инструмент, но он проверяет только ваши темы, причем даже неактивные. Остальные директории он не трогает, и в этом его минус. Вот что дала мне проверка моей текущей темы этим плагином:

Два предупреждения в активной теме, и больше ничего. Вредоносного кода нет. Кстати, это те ссылки, которые я вставил сам по совету Google — для улучшения качества сниппета (вывод личных данных, адрес организации и т.д.). Но это только проверка файлов темы, а что делается в других директориях, вам придется узнавать или при помощи других плагинов, или он-лайн сервисами. Например, такой сервис (уж он-то заслуживает доверия), как Вебмастер Яндекса или аналогичный в Google. Они имеют функцию проверки любого веб-ресурса на наличие вредоносных вкраплений, и делают это качественно. Но если вам и этого мало, то сравнивайте результаты с результатами на других сервисах и делайте выводы.

Почему-то хочется верить Яндексу, а не плагинам. Еще один неплохой ресурс — http://2ip.ru/site-virus-scaner/. После проверки одного своего блога здесь вот что обнаружилось:

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

Из всего сказанного я бы сделал такие выводы:

1. Чтобы не допустить появления вредоносного кода, нужно прежде всего пользоваться проверенными сервисами для закачки файлов – плагинов, тем и т.д.

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

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

4. Неиспользуемые темы, плагины, изображения и файлы удаляйте без сожаления – это еще один запасной вход для malware, о котором вы можете и не догадаться никогда.

5. Хорошенько запарольте свои FTP–доступы, вход в PhpAdmin, в панель администратора и вообще туда, куда никто, кроме вас, не должен иметь доступа.

6. Постарайтесь (даже если это желание у вас огромное, как небо) не изменять и не заменять файлы ядра WordPress – разработчики лучше знают, что и как должно работать.

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

Все эти методы и компоненты, которые я описал, и которые помогут вам избавиться от вирусов, конечно, бесплатные, конечно, почти самодельные, и конечно, не дают 100% гарантии того, что ваш сайт будет очищен от вредоносных вставок. Поэтому, если уж вы озаботились чисткой блога, то лучше обратитесь к профессионалам, например, в сервис Sucuri (http://sucuri.net/). Здесь ваш сайт хорошенько отмониторят, дадут практические рекомендации, которые вам вышлют письмом, а если вы не хотите заниматься чистой сайта самостоятельно, то к вашим услугам специалисты, которые в течение 4 часов сделают все в лучшем виде:

Понравилась статья? Поделиться с друзьями: