“Пока гром не грянет — мужик не перекрестится ” – старейшая поговорка, которая идеально характеризует поведение владельцев и разработчиков интернет-сайтов при подходе к безопасности сайтов. Распространенная ситуация – пароли от сайта похищены, сайт взломан, с сайта рассылается спам, посетителей сайта заражают всевозможными вирусами и троянцами, пользователей мобильных устройств переадресовывают на сайты мобильной рекламы. А собственник сайта узнает о всех этих проблемах поздно, когда поисковые системы и настольные антивирусы блокируют его сайт, хостинг пишет злобные письма и тут-то начинаются мучительные поиски инструментов и специалистов для лечения сайта, изучение основ программирования, создание резервных копий сайтов.
До вчерашнего дня поиски заканчивались неудачей, в интернете можно было найти несколько сложных и непонятных скриптов, которые могут частично помочь в лечении сайта и несколько специалистов, которые готовы помочь за заоблачные денежные суммы.
За долгое время мы наработали достаточно большое число инструментов для лечения и обеспечения безопасности сайтов, а когда приблизились к критической массе разных инструментов – объединили их все в единую систему САНТИ. Давайте попробуем с помощью этой систему вылечить уже зараженный сайт. Для начала установите систему себе на сайт и настройте её в соответствии с инструкциями, находящимися в разделе Документация, это займет не больше 5ти минут. Перед практикой – обязательно сделайте бекап сайта. Приступим.
Поиск появившихся вредоносных файлов и вставок в файлы на сайте.
Как правило, заражая сайт, вредители подбрасывают новые вредоносные файлы на сервер или дописывают свой код в существующие файлы. Здесь нам сыграет на руку то, что у всех этих файлов меняется дата изменения и она выглядит аномальной по сравнению с датами, которые стоят у большинства сайтов (их дата изменения зачастую совпадает с датой загрузки на сервер).
Давайте воспользуемся утилитой САНТИ “Date-поиск файлов”, смотри рисунок ниже. В данной утилите укажем промежуток дат в которые вирус мог попасть к вам на сайт, начальную дату желательно ставить позже загрузки сайта. В поле расширения оставьте всё как есть, это файлы, которые как правило часто меняются и добавляются с размещением контента на сайт, в списке рядом с расширениями выбирайте “Указанные исключить”. ИЩЕМ.
Немного поработав, САНТИ выдаст найденные файлы, если результаты не удовлетворяют – уточняем параметры поиска. Напротив каждого файла мы увидим измененные в указанный период файлы, посмотреть и отредактировать их можно, нажав кнопку “редактировать”.
Найти вы можете несколько вариантов файлов:
- Файл является неотъемлемой частью CMS сайта или контента и в него внедрена вставка, например, генерирующая iframe в теле сайта или вставляющая ссылки с бирж ссылок. Многие вставки распознать легко, во-первых, они как правило находятся внизу документа и выделяются от всего кода файла, во-вторых, они содержат в себе не логично названные переменные, в третьих, их можно вычислить по повторяющимся технологиям и тегам:
- “<iframe …”;
- “document.write(“ и дальше абракадабра или код iframe;
- “eval(base64_decode(«CiRhdXR” и т.д. – закодированный код в PHP;
- Код с получением списка ссылок и генерация ссылок <a href=>;
- Вставка .htaccess для переадресации трафика;
- …
Файлы надо внимательно визуально изучать и удалять вставки, не повредив полезного кода, так же не забывайте про кодировку файла.
- Файлы, которые целиком чужие – удаляйте полностью, можете на всякий случай сравнивать с чистой CMS и проверять, есть ли там такие файлы.
В скором времени в САНТИ появится интеллектуальный механизм определения вредоносов по сигнатурам, и 70% работы, перечисленной выше он выполнит за вас.
Массовое лечение файлов на сайте, удаление iframe’ов из файлов.
Самое ужасное вредительство, которое мы встречали при заражении сайта – это когда заражаются все файлы без разбора, как правило страдают .js скрипты, а на сайтах их может быть сотни – в ручном режиме такие объемы очистить невозможно, и остается два решения – восстановить файлы из бекапа (которого по традиции нет :-)), автоматизировать очистку файлов. Остановимся на втором варианте. Сначала отыщем один из зараженных файлов и посмотрим на его вредоносную вставку – увидим например следующий код:
;document.write(unescape('%3C%73%63 ……… %72%69%73E'));
, только длиннее. Такая вставка создает на страницах сайта при загрузке iframe код с ссылкой на вредоносный сайт, её нам надо удалить из сотен файлов. Воспользуемся утилитой САНТИ “Поиск и удаление вредоносных вставок”, см. на рисунке ниже.
В поле “Начало вредоносной вставки” вписываем начало кода вставки, из нашего примера — это “;document.write(unescape(‘%”, в поле “Конец вредоносной вставки” пишем по нашему примеру “3E’));”. Остальные поля просты для понимания, заполняем их или оставляем как есть. Для начала в действиях оставим “Ищем”, если маску поиска вставок задали правильно – то скрипт найдет все файлы, где есть указанный код, если нет – то где-то ошиблись. После того как скрипт правильно вычислит все файлы с вирусом, выбираем в действиях “Ищем и лечим” – скрипт пройдет по всем файлам и вырежет вирусы. ДЕЛО СДЕЛАНО, сайт чист.
Как защитить сайт дальше?
А дальше просто настройте как вам нужно САНТИ, у него есть автопилоты – которые будут следить за состоянием файлов на сайте, есть уведомления которые вовремя известят вас о взломе, есть автоматический бекапинг сайта, который не даст потерять сайт, есть автосканирование поисковиков на предмет блокировки, ну и как вы увидели – множество инструментов. Спасибо.
Здравствуйте. Очень интересно. У меня несколько вопросов.
1. Какую нагрузку на сервер создаст этот сканер? У меня допустимая 97.5 СР, а на данный момент я расходую 6 — 15 СР.
2. Повлияет ли наличие антивируса, на скорость загрузки сайта, особенно на мобилах, и как.
3. Я, как вы точно заметили, начал заниматься безопасностью, когда гром грянул, и толком не знаю, как выглядит вредоносный код. А знать надо, самому. Если я на первых порах, хотя бы несколько раз пришлю вам скриншёт с подозрительным кодом, Вы поможете выделить вредоносную вставку? Я быстр схвачу. А без этого нет смысла смотреть на этот код, как баран на новые ворота.
Я вижу у Вас «Помощь проекту», а у меня есть совесть.
все ответы отправил на почтовый ящик.
САНТИ нашел два файла с вирусами, а как их лечить не понятно. Кнопки ВЫПОЛНИТЬ после пункта выбора ПРОВЕРИТЬ нет. ЧТО делать?
Эдуард, САНТИ не лечит, он только помогает найти вредителя. Дальше своими руками или с помощью Ваших программистов.