Wordpress вредоносный код. Редирект на сторонние ресурсы

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

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

И так, все поисковые системы регулярно сканируют и проверяют все сайты на вирусы и вредоносный код. Когда поисковый робот находит такой код на сайте, он автоматически выставляет предупреждение в поиске, что этот сайт может угрожать вашему компьютеру. Но не всегда это соответствует действительности, так как эти роботы могут ошибаться и случается такое, что могут принять даже обычный код, к примеру, социальных кнопок или JavaScript за вредоносный. В такой ситуации возникает естественный вопрос. Стоит ли вообще посещать этот сайт?

Если есть возможность найти интересующую вас информацию на другом сайте то такой сайт, где есть предупреждение, что он может распространятьвредоносный код или вирус , естественно посещать не стоит. Но когда вы долгое время искали очень нужную вам информацию и наконец-то нашли, как быть в таком случае?
Это с одной стороны, ну а с другой стороны, если вы являетесь владельцем сайта и в один прекрасный солнечный день, в акаунте яндекса или гугла, вы обнаружите, предупреждение, что на вашем сайте есть вредоносный код ? Я думаю такое предупреждение вам настроение не улучшит. И как быть в таком случае, Как найти этот вредоносный код или вирус ? Обычные антивирусные программы вам здесь вряд ли помогут. Для этого случая есть специальные программы и онлайн сервисы, которые могут сканировать сайт и проверять сайты на вредоносный код . Таких программ и онлайн сервисов в интернете естественно, наверное, очень много. И обо всех я здесь рассказывать не собираюсь, да все я их конечно и не знаю. Я здесь расскажу о некоторых сервисах, о которых я знаю и которыми сам пользовался.
Если вы вебмастер, то вы можете это сделать через свой акаунт в яндексе, гугле, и т.д. хотя это тоже не всегда помогает. К примеру, так как было у меня. Однажды мне один мой знакомый сообщает, что при заходе на мой сайт его антивирусная утилита сообщает ему, что на моём сайте есть вирус. Я естественно сразу же проверяю по всем акаунтам в поисковых системах, где только зарегистрирован мой сайт. И везде сообщения о том, что на моем сайте вирусов или подозрений на вредоносный код нет. Получается, что по мнению поисковиков мой сайт чистый и никаких вредоносных программ и вирусов нет. Но ведь антивирусная программа моего знакомого, где то что то нашла. И такая программа установлена наверняка не только у него, но и может быть, так же установлена еще у многих пользователей интернета. И получается, что все у кого установлена такая программа обойдут мой сайт стороной, и не факт, что в последствии, вернутся на этот сайт, после такого предупреждения.
Тогда я и начал искать различные программы и онлайн сервисы для проверки сайта на вредоносный код. Как я уже писал выше таких сервисов в интернете много но в основном они просто после сканирования показывают информацию о наличии на сайте вредоносного кода . То есть имеется подозрение или нет и всё. К примеру как этот сервис.

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

Второй онлайн сервис для проверки сайта на наличие вредоносных программ

Antivirus Alarm — для сканирования указанного вами сайта сервис использует антивирусные базы от крупнейших мировых антивирусных компаний. Полное сканирование длится до 10 минут и не останавливается, даже если вы закрываете страницу. Здесь же указывается ссылка, по которой вы сможете посмотреть результаты в любое время. Этот сервис еще хорош тем, что здесь есть список наиболее часто обнаруживаемых вирусов на сайтах. Например, вот так выглядит код вируса iframe asqyt.in:

Здесь же есть и список НЕ вирусов. Это позволяет не спешить паниковать, когда одна из антивирусных программ принимает код за вирус.
К примеру здесь по мнению Google он даже сам себе не доверяет.

Поэтому делаем вывод. И моё мнение такое, что все эти сервисы конечно бесспорно полезны и действительно приносят огромную помощь в поиске вредоносного кода на сайте. Но как говорится доверяй но проверяй, так, что каждую информацию выданную этими сервисами нужно проверять самому. И конечно же окончательное действие остаётся только за вами.

