Сегодня с утра до полудня оба сайта показывали вместо заглавных страниц текст "Trustix - Trustix@hackermail.com". Файлы были возвращены на место, а я мысленно передав пламенный привет санитарам интернета озадачился способом взлома. По статистике последних уязвимостей первой под подозрение попала библиотека xmlrpc, однако на drupal.ru известные на сегодня ошибки в ней закрыты, на roleplay.ru - файлы вовсе удалены. Анализ логов несколько прояснил ситуацию. На общем аккаунте среди прочих размещался сайт на CMS Postnuke, работавший в read-only режиме, как архив старых материалов, но xmlrpc.php в нём действовал исправно. Эта забытая мина и рванула всеми известными в этой библиотеке багами, поскольку она не обновлялась со времени закрытия сайта. Подмена файлов с адреса 201-42-71-5.dsl.telesp.net.br произошла в 8:15-8:20 по серверному времени. Ниже лог обращений к roleplay.ru/worlds/, где размещался постнюковский сайт.
201.42.71.5 - - [11/Sep/2005:08:16:50 +0400] "POST /worlds/xmlrpc.php HTTP/1.0" 200 13 "-" "-"
201.42.71.5 - - [11/Sep/2005:08:16:51 +0400] "GET / HTTP/1.0" 200 33 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)"
201.42.71.5 - - [11/Sep/2005:08:16:54 +0400] "GET / HTTP/1.0" 200 33 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)"
201.42.71.5 - - [11/Sep/2005:08:16:59 +0400] "GET / HTTP/1.0" 200 33 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)"
201.42.71.5 - - [11/Sep/2005:08:17:29 +0400] "POST /worlds/xmlrpc.php HTTP/1.0" 200 5835 "-" "-"
213.219.122.11 - - [11/Sep/2005:08:17:37 +0400] "GET / HTTP/1.0" 200 33 "-" "Wget/1.9.1"
201.42.71.5 - - [11/Sep/2005:08:17:38 +0400] "POST /worlds/xmlrpc.php HTTP/1.0" 200 373 "-" "-"
201.42.71.5 - - [11/Sep/2005:08:18:04 +0400] "POST /worlds/xmlrpc.php HTTP/1.0" 200 13 "-" "-"
201.42.71.5 - - [11/Sep/2005:08:18:41 +0400] "POST /worlds/xmlrpc.php HTTP/1.0" 200 5835 "-" "-"
201.42.71.5 - - [11/Sep/2005:08:19:05 +0400] "POST /worlds/xmlrpc.php HTTP/1.0" 200 3103 "-" "-"
201.42.71.5 - - [11/Sep/2005:08:19:12 +0400] "POST /worlds/xmlrpc.php HTTP/1.0" 200 46 "-" "-"
201.42.71.5 - - [11/Sep/2005:08:19:16 +0400] "POST /worlds/xmlrpc.php HTTP/1.0" 200 13 "-" "-"
201.42.71.5 - - [11/Sep/2005:08:19:21 +0400] "POST /worlds/xmlrpc.php HTTP/1.0" 200 13 "-" "-"
201.42.71.5 - - [11/Sep/2005:08:19:26 +0400] "POST /worlds/xmlrpc.php HTTP/1.0" 200 13 "-" "-"
201.42.71.5 - - [11/Sep/2005:08:19:52 +0400] "POST /worlds/xmlrpc.php HTTP/1.0" 200 13 "-" "-"
201.42.71.5 - - [11/Sep/2005:08:19:55 +0400] "POST /worlds/xmlrpc.php HTTP/1.0" 200 13 "-" "-"
201.42.71.5 - - [11/Sep/2005:08:19:59 +0400] "POST /worlds/xmlrpc.php HTTP/1.0" 200 140 "-" "-"
Действий кроме подмены индексных страниц произведено не было. Сайт на postnuke похоронен навсегда во избежание всяких проблем в будущем. Ушёл посыпать голову пеплом и чистить аккаунт от прочих старых скриптов. Не ровен час рванёт в другом месте...
Комментарии
Мой сайт не тронули? Или посчитали его недостойным для этого?
Где-то вчера вечером стала проявлятся вот эта ошибка пр входе для незарегистрированного пользователя
Notice: Undefined index: messages in /home/www/axel/drupal/includes/bootstrap.inc on line 507
причем с одного компьютера вообще полный набо кракозябров, а с другого только это сообщение в верхней строке
Эта ошибка ещё раньше была, после очередного апдейта чё-то криво обновилось.
--
Axel,
www.axel.drupal.ru | darcs-репозиторий моих разработок
Зашибись. Так ее что, до сих пор не поправили?
В который раз отмечаю, что презентационный и тестовый сайты по Drupal неплохо бы разнести на разные движки. Иначе вместо рекламы получается жесткая антиреклама. "Если даже у мэтров такая фигня получается, нам туда вообще лучше не лезть."
Эта ошибка уже давно, с августа точно.
Приходится заходить на какуюнибудь node и авторизироваться.
Полагаю чел внимательно не разбирался какие у нас сайты на аккаунте и подменил, что первое под руку попалось. Старый сайт на postnuke лежал в поддиректории roleplay.ru и из него легко можно было получить доступ к файлам главного сайта, было видно, что сначала был заменён index.html, который там так просто валялся, дальше уже index.php. В общем, безопасность сайтов на общем аккаунте это проблема, одна забытая дырка в забытом скрипте может вытащить наружу кучу проблем. Мечтаю о выделенном сервере с отдельной базой на каждый сайт и отдельным аккаунтом в chrootе
--
Axel,
www.axel.drupal.ru | darcs-репозиторий моих разработок
Сволочи, эти дефейсеры. Порвал бы к черту всех...
Ни скажи. В данному случае человек поступил очень гуманно. Любой другой мог бы навеселиться вдоволь, прилично навредвив сайту.
Тут, можно сказать, он указал на проблемы с защитой сайта и оберёг от возможных будущих, более фатальных взломов.
А я вот всегда указываю на проблемы по e-mail. Что я делаю неправильно?
Нда уж.. В итоге сайт починили?
посмотрите на дату
---
---
All content management systems suck, Drupal just happens to suck less. -- Boris Mann at DrupalCON Amsterdam, August 2005.
Извините, торможу. Я сначала и в поле Почтовый адрес пытался вбить улица Романова, ...