Поиск и удаление редиректов c сайта
Если ваш сайт переадресовывает пользователя на другую страницу с рекламной или другой информацией, то скорее всего у вас редирект. К этой болезни очень негативно относятся поисковые машины, которые могут просто удалить ваш сайт из выдачи по причине переадресации на другие ресурсы.
Например, поисковая машина Яндекс прямо предупреждает вебмастеров о вредности редиректа, осуществляемого ими вручную или внедренной в код сайта программой.
«Мы стараемся не индексировать или не ранжировать высоко страницы и сайты, единственной целью которых является перенаправление пользователя на другой ресурс, автоматически («редирект») или добровольно», - говорится в Рекомендациях Яндекса для вебмастеров по созданию качественных сайтов.
Что такое редирект
Редирект – это несанкционированное перенаправление на сторонний ресурс посетителей сайта. То есть посетитель заходит на сайт (это может быть переход с мобильного устройства или с поисковой системы), попадает не на ту страницу, на которую хотел.
Редиректы являются следствием взлома. Если на сайте наблюдается переадресация посетителей, то это первый звоночек для владельца сайта: следует обратить внимание на проблему информационной безопасности, выполнить сканирование сайта на вредоносный код, установить соответствующую защиту.
Назначение редиректов
По своему назначению редиректы бывают:
- Мобильные редиректы – это переадресация посетителей, которые заходят на сайт со своих мобильных устройств.
- Поисковые редиректы – это переадресация посетителей, приходящих с поисковой системы (воровство поискового трафика).
- Редиректы на файлы вредоносной природы или на рекламные файлы. Их возможно наблюдать как на мобильных устройствах, так и на декстопах. Пользователю предлагается скачать некий вредоносный файл под видом обновления системных компонентов или какой-то известной программы. Также может наблюдаться загрузка вредоносного кода в браузере, который содержит некую уязвимость.
Как работают редиректы
Редиректы нужны злоумышленникам для того, чтобы зарабатывать деньги. Деньги зарабатываются либо на воровстве посетителей, либо на переадресации посетителей на некие партнёрские программы (это приносит существенный доход). Также они используются для распространения вредоносного кода с целью получения контроля над компьютером или мобильным устройством жертвы.
Редирект представляет собой небольшой фрагмент кода. Обычно это фрагмент PHP или javascript. Данный фрагмент встраивается в один из существующих файлов. Это могут быть файлы CMS или формируется динамически страница, в которую подставляется вредоносный javascript, выполняющий переадресацию посетителей.
При переадресации учитывается достаточно большое число параметров конкретного посетителя: страна проживания, был ли он на этом сайте ранее, когда он заходит, откуда он заходит, с какого устройства он заходит
Различают статические и динамические редиректы. Статические редиректы всегда воспроизводятся по одной и той же схеме. Обычно статические редиректы представляют собой вставку вредоносного кода в один из файлов. Это может быть файл .htaccess, файл nginx.conf. Это может быть вставка в PHP или javascript.
Динамические редиректы намного сложнее, так как они воспроизводятся эпизодически. То есть учитывается много параметров. И в зависимости от того, какими параметрами (страна, время захода и так далее) обладает посетитель, ему формируется соответствующий код на javascript и редирект выполняется по различным условиям.
Редиректы можно анализировать разными методами. Самый простой – это использование внешних или сторонних сервисов. Например, панель вебмастера Яндекса и Google. Достаточно добавить заражённый веб-сайт в панель вебмастера и в разделе безопасности вы увидите описание проблемы, а также всю ту цепочку переадресаций, которую будет наблюдать пользователь, зашедший с мобильного устройства или с поисковой системы. Полезный сервис для выявления редиректа sitecheck.sucuri.net.
Типы редиректов и как их можно выявить
Существуют три типа редиректов по тому, где они инициируются. Это может быть серверный редирект, браузерный или смешанный. Серверный редирект выполняется через формирование статуса 301 или 302 с указанием того сайта, на который выполняется переадресация.
Браузерные редиректы представляют собой вставку вредоносного кода в страницу сайта. Данная вставка загружает по цепочке обычно достаточно большую связку других javascript, через которые происходит переадресация посетителей на сторонний ресурс (обычно это вредоносный ресурс).
Смешанные редиректы формируются со стороны сервера. Например, заражённый модуль веб-сервера может вставлять вредоносный код в код страницы, а этот код страницы также динамически генерируется и далее вся последующая обработка выполняется на стороне браузера. То есть выполняется переадресация по цепочке, используя javascript.
Для того, чтобы убедиться, что редирект выполняется только на стороне сервера, достаточно отключить поддержку javascript в браузере. Если у вас была стопроцентная воспроизводимость переадресации со включенным javascript, а с выключенным она пропадает, то достаточно достоверно можно утверждать, что она выполняется на стороне сервера. То есть дальше можно продолжать поиск данного редиректа внутри скриптов или модуля веб-сервера.
Серверные редиректы бывают достаточно простые. Это небольшой фрагмент кода, вставленный в PHP файл. Если это код вставлен в статический файл (файл .htaccess), то его тоже достаточно просто найти обычным поиском по домену, на который происходит переадресация.
Поиск серверных редиректов можно выполнять вручную, просто выполнив поиск по файлам того домена, на который происходит переадресация. Можно также выполнять поиск с помощью специальных сканеров (например, AI-BOLIT).
Для того, чтобы анализировать браузерные редиректы, необходимо использовать снифферы трафика. Достаточно сложно определить каким образом происходит переадресация посетителей, на какие сайты и при каких условиях. Чтобы посмотреть исходную проблему можно добавить сайт, на котором наблюдается переадресация, в панель вебмастера Яндекс или Google, посмотреть цепочку вызовов и попытаться найти первый редирект в файлах.
Как следует лечить редиректы
- Нужно убедиться, что вы сможете 100% воспроизвести редирект. Потому что только в этом случае можно считать, что вы его удалили.
- Удаляем тот инжект javascript или фрагмент .htaccess файла, который порождает редирект. Пытаемся воспроизвести его. Если редирект не воспроизводится, то можем с уверенностью утверждать, что редирект удалён.
- Необходимо выполнить полное сканирование сайта с целью обнаружения вредоносных скриптов. Скорее всего, также обнаружатся хакерские шеллы, бэкдоры. Их необходимо удалить. После этого установить защиту от взлома и осуществить мониторинг сайта.
Все зависит от Ваших знаний и умений. Есть сканера для поиска редиректа, есть скрипты для поиска и перезаписи файлов на сервере, есть ssh и команды для работы на сервере. Самое простое это FTP и файлы, тут требуется меньше знаний, но больше времени. Главное понимание того, что если сайт на хосте не один, то искать и чистить надо все, редирект может быть на соседнем сайте и заражать не тот сайт, а только какой-то определенный из соседних, и все думают, что зараза только на том что редиректит или ПС его блокирует 99 процентов - это Ваша первая ошибка и заблуждение.
Как чистить файлы
По найденному коду делать поиск найденного кода и его замену, любой программой. Если локально, то начиная от Notepad++ и теми программами которые могут вести поиск и замену в файлах, если на хостинге, то делать это скриптом поиска и замены.
Возможно сделать это и по-другому. Если вы полностью уверены, что файлы сайта не изменялись то можно просто перезалить чистые файлы сверху зараженных от версии, которая у вас.
Как избежать заражения
Про это пишут все, всегда и очень много. Вот основные постулаты:
- делать постоянно бэкапы
- своевременное обновление как CMS, так и всех расширений
- создавать пароли из букв (прописных и заглавных) и цифр, возможно использовать символы, чем длиннее, тем лучше, это на случай брута админки
- взять за правило менять пароли, хоста, ftp, админки, и даже бд и это не параноя, а простое правило
- вести логи сервера с ротацией и чем больше срок их хранения, тем лучше
Чтобы избежать появления неприятностей типа редиректа, требуется следить за сайтами ежедневно работать. Ваш сайт это уже работа или хобби, на которое требуется тратить ежедневно достаточное количество времени.
Комментариев 0