Периодическая проверка сайта на наличие вредоносных вирусов необходима, это первая заповедь любого уважающего себя веб-мастера. Даже если вы пользуетесь чистой темой 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 часов сделают все в лучшем виде:

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

Но большинство Web-сайтов, построенных на базе этой бесплатной CMS, обладают определёнными уязвимостями в системе безопасности. Разработчики WordPress, конечно, стараются оперативно закрывать их и выпускают обновления не только для самой платформы, но и для стандартных тем и плагинов. Тем не менее, защититься от взлома удаётся не всегда.

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

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

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

Существуют два способа резервного копирования Web-сайта: копирование исходных файлов сайта и копирование базы данных (БД). Для WordPress существует стандартный инструмент для резервного копирования, но он создаёт только копию базы данных.

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

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

Восстановление или лечение

Практически все Web-сайты предназначены для принесения дохода своему владельцу. Поэтому обязательным требованием для Web-сайта является работа в режиме 24х7 (24 часа в сутки, 7 дней в неделю) с минимальными периодами отключения для проведения технических работ.

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

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

Как определить наличие вредоносного ПО

Как узнать, был ли взломан Web-сайт, и определить первые симптомы заражения? На самом деле, это очень просто, провал статистики посещаемости, переадресация на незнакомые Web-сайты, чрезмерное потребление трафика – всё это признаки заражения и наличия вредоносных ссылок, понижающих рейтинг ресурса. Не говоря уже о явных ситуациях, когда в поисковой выдаче Яндекс или Google появляется отметка о "заражённости" вашего Web-сайта.

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

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

Самый простой, но и самый долгий способ поиска вируса – это попытаться отследить даты изменения файлов. Допустим, основная масса файлов в важнейших каталогах (wp-includes , wp-admin и др.) имеют одну и ту же дату создания, но есть один или два файла с более поздними датами создания. Отметьте эти файлы и сравните их с файлами из дистрибутива WordPress. Также можно сравнить файлы по размеру в программе Total Commander. Остаётся только сравнить содержимое подозрительных файлов и выяснить, для чего предназначены найденные лишние фрагменты кода.

Как проверить обрабатываемый HTML-код

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

Потребуется открыть "заражённый" Web-сайт в браузере (предпочтительнее в Opera или Firefox) и выбрать в контекстном меню пункт "Показать исходный код сайта ". Если вы знаете HTML, то наверняка сможете заметить подозрительные строки. Это могут быть незнакомые ссылки на сайты, куски "сжатого" или зашифрованного (способом base64) кода, также это может быть неизвестный фрагмент Javascript, который наверняка тоже будет зашифрован. Определить его можно по включенной в код фрагмента команде eval . Обычно это означает, что кто-то пытался скрыть истинный код Javascript, что должно вызывать определенные подозрения. На рисунке 1 представлен пример подозрительного кода.

Рис. 1 Фрагмент подозрительного HTML-кода

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

Когда вредоносный код на страницах сайта не удается обнаружить способами, описанными выше, то можно воспользоваться сторонними online-инструментами. Например, можно установить плагин WordPress Exploit Scanner, который будет регулярно проверять Web-сайт и выявлять вредоносное ПО. Плагин представляет подробный отчет и выделяет строки, которые впоследствии следует удалить.

Кроме того, можно просканировать Web-сайт online-сканнером Sucuri SiteCheck – эта услуга абсолютно бесплатна, а за определенную плату можно заказать полное лечение ресурса.

Как проверить плагины и темы на наличие вредоносного кода

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

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

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

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

Лучшие способы защиты плагинов и тем Wordpress:

  • скачивайте и устанавливайте темы и плагины только с проверенных Web-сайтов;
  • не используйте "взломанные" платные плагины и темы;
  • удаляйте неиспользуемые плагины и темы;

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

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

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

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

