Мы выпустили новую книгу «Контент-маркетинг в социальных сетях: Как засесть в голову подписчиков и влюбить их в свой бренд».
Вредоносный код - это код, который мешает нормальной работе сайта. Он может встраиваться в темы, базы данных, файлы и плагины.
Больше видео на нашем канале - изучайте интернет-маркетинг с SEMANTICA
Результатом работы вредоносного кода может стать удаление части полезного контента, или его публикация на стороннем ресурсе. Таким способом злоумышленники могут организовать кражу контента. Особенно обидно, если этому воздействию подвергся молодой ресурс с авторскими статьями. Может сложиться впечатление что это он своровал контент у более старшего ресурса.
Также вредоносный код может разместить в бесплатной теме скрытые ссылки на сторонние страницы, доступные для поисковиков. Не всегда эти ссылки будут вредоносны, но вес основного сайта гарантированно пострадает.
Общее назначение всех вредоносных кодов сводится к нарушению работы веб-страниц.
Внешне вредоносный код представляет собой хаотичный набор символов. В действительности за этой бессмыслицей скрывается зашифрованный код, содержащий последовательность команд.
Есть два способа, как на сайт может попасть вредоносный код.
1. Скачивание файлов и плагинов с сомнительных и ненадежных ресурсов. Чаще всего таким способам на сайт проникают зашифрованные ссылки. Явный код редко проникает на сайт этим путем.
2. с последующим проникновением . Этот способ считается более опасным, ведь взлом веб-страницы дает возможность передать не только "одноразовый" код, но и целые конструкции с элементами вредоносной программы (malware).
Такой код очень тяжело уничтожить, т.к. он может восстанавливаться после удаления.
Следует помнить, что эти коварные конструкции могут появиться не только в активной теме, но и в любом файле ресурса. Существует несколько способов их поиска:
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
В результате их выполнения будет получена информация о подозрительных файлах. Перечень этих файлов запишется в лог, хранящийся в текущей директории.
Открываете редактор страницы.
Копируете в буфер содержимое файла functions.php.
Вставляете его в любой текстовый редактор (блокнот).
Находите команду eval.
После обнаружения вредоносного кода его просто необходимо удалить как обычную строку в текстовом файле.
Для того, чтобы предупредить появление вредоносного кода на сайте, необходимо соблюдать ряд профилактических мер.
Заблокируйте или ограничьте доступ к инструментам администрирования движка вашего сайта и его баз данных. Кроме того, закройте доступ к файлам настроек и резервным копиям рабочего кода.
Такому проникновению вредоносного кода наиболее подвержены те сайты, на которых реализована возможность загрузки пользовательских файлов.
1. Организуйте защиту от ботов. Для этих целей многие CMS оснащены специальными плагинами;
2. Настройте проверку вводимых пользователями данных:
Как предупредить случайное размещение вредоносного кода.
Загружайте библиотеки и расширения CMS только с проверенных источников, а лучше всего с официальных сайтов.
Изучайте код нестандартных расширений, которые вы собираетесь поставить на движок своего сайта.
Публикуйте на своей площадке объявления, которые предлагают только надежные рекламодатели.
Старайтесь размещать на своей странице статический контент.
Остерегайтесь партнерских программ со скрытыми блоками.
На днях хостинг провайдер reg.ru приостановил работу некоторых PHP функций (в частности mail – отправки сообщений) на сайте одного моего клиента, объясняя это тем, что в аккаунте было найдено вредоносное программное обеспечение, рассылающее спам. Перестала работать и приходить заказы, а это уже убытки. В связи с этим я решил рассказать вам, читатели сайт как проверить свой сайт на вирусы и вовремя удалить вредоносный код.
Ситуация нередкая, даже этот мой блог дважды становился жертвой взлома. Полностью обезопасить свой ресурс от появления вирусов невозможно, но необходимо свести риск к минимуму. Как правило, злоумышленники используют для проникновения уязвимости CMS, шаблонов оформления или неверные настройки хостинга.
Как действовать при подозрениях о заражении сайта на вирусы:
Все 3 случая взлома, с которыми я сталкивался (2 моих и 1 клиентский) происходили по одной причине – на хостинге некоторые папки имели публичные права доступа 777, разрешающие всем желающим записывать туда любую информацию, так что пункт №3 про закрытие “дыр” самый важный. Про него я расскажу в конце.
Когда возникают реальные проблемы в работе сайта или появляются сообщения от Яндекс Вебмастер о заражении, многие начинают искать онлайн антивирусы для сайтов. Иногда они помогают, но в большинстве случаев делают это не до конца.
Проблема в том, что такие сервисы как antivirus-alarm.ru , virustotal.com , xseo.in , 2ip.ru и т.д. имеют доступ только ко внешней стороне вашего сайта. Это значит, что они обнаружат вредоносный код только, если он вылезет наружу и будет проявлять какие-то признаки.
А что делать, если инфицированные файлы никак себя не проявляют и пока неактивны или результат их деятельности не дает явных признаков заражения. Ну, например, они просто выводят посторонние ссылки на веб страницах – для онлайн сервиса это будут , а сам вирус спрятан глубоко в PHP коде и действует только на уровне сервера при обработке запросов.
Достоинство онлайн антивирусов: Простота использования – написал URL сайта, нажал кнопку и получил результат. Но, не факт, что нашел вирус.
Единственный эффективный способ выявить все проблемы – просканировать полностью все файлы, размещенные на хостинге, где лежит сайт. Сделать это можно имея доступ к хостингу, значит, антивирус должен работать непосредственно внутри файлов и папок вашего сайта.
Кстати, поклонникам популярных CMS в деле борьбы с вирусами везет немного больше, так как существуют плагины, способные своевременно их заметить и устранить. Про один такой плагин я рассказывал в статье о , он автоматом мониторит изменения в файлах движка и шаблонов. Но, даже он не всегда способен помочь, так как вирусы могут не только проникать в существующие файлы, но и создавать свои собственные, против которых плагин будет бессилен.
Одним словом – в критической ситуации может потребоваться полное сканирование всех файлов хостинга, включая тех, что не относятся к CMS.
Итак, переходим к разделу “Как проверить сайт на вирусы профессиональными способами?”.
Как и для обычных компьютеров, проверка сайтов на вирусы проводится антивирусными программами. Но для этих целей обычные антивирусники, про которые я , не подойдут. Нужен специальный, работающий на хостинга и заточенный под угрозы для сайтов.
Последнее время я пользуюсь для этих целей разработкой Revisium – антивирусом AI-Bolit. Кроме своего антивируса для сайтов, этот сервис участвовал в совместной разработке антивируса для Яндекс.
Давайте по шагам пройдем все этапы поиска и лечения с помощью AI-Bolit.
С этой страницы скачиваете архив с программой для хостинга – https://revisium.com/ai/ (файл небольшой).
Есть версия для Windows – для ее использования необходимо скачать все файлы сайта с хостинга себе на компьютер.
Есть версия для хостинга – проверка на вирусы идет прямо там (на сервере с сайтом). Я буду рассказывать о работе именно хостинговой версии, скачивайте ее.
Распакуйте скачанный архив, в результате, у вас появляется папка с названием аналогичным названию архива – ai-bolit, папка tools и 2 файла.
Для работы понадобится только содержимое из первой папки (ai-bolit), состоящее из 5 файлов. Необходимо закинуть в корневую папку вашего сайта (туда, где лежит ваш index.php) по FTP или через файловый менеджер эти 5 файлов.
По умолчанию антивирус уже готов к работе, но в нем есть две настройки, которые вы можете применить для оптимизации программы под свои нужны. Все настройки делаются в файле ai-bolit.php.
1. Настройка глубины сканирования. Она может быть 3 степеней: 0 – быстрая проверка, 1 – экспертная, 2 – параноидальная, по умолчанию стоит 1. Отвечает за этот параметра строка:
define("AI_EXPERT_MODE", 1);
define ("AI_EXPERT_MODE" , 1 ) ; |
2. Пароль для доступа к программе. Если вы планируете держать антивирус на хостинге постоянно, то необходимо задать максимально сложный пароль взамен тому, что идет по умолчанию, иначе, через сам антивирусник злоумышленники смогут навредить сайта. Если же вас интересует одноразовая проверка, после которой файлы антивируса с хостинга будут удалены, то можете оставить пароль по умолчанию. Отвечает за пароль строка:
define("PASS", "1122334455");
define ("PASS" , "1122334455" ) ; |
После сохранение настроек переходим к запуску сканера.
Дальнейшие действия будут проводиться через браузер. В адресной строке вам необходимо набрать URL ведущий на запускающий файл ai-bolit – ваш-сайт/ai-bolit.php?p=указанный-пароль .
Через некоторое время сканирование всех файлов вашего сайта будет завершено и вы получите отчет вот такого вида:
Так как антивирусная проверка сайта создает на сервер хостинга немалую нагрузку, часто хостеры запрещают работу подобных программ. В этом случае вы можете столкнуться с сообщениями об ошибке, например такими:
В этом случае есть 3 варианта:
Полученный при сканировании отчет можно использовать двумя способами – передать его специалисту, чтобы он разобрался с его содержимым или самостоятельно просмотреть каждую подозрительную строчку. Нередко, за вирусы принимаются особенности шаблонов или специализированные скрипты (особенно на параноидальном уровне проверки).
После всех проверок и удаления вредоносных скриптов файлы антивируса с хостинга можно стереть.
Теперь об устранении причин заражения. Выше я говорил, что чаще всего вирусы заливаются через папки, имеющие общий доступ для всех – права доступа 777 (rwxrwxrwx).
Если на какой-то папке вашего сайта стоят такие права, туда можно залить вирусный файл и уже через него распространить вредоносный код по сайту.
Для того, чтобы заражение не повторилось после вашего лечения, надо проверить каждую папку, в которой Манул нашел инфицированные файлы и, если надо, сменить права – запретить общий доступ – выставьте свойства 755 (rwxr-xr-x).
В некоторых случаях можно делать еще более строгие правила, но 755 это минимальный уровень безопасности.
На этом у меня сегодня все – здоровья вашим проектам.
Проанализируйте способы заражения:
Злоумышленник может получить пароли к администраторским панелям CMS, FTP или SSH аккаунтам. Обычно пароли подбирают или крадут с помощью троянских программ , заразивших компьютер вебмастера.
Уязвимости веб-приложения могут позволять посторонним размещать на сайте произвольный код.
Из-за заражения внешнего ресурса (партнерской программы, баннерной системы, счётчика) предоставленный вам код может стать опасным для пользователей.
Проанализируйте информацию о заражении в Яндекс.Вебмастере, в разделе Безопасность и нарушения . Раздел содержит перечень зараженных страниц, даты проверок и вынесенные антивирусом вердикты. Перейдя по ссылке в названии вердикта, вы увидите его описание и примерный вид кода, соответствующего вердикту (кода, который непосредственно появляется на страницах сайта).
Вы также можете самостоятельно воспроизвести проблему с помощью виртуальной машины .
во всех серверных скриптах, шаблонах CMS, базах данных;
в конфигурационных файлах веб-сервера или интерпретатора серверных скриптов;
если вы используете shared-хостинг, проверьте другие сайты, расположенные на том же сервере - может быть заражен весь сервер.
Признаки вредоносного кода:
Код посторонний или незнакомый, не соответствует резервной копии или системе контроля версий.
Обфусцированный (нечитаемый, неструктурированный) код.
Дата модификации файлов совпадает с временем заражения или более поздняя. Этот параметр ненадежен, так как дата модификации файлов может быть изменена вирусом.
Использование характерных для вредоносного кода функций. Примеры таких функций для языка PHP:
динамическое исполнение кода (eval , assert , create_function);
Пометка об опасности сайта в результатах поиска будет снята, если при очередной проверке робот Яндекса не обнаружит заражения. Чтобы ускорить перепроверку, в интерфейсе Яндекс.Вебмастера, в разделе Безопасность и нарушения , нажмите кнопку Я все исправил .
Рекомендуем в течение нескольких недель после заражения регулярно перепроверять файлы и код сайта на тот случай, если использованная уязвимость не была устранена или злоумышленники по прежнему имеют доступ к сайту.
Яндекс постоянно ищет и исследует новые виды заражений и публикует результаты исследований в блоге Безопасного поиска Яндекса .
Если вы обнаружили на своем сайте вредоносный или подозрительный код,
WordPress - это самый популярный движок для создания различных информационных сайтов и блогов. Безопасность вашего сайта - это больше чем безопасность ваших данных. Это намного важнее, потому что это и безопасность всех пользователей, которые читают ваш ресурс и доверяют ему. Вот почему так важно чтобы сайт не был заражен вирусами или любым другим вредоносным кодом.
Как защитить WordPress от взлома мы рассмотрим в одной из следующих статей, а сейчас я хочу рассказать как проверить сайт WordPress на вирусы и вредоносный код, чтобы убедиться что все в безопасности.
Самый первый вариант, который приходит на ум - вас взломали хакеры и встроили в код вашего сайта свои бэкдоры, чтобы иметь возможность рассылать спам, ставить ссылки и другие плохие вещи. Так иногда случается, но это довольно редкий случай если вы вовремя обновляете программное обеспечение.
Существуют тысячи бесплатных тем для WordPress и различных плагинах и уже здесь может крыться угроза. Одно дело, когда вы скачиваете шаблон с сайта WordPress и совсем другое, когда находите на левом сайте. Недобросовестные разработчики могут встраивать различный вредоносный код в свои продукты. Еще больше риск, если вы скачиваете бесплатно премиум шаблоны, там взломщики уже ничем не рискуя могут добавить какую-нибудь дыру в безопасности, через которую потом смогут проникнуть и сделать то, что им нужно. Вот поэтому так важна проверка wordpress сайта на вирусы.
Первое к чему нужно обратиться при проверке сайта не вирусы, это плагины WordPress. Быстро и просто вы можете сканировать свой сайт и найти подозрительные участки кода, на которые стоит обратить внимание, будь они в теме, плагине и самом ядре Wodpress. Рассмотрим несколько самых популярных плагинов:
Этот очень простой плагин проверяет все установленные на вашем сайте темы на предмет наличия в них вредоносного кода. Плагин выявляет скрытые ссылки, зашифрованные с помощью base64 вставки кода, а также выводит подробную информацию о найденных проблемах. Чаще всего, найденные части кода - это не вирусы, но они потенциально могут быть опасны, поэтому вам стоит обратить на них внимание.
Откройте "Внешний вид" -> "TAC" затем дождитесь пока все темы будут проверены.
Очень похожий на TOC сканер для тем, но выводит больше подробной информации. Те же самые возможности по обнаружению ссылок, скрытого кода и других вредоносных вставок. Просто откройте пункт VIP Scaner в разделе инструменты и анализируйте результат.
Возможно, достаточно удалить лишние файлы, например, desktop.ini. Или же нужно более подробно посмотреть что происходит в файлах использующих base64.
Этот плагин позволяет не только сканировать темы и ядро сайта на наличие вирусов, но и защищать сайт от перебора паролей и различных XSS, SQLInj атак. Поиск выполняется на основе известных сигнатур и уязвимостей. Некоторые уязвимости можно на месте устранять. Чтобы начать сканировать файлы откройте "Anti-Malvare" в боковом меню и нажмите "Run Scan" :
Перед тем как вы сможете запустить сканирование, нужно обновить базы данных сигнатур.
Это один из самых популярных плагинов для защиты WordPress и сканирования на наличие вредоносного кода. Кроме сканера, который может найти большинство закладок в коде WordPress, здесь есть постоянная защита от различных видов атак и перебора паролей. Во время поиска плагин находит возможные проблемы с различными плагинами и темами, сообщает о необходимости выполнить обновление WordPress.
Откройте вкладку "WPDefence" в боковом меню, а затем перейдите на вкладку "Scan" и нажмите "Start Scan" :
Сканирование может занять определенное время, но по завершении вы увидите подробный отчет об обнаруженных проблемах.
Это еще один простой плагин, который просканирует ваш шаблон сайта на наличие вредоносного кода. Недостаток в том, что сканируется только текущий шаблон, но информация выводится достаточно подробно. Вы увидите все опасные функции, которые есть в теме и затем можете детально проанализировать представляют ли они какую-либо опасность. Найдите пункт "AntiVirus" в настройках, а затем нажмите "Scan the theme templates now":
Также желательно проверить целостность файлов WordPress, на случай, если вирус уже записался уже куда-нибудь. Для этого можно использовать плагин Integrity Checker. Он проверяет все файлы ядра, плагинов и шаблонов на изменения. В конце сканирования вы увидите информацию об измененных файлах.
Существует также несколько онлайн-сервисов, которые позволяют проверить сайт wordpress на вирусы или проверить только шаблон. Вот некоторые из них:
themecheck.org - вы загружаете архив темы и можете смотреть все предупреждения о возможных вредоносных функциях, которые в ней используются. Вы можете не только смотреть информацию о своей теме, но и о других темах, загруженных другими пользователями, а также о разных версиях темы. Все что находят плагины, может найти и этот сайт. Проверка wordpress темы тоже очень важна.
virustotal.com - всем известный ресурс, где вы можете проверить свой сайт или файл шаблона на вирусы.
ReScan.pro - проверка WordPress сайта на вирусы с помощью этого сервиса бесплатна, выполняется статический и динамический анализ, чтобы обнаружить возможные редиректы сканер открывает страницы сайта. Проверяет сайт по различным черным спискам.
sitecheck.sucuri.net - простой сервис для сканирования сайта и тем на вирусы. Есть свой плагин для WordPress. Обнаруживает опасные ссылки и скрипты.
Ничего не может быть лучше чем ручная проверка. В Linux есть такая замечательная утилита grep, которая позволяет искать вхождения произвольных строк в папке с файлами. Осталось понять что мы будем искать:
eval - эта функция позволяет выполнять произвольный php код, ее не используют уважающие себя продукты, если один из плагинов или тема используют эту функцию почти со стопроцентной вероятностью можно сказать, что там есть вирус;
Вы можете подставлять каждое отдельное слово в такую команду:
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" *