Взлом сайта и установка Sape

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

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

Отредактируем файл .htaccess, в котором запретим переходы с основных ликобирж. Например, так:

RewriteCond %{HTTP_REFERER} http://(www\.)?sape.ru [NC]
RewriteRule ^(.*)$ http://www. домен.ru/img/fuck.jpg [L,R=301]

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

У меня под ограничение попали sape.ru, linkfeed.ru, mainlink.ru, seolin.ru и seopult.ru.

Следующим шагом будет работа с index-файлом. Обычно это index.php. В том же .htaccess можно назначить новый index-файл, который можно спрятать в какой-то малоочевидной для таких целей директории. Но лучше написать функцию, которая будет проверять index-файл на чистоту кода. Например, при загрузке файла вычисляется hash-файла или же его размер в байтах. В самом файле (или же в отдельном файле для таких целей – это кому как угодно) указать правильные величины. Если в файле произойдут несанкционированные изменения, то вы можете заблокировать работу сайта или же, что, на мой взгляд, более правильно, отправить себе письмо о том, что кто-то внес правки без вашего ведома. Такой подход имеет ряд недостатков. Например, если доступ к сайту имеют несколько человек, то каждая правка должна быть зафиксирована. Но в целом, это небольшая, но все же защита.

Более сложный механизм (в плане контроля) можно сделать на основе контроля буфера вывода. Например, в php есть возможность перехватывать выходящий поток. На него как раз и можно наложить фильтр. Например, все внешние ссылки будут автоматом получать rel=”nofollow” и тем самым не передавать вес вашего сайта другим сайтам. Здесь же можно сделать и другую проверку. Зачастую взломанные сайты имеют двойное объявление и в силу того, что взломщики просто дописывают код в конец исполняемого файла. Соответственно, вам нужно отфильтровать повторные теги и все что в них включено. Недостаток этого способа в том, что придется немного поколдовать над структурой ваших файлов, чтобы корректно запускался механизм перехватывания потока.

И еще несколько советов.

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

Чтобы понять какие ссылки есть на вашем сайте, можно воспользоваться бесплатной утилитой Site-Auditor, которая проанализирует ваш сайт и покажет какие ссылки на нем размещаются. Так вы сможете оперативно узнать, появились ли какие-то незаконные ссылки на вашем ресурсе или нет.

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