RewriteCond %{HTTP_REFERER} .*yandex.* RewriteRule ^(.*)$ http://неизвестныйсайт.com/

Если подобные строки были обнаружены, то не следует сразу их удалять. Сначала запросите у хостинг-провайдера логи за период примерного изменения файла .htaccess и проанализируйте, с какого IP адреса и когда был отправлен этот файл. Возможно, в это же время были изменены и другие файлы.

Если был изменен только этот файл, то следует сменить пароли для FTP и административного интерфейса. Если же изменения были обнаружены и в *.php, *.html файлах, то, скорее всего, на сайт был загружен PHP-сценарий, через который злоумышленник сможет получить доступ ко всей имеющейся информации.

Профилактика такого вида угроз довольно проста и не требует особых затрат. Важно помнить следующие правила:

  • не храните пароли в FTP-менеджерах или в почтовых сообщениях;
  • регулярно обновляйте ядро WordPress;
  • обновляете плагины и темы;
  • не используйте простые пароли.

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

Как найти инъекцию вредоносного SQL-кода в WordPress

Итак, мы уже рассмотрели различные способы заражения и лечения Web-сайта, основанного на бесплатной CMS WordPress. Но одним из популярных методов проникновения и взлома является SQL-инъекция (sql injection). Этот способ заражения основан на составлении запроса в базу данных, в котором производится кража пароля от административного интерфейса или получение другой конфиденциальной информации. В отношении WordPress можно сказать, что известные на момент последнего обновления "бреши" в системе безопасности базы данных и в фильтрации запросов, были устранены.

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

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

Но плагин WordPress Exploit Scanner, упоминавшийся ранее, умеет работать и с базой данных, и в некоторых случаях он может найти внедренную в базу данных постороннюю функциональность. Вот только удалять ее придется вручную с помощью специальных SQL команд в программе администрирования баз данных PHPMyAdmin. Подобные действия нужно выполнять очень аккуратно, так как неправильный запрос или команда может повредить структуру или содержимое базы данных. Чтобы этого не произошло, стоит заранее озаботиться процессом создания резервных копий БД. Кстати, сам Exploit Scanner может выдавать рекомендации по исправлению SQL-запросов.

Практические способы защиты Web-сайтов, построенных на базе WordPress

В интернете можно найти множество советов о том, как обезопасить и защитить Web-сайт, работающий на бесплатной CMS WordPress. Ниже предлагается список из наиболее эффективных рекомендаций:

  • следует изменить и никогда не использовать стандартные имена для пользователей, имеющих администраторские права, например, admin, administrator и т.д.;
  • необходимо установить капчу, которая существенно снижает риск от взлома путём перебора паролей;
  • для входа в административный интерфейс должен использоваться сложный буквенно-цифровой пароль, не менее 8-10 символов;
  • пароль не стоит хранить в Web-браузере, текстовых файлах и т.д, offline-хранение на листке бумаге гораздо надёжнее;
  • необходимо защищать и пароль почтового ящика, который был указан при установке WordPress;
  • регулярно выполняйте резервное копирование вручную или с помощью специальных плагинов или сторонних программ, при этом полученные резервные копии обязательно должны храниться в нескольких местах;
  • не устанавливайте плагины из неизвестных источников, взломанные платные плагины и темы;
  • следует установить плагины, отвечающие за безопасность файлов и базы данных WordPress, и регулярно проверять состояние сайта с помощью антивируса;
  • вовремя обновляйте ядро, плагины и темы (перед каждым обновлением обязательно делайте полное резервное копирование);
  • файл admin.php стоит переименовать, чтобы затруднить его идентификацию;
  • зарегистрируйте Web-сайт в Яндекс или Google, чтобы быть в курсе проблем, связанных с безопасностью сайта и его индексацией;
  • необходимо проверить права для каталогов и файлов WordPress: для каталогов выставляются права 755 , для всех файлов 644 , отдельно для каталога wp-content права должны быть 777 ;
  • если нет необходимости в регистрации пользователей, то лучше эту функцию отключить совсем;
  • также можно отключить возможность комментирования и оставить только форму для комментирования через социальные сети;
  • следует удалить файл readme.htm , расположенный в корневом каталоге, в котором хранятся сведения об установленной версии WordPress (это надо делать после каждого обновления CMS);
  • также упоминание об используемой версии WordPress следует удалить из файла functions.php , добавив туда строчку: remove_action("wp_head", "wp_generator");

