Платон Щукин

Знание - сила. Что стоит знать, чтобы быстро исправить проблемы с безопасностью сайта.

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

Такое предупреждение выдается специальной системой поиска опасных сайтов, которая работает в Яндексе. Сайт может посчитаться небезопасным из-за наличия вредоносного кода непосредственно на его страницах, а также при обнаружении вредоносной активности, например, перенаправления (редиректа) на вредоносный ресурс, подгрузке опасного url и т.д. Поскольку большинство пользователей, видя предупреждение, предпочитают не переходить на подобный ресурс, его посещаемость сильно падает. Этому способствует и то, что опасный сайт понижается или вовсе исключается из поисковой выдачи.

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

В этом посте мы рассмотрим часто встречающиеся ситуации, проблемы и вопросы.

Не получается найти вредоносный код

"В разделе "Безопасность и нарушения" сервиса Яндекс.Вебмастер в качестве примера указана несуществующая страница, например, site.com/123. Это же какая-то ошибка!"

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

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

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

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

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

"Указанного в качестве примера вредоносного кода или подобного ему нет. Система ошиблась!"

Часто вредоносный код динамически вставляется в HTTP-ответ сервера и может присутствовать (быть "виден") только при определенных условиях, например:

  • при переходе на сайт из поисковой системы (для этого серверный вредоносный код проверяет, откуда пользователь перешел на сайт, используя реферер);
  • при первом посещении сайта пользователем (например, по наличию куки пользователя или запоминанию его IP-адреса);
  • при использовании мобильного или, наоборот, настольного компьютера (по заголовку user-agent в запросе);
  • когда IP-адрес принадлежит определенному региону;
  • когда это не администратор сайта (например, проверяя, входит ли IP-адрес посетителя в тот же диапазон IP-адресов, что и сервер, на котором работает сайт).

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

"Почему вы не предоставляете серверный код?"

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

"Другие сервисы и поисковые системы ничего опасного не находят. Значит, мой сайт чист!"

Ни одна поисковая система или сервис не в состоянии проверить все страницы в интернете, проверять их моментально. Кроме того, разные системы умеют находить разные виды угроз.

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

Ошибки в других сервисах и продуктах

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

Ошибки браузера при проверке SSL-сертификата сайта

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

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

Необходимые действия предприняты, но сайт все равно считается опасным

"Я удалил опасную страницу, которая указана в качестве примера. Почему сайт не проходит проверку?"

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

"Я закрыл доступ к страницам. Причин предупреждать об опасности при переходе на сайт нет, уберите предупреждение"

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

"Я ограничил доступ к своему сайту для определенной группы пользователей или настроил защиту от DDos атак после выявления вредоносного кода. Почему в Яндекс.Вебмастере появилось уведомление "Перепроверка Вашего сайта не удалась"?

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

"Я закрыл индексирование зараженных страниц сайта в файле robots.txt, почему все равно пометка не снимается"

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

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

"Мой сайт сломался совсем, снимите предупреждение"

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

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

Как предупреждение об опасности сайта отразится на его позициях в будущем

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

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

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

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

2 комментария
А что с сайтами, которые использует методы, обманывающие пользователей мобильного интернета — например, подменяет проиндексированное поисковым роботом содержимое и/или перенаправляет посетителей на страницы с подпиской на платные контент-услуги.
Пришло письмо от Яндекса, сайт понижен в поиске, служба поддержки только отговорки пишет. Может надо точно дать понять, куда и как перенаправляет сайт? Сам в упор ни чего не вижу, нет редиректа, Пробовал с десятков устройств: планшеты, телефоны - нет редиректа. Пробовал с телефонов друзей, родственников, детей - нет редиректа. Как быть, куда писать, кому жаловаться?
Обычно такие перенаправления не связаны с вредоносным кодом, поэтому в данной статье мною не рассматривались. Наши рекомендации, на что стоит обратить внимание в подобных ситуациях, собраны на странице Помощи https://yandex.ru/support/webmaster-troubleshooting/gsmfraud.xml . Отмечу, что цель перенаправлений может часто меняться, поэтому она не всегда является ценным ориентиром для поиска источника проблемы. Уточнить, почему так среагировали алгоритмы в данном случае, Вы можете с помощью специальной формы обратной связи, доступной по вышеприведенной ссылке (ссылка будет доступна после авторизации в сервисе Яндекс.Вебмастер).