Что делать если проблему так и не удалось решить?

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

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

Заключение

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

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

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

Симптом первый. Сообщение google «Возможно, этот сайт был взломан»

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

Это сообщение появляется, если google подозревает, а точнее почти уверен, что ваш сайт был взломан. Что делать и куда бежать в таком случаи? Действий не так много их всего 5:

  1. Почистить сайт от шелов и разных вирусов , об этом чуть позднее;
  2. обновить WordPress и все плагины со старых версий до самых последних ( );
  3. настроить защиту сайта , тоже позднее расскажу немного об этом;
  4. проверить насколько хороший хостинг и перенести на более надежный, я советую как и раньше;
  5. проверить, не лежат ли вирусы в базе данных ;

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

Если вы все почистили, а ошибка «Возможно, этот сайт был взломан» осталась

Я бы советовал зайти в Webmaster Google и запросить повторную проверку сайта. Скорость проверки Webmaster Google будет зависеть от степени заражения.

Бывают 2 степени сложности заражения:

  1. Если вам залили вредоносный код через который получают доступ к сайту, публикуют ссылки … Вообщем ломают только вас и вредят только вам.
  2. Если ваш сайт взломали и пытаются разослать спам или ломать других.

В первом случаи сотрудники Google даже не проверяют сайт, так как это может сделать система на автомате (у меня было от 10 минут до нескольких часов).

Во втором случаи для того чтобы убедится что с вашего сайта нет угроз которые могут нанести вред другим сайтам Google отправляет специального человека который выверяет сайт. Во втором случаи проверка может длиться 1-2 недели.

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

Симптом второй. Вирус редиректит на другой сайт

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

Скрытый редирект с Google или Yandex

Более сложный вирус с редиректом. Часто редирект ставиться под определенную поисковую систему, так он менее заметен для администратора, а вот пользователи, которые заходят с поисковых запросов попадают на сайт какой-то ерунды, которую им пытаются продать.

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

Редирект с мобильного устройства IPhone или Android это еще круче спрятанный редирект, который перенаправляет только мобильный трафик. К щастью поисковые системы в своих вебмастерах хорошо видят это, но в любом случаи иногда полезно зайти на сайт с любого мобильного устройства и посмотреть как он работает.

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

Подмена контекстной рекламы Google и Yandex

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

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

Симптом третий. Хостинг пожаловался что с сайта постоянно рассылается СПАМ

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

Какие же проблемы возникают при постоянном заражении сайта и рассылке спама?

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

Все плохо, но лечить можно. Простые методы, такие как обновить все плагины и WordPress тут не помогут, все сложнее. Нечего прикладывать подорожник к экрану и ждать когда заживет! :-). Используйте все советы по выявлению и обезвреживанию вирусов, описанные в первом симптоме. Кстати наверное большая часть хостингов не обеспечивают должной защиты, заражение может быть через их сервисы, а при заражении ругаться такие хостинги будут на владельцев (себя же не обвинишь!). Про хостинги поговорим чуть позднее.

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

Симптом третий. Вирус вставляет код в каждый пост блога

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

Как защитить сайт от вирусов с WordPress я делаю именно так

  1. Выбирайте только с разграничениями прав между доменами, так чтобы взломав один сайт на хостинге злоумышленник не смог добраться до остальных.
  2. Закрывайте логины пользователей так, чтобы их нельзя было найти. Часто всякие WordPress плагины форумов, соцсетей, магазинов их очень хорошо отображают.
  3. Пользуйтесь только проверенными плагинами и темами, я бы советовал качать и из официального репозитория. Можно также покупать темы на известных маркетплейсах на которых есть контроль качества кода. Я обычно если покупаю то использую маркетплейс .
    Если тема старенькая и ее не как достать из надежного источника, то лучше ее даже не использовать и выбрать другую. Как альтернатива можно дать тему на чистку специалиту, но цена может быть почти такой же как купить новую.
  4. Купили хостинг, создали сайт и настраивайте сложные пароли это залог защиты, по крайней мере от 90% взломов. Внушительно, не правда ли?
  5. Ставьте капчу везде где есть формы. Форма логина, регистрации, восстановления пароля, комментарии. Так можно отсеять часть роботов, которые могут перебрать пароли.
  6. Блокируйте запросы в строке адреса, которые могут привести к ошибкам.
  7. Скрывайте на сервере вывод ошибок.
  8. Хорошо скрывайте версию движка и сам движок, насколько это возможно.
  9. Время от времени делайте ручную копию сайта на внешний носитель.
  10. Вовремя обновляйте все плагины после создания дампа базы и копии файлов (причем ели давно не обновляли, то лучше обновлять версию за версией).

Если WordPress сайт постоянно заражают вирусами значит, пропустили дыру или бекдор

  1. Если сайт был заражен, то делайте только .
  2. Удаляйте все неактивные плагины и темы, весь хлам, где могут быть вирусы.
  3. Чистите все найденные вредоносные коды.
  4. Только когда все вычистите, начинайте ставить защиту.

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

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

Могу удалить вирус с сайта на WordPress и настроить защиту

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

Skype: maxix2009
Mail: info@сайт



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

Чаще всего заражение происходит из-за человеческого фактора, но что делать, если сайт все-таки взломан?

Основные проблемы

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

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

Ниже я приведу несколько команд, которые можно применять при поиске зараженных файлов и/или загруженных к Вам на сайт shell-ов/backdoor-ов. Для этого нам потребуется программа Putty и SSH-доступ к сайту.

Поиск зараженных файлов

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

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

find /Каталог с сайтом -type f -iname "*" -exec grep -Him1 "eval" {} \; > ./eval.log
find /Каталог с сайтом -type f -iname "*" -exec grep -Him1 "base64" {} \; > ./base64.log
find /Каталог с сайтом -type f -iname "*" -exec grep -Him1 "file_get_contents" {} \; > ./file_get_contents.log

Поиск директорий с полными правами на запись

Следующая команда выводит список директорий, на которых установлены полные права на запись. Именно такие директории используют для заражения сайта.

find ./Каталог с сайтом -perm 777 -type d

Поиск измененных файлов за период

Если Вы знаете когда примерно произошло заражение, можно посмотреть список измененных файлов за последние несколько дней (параметр –mtime -7 указывает на дату изменения отличную от текущей за 7 прошлых дней)

find ./Каталог с сайтом -type f -iname "*" -mtime -7

Что делать, если сайт заражен?

Итак, предположим, что мы нашли зараженные файлы или shell-файл. Перед тем как его удалить/удалить из него вредоносный код, запомните его имя (полный путь), дату изменения/создания файла, его gid и id пользователя (для unix систем), это позволит найти способ его загрузки к нам на сайт. Начнем с пользователя и группы:

Посмотрите, от какого пользователя работает Ваш web-сервер:

ps -aux | grep "apache2" | awk {"print $1"}


Если этот пользователь совпадает с пользователем, создавшим вредоносный файл, то можно предположить, что он был загружен через сам сайт. Если же нет – файл могли загрузить через ftp (мы настоятельно рекомендуем изменить пароли к FTP-серверу и административной панели сайта).

cat ./site.ru.access.log | grep “имя filenameOfShellScript”


И получаем вывод всех запросов к нашему скрипту. По нему определяем userAgent и ip адрес нашего взломщика.

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

cat ./site.ru.access.log | grep “ip” | grep “userAgent”


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

Ижаковский Андрей, системный администратор