Здравствуйте! (Прежде чем написать что случилось, я хочу сказать, что я новичок во freebsd)
Вообщем случилось всё так:
Я обнаружил у себя в системе руткиты, иx маскировали под ls,ps,chsh,date...
Так как у меня на сервере стоит сайт и важная БД, то я не стал переустанавливать систему, а решил просто заменить эти файлы. Только ls работал нормально, а остальные не работали, ну я решил установить ps из пакета procps. Она не захотела устанавливаться, начала жаловаться на библитоеки...
Начал устанавливть библиотеки, а у них другие зависимости.... и т.д. И как-то получилось так, что я pkg_add запустил с опцией удаления всех пакетов(Во всём моя вина) =(((
Ну я быстор "ctrl c" Но видимо уже было поздно. Я перезагрузился (Моя вторая ошибка), и не могу зайти в систему(удалился bash).
Ладно, загрузился в single mode, получаеться заходить в sh и tcsh, а bash и ещё много команд выдают ошибки(каждая команда разные ошибки):
ELF interpreter /usr/libexec/ld-elf.so.1 not found Abort trap
ELF binary type "3" not known. Abort trap
Elf file OS ABI invalid
......
Вообщем система работает очень плохо (почти не работает), как я её могу сделать, если я на ней не могу выполнить команд? =)
Но слава богу база работает, а вот сайт е хочет, я кое как смог разобраться, что сайт не работает из-зф того, что апач не запущен, хочу запустить апач, а он говорит ему какой-то shared библиотеки не хватает.
представьте себе, что у Вас не работает ни ls ни ps... Я не могу посмотреть где что-находиться...
Ладно, это всё ещё фигня, самое грустное то, что я не могу переустановить систему, потому что база должна всегда работать, имееться вариант, поставить на другой комп и перенести это всё, но мне для этого нужно много времени и есть сомнения, что смогу ли я это сделать.
Кто-нибудь может мне что-нибуль посоветовать?
>Я обнаружил у себя в системе руткиты, иx маскировали под ls,ps,chsh,date...
это как? у кого еще есть права рута? или тебя поимели?>на другой комп и перенести это всё, но мне для этого
>нужно много времени и есть сомнения, что смогу ли я это
>сделать.
зови нормального гуру и готовь для него бабло или сок градусов 40>Кто-нибудь может мне что-нибуль посоветовать?
выпить йаду
>это как? у кого еще есть права рута? или тебя поимели?
Ни у кого нету, я закрыл все дыры, которые были.
>выпить йаду
А если ничего дельного не можешь посоветовать, лучше вообще не пиши, мне и так ни весело и ты ещё со своими подъ*бками )))
>>это как? у кого еще есть права рута? или тебя поимели?
>Ни у кого нету, я закрыл все дыры, которые были.
>>выпить йаду
>А если ничего дельного не можешь посоветовать, лучше вообще не пиши, мне
>и так ни весело и ты ещё со своими подъ*бками )))
>если tcsh пашет
идеш в сингмоде
tcsh
mount -a
и исправляеш все что натворил
>>это как? у кого еще есть права рута? или тебя поимели?
>Ни у кого нету, я закрыл все дыры, которые были.
>>выпить йаду
>А если ничего дельного не можешь посоветовать, лучше вообще не пиши, мне
>и так ни весело и ты ещё со своими подъ*бками )))
>
Лечить ТАКОЕ - себе дороже.... :(
Провести полную ревизию системы на предмет нужных данных для сохранения....
И все-таки ПЕРЕУСТАНОВИТЬ с нуля... Может временно поставить рядом сервер на нем поднять сервер баз данных. Пиши в мыло, если смогу: помогу...
>>это как? у кого еще есть права рута? или тебя поимели?
>Ни у кого нету, я закрыл все дыры, которые были.
Так не бывает, если кто-то был. Надеяться нельзя, что не оставили ещё один руткит/бэкдор.>>выпить йаду
>А если ничего дельного не можешь посоветовать, лучше вообще не пиши, мне
>и так ни весело и ты ещё со своими подъ*бками )))
А это BSD community, привыкайте или меняйте.В треде по делу выступили Alexey Leonchik и user (респект), lavr опять отличился бестолковым оверквотингом (какой баран будет "восстанавливать" не дышащую толком систему из чего угодно, если оттуда надо вытягивать данные, а бинарники все до одного с нуля наливать, причём строить не на взломанном корне, а на чистом?).
Есть ровно один пусть надёжного восстановления пробитой системы -- вытаскивать с неё максимум данные, диск(и) лучше отложить на полочку, если есть необходимость и возможность производить дальнейшее расследование. Новую систему строить с нуля, перенося только данные; конфигурацию -- лучше тоже с нуля, если копируются какие-либо файлы -- построчно просмотреть глазами в спокойном состоянии и отдавая себе отчёт в том, что содержимое понято и не содержит мин. Лучше всё-таки diff от дефолтного конфига перечитать для каждого такого ещё.
"When one has a 'cracked' system, there is no safe way to recover other than a 'wipe and reinstall'. Aren't you glad you have those backups. ;)" (http://www.owlriver.com/tips/broken-system/)
Неплохое _обсуждение_ -- здесь: http://www.ducea.com/2006/07/17/how-to-restore-a-hacked-linu.../
Внимание, сама статья пропускает слона -- поддерживая мысль, что возможно выставить систему в онлайн, "почистив" её без установки или накатки с нуля на железо; не знаю кто как, я в единственном случае, когда возникло подозрение (а тогда цепляло практически всех, у кого :22 смотрел в мир), помучался-помучался да и понял, что спать спокойно не смогу, если посчитаю себя умнее неизвестного потенциально вторгшегося, особенно если за хвост поймать не вышло, но система стала вести себя "странно" где-то с той недели, когда в день объявления дырки как раз уезжал.Для себя теперь применяю непременное загоняние сервисов, смотрящих в мир, в linux-vserver (это примерно как jail, только чуть получше) и вот потихоньку обкатываю OpenVZ (это уже заметно лучше). Ну и линукс у нас ближе к OpenBSD по части отношения к безопасности.
Так что вытаскивайте базу/вебрут и думайте, что накатывать на железо... наверное, то же, что и было, только с апдейтами и почитав про jail. А потом на досуге и стенде взвешивая уже варианты.
>Здравствуйте! (Прежде чем написать что случилось, я хочу сказать, что я новичок
>во freebsd)
>Вообщем случилось всё так:
>Я обнаружил у себя в системе руткиты, иx маскировали под ls,ps,chsh,date...
>Так как у меня на сервере стоит сайт и важная БД, то
>я не стал переустанавливать систему, а решил просто заменить эти файлы.
>Только ls работал нормально, а остальные не работали, ну я решил
>установить ps из пакета procps. Она не захотела устанавливаться, начала жаловаться
>на библитоеки...
>Начал устанавливть библиотеки, а у них другие зависимости.... и т.д. И как-то
>получилось так, что я pkg_add запустил с опцией удаления всех пакетов(Во
>всём моя вина) =(((
>Ну я быстор "ctrl c" Но видимо уже было поздно. Я перезагрузился
>(Моя вторая ошибка), и не могу зайти в систему(удалился bash).
>Ладно, загрузился в single mode, получаеться заходить в sh и tcsh, а
>bash и ещё много команд выдают ошибки(каждая команда разные ошибки):
>ELF interpreter /usr/libexec/ld-elf.so.1 not found Abort trap
>ELF binary type "3" not known. Abort trap
>Elf file OS ABI invalid
>......
>Вообщем система работает очень плохо (почти не работает), как я её могу
>сделать, если я на ней не могу выполнить команд? =)
>Но слава богу база работает, а вот сайт е хочет, я кое
>как смог разобраться, что сайт не работает из-зф того, что апач
>не запущен, хочу запустить апач, а он говорит ему какой-то shared
>библиотеки не хватает.
>представьте себе, что у Вас не работает ни ls ни ps... Я
>не могу посмотреть где что-находиться...
>Ладно, это всё ещё фигня, самое грустное то, что я не могу
>переустановить систему, потому что база должна всегда работать, имееться вариант, поставить
>на другой комп и перенести это всё, но мне для этого
>нужно много времени и есть сомнения, что смогу ли я это
>сделать.
>Кто-нибудь может мне что-нибуль посоветовать?
пересобрать систему из sources, а перегружаться все равно придется
>
>
>пересобрать систему из sources, а перегружаться все равно придется
А что такое sources ? Где оно лежит ?На живой системе ? Я бы не рискнул.
============
как вариант1. Искать именно этой системы дистрибутив (ту же в точности версию, тот же релиз - ВСЕ ДОЛЖНО БЫТЬ АБСОЛЮТНО ТО ЖЕ) посмотреть можно или при логине или в sysinstall - зайти в options
2. Поставить систему на другом серваке (да хоть под ВмВарью)
3. основные директории
/bin
/sbin
/usr/bin
/usr/sbintar -cvf <имя.tar> *
потом эти тар файлы переносишь в какую-то диркторию (тестовую) под Var
tar -xvf <имя.tar>
смотри внимательно куда развернуло все файлы. ОК. Положило правильно в директорию. Вместе с файлом <имя.tar> , который потом можно будет удалить
Это все было на тестовой системе
Теперь аккуратно делаешь подиректорийно то же на рабочей системе. Главное - не спеши.
по-идее должно все восстановиться даже без перезагрузок. Но это только в случае - если очень продвинутые и крутые админы, которые ставили систему на делали "кардинального повышения безопасности" в виде обносления CVSUP. Если есть подозрение что это делалось (по датам основных файлов в поддиректориях) - сравнение с тестовой системой - то тогда дело плохо. Очень плохо. Тогда нужно спецов искать. Только не советчиков а практиков.
Если нет каких-то библиотек - ищите в Гугле, в точности по версии, инсталируйте на тестовой системе и только таром переносите - при этом должны сохраняться права на файлы.
tar -cvf name.tar Our_Lib.so.1
tar -xvf name.tar
останется только (может быть) выйти и зайти - для обновления списков директорий-содержимого для открываемого сеанса
>>
>>
>>пересобрать систему из sources, а перегружаться все равно придется
>
>
>А что такое sources ? Где оно лежит ?вы не знаете что такое ТАЙД, тогда мы идем к ВАМ!
>На живой системе ? Я бы не рискнул.
>
>============
>как вариант
>
>1. Искать именно этой системы дистрибутив (ту же в точности версию, тот
>же релиз - ВСЕ ДОЛЖНО БЫТЬ АБСОЛЮТНО ТО ЖЕ) посмотреть можно
>или при логине или в sysinstall - зайти в options
>
>2. Поставить систему на другом серваке (да хоть под ВмВарью)
>
>3. основные директории
>
>/bin
>/sbin
>/usr/bin
>/usr/sbin
>
>tar -cvf <имя.tar> *
>
>потом эти тар файлы переносишь в какую-то диркторию (тестовую) под Var
>
>tar -xvf <имя.tar>
>
>смотри внимательно куда развернуло все файлы. ОК. Положило правильно в директорию. Вместе с файлом <имя.tar> , который потом можно будет удалить
>
>Это все было на тестовой системе
>
>Теперь аккуратно делаешь подиректорийно то же на рабочей системе. Главное - не
>спеши.
>
>по-идее должно все восстановиться даже без перезагрузок. Но это только в случае
>- если очень продвинутые и крутые админы, которые ставили систему на
>делали "кардинального повышения безопасности" в виде обносления CVSUP. Если есть подозрение
>что это делалось (по датам основных файлов в поддиректориях) - сравнение
>с тестовой системой - то тогда дело плохо. Очень плохо. Тогда
>нужно спецов искать. Только не советчиков а практиков.
>
>Если нет каких-то библиотек - ищите в Гугле, в точности по версии,
>инсталируйте на тестовой системе и только таром переносите - при этом
>должны сохраняться права на файлы.
>
>tar -cvf name.tar Our_Lib.so.1
>
>tar -xvf name.tar
>
>останется только (может быть) выйти и зайти - для обновления списков директорий-содержимого
>для открываемого сеанса
Завтра у нас не рабочий день, как раз база не нужна, поеду и попробую всё что Вы посоветовали, потом сообщу Вам.
>Завтра у нас не рабочий день, как раз база не нужна, поеду
>и попробую всё что Вы посоветовали, потом сообщу Вам.Первое и главное, СПОКОЙСТВИЕ ТОЛЬКО СПОКОЙСТВИЕ :) (серьёзно), пока работает база не трогать машину. Думаю сайт не критично и терпит.
Однозначно переустановить новую систему на новую машину. Себе проще будет и надёжнее и новее :) .
На выходных взять винт с сервера и смонтировать его к новой системе, там и ls и ps и bash и sh и пр.
Монтирование делается на раз, если есть вопросы спрашивай сюда скажу как, да и другие помогут.
А вот теперь начинаются интерестные моменты.
Желательно обновить дерево портов, хотя и абсолютно не обязательно. Тоже вообщем несложно.
Нужно установить тот же софт, версия важна, но критична только в некоторых случаях, типа MySQL, т.е. если стоит 4 ставь её, если 5 ставь 5.
После того как получиться установить софт, нужно конфиги перенести со старой системы на новую.Потом перенсти данные.
Последние два абзаца сложны тем, что как я понял ты не знаешь что нужно ставить и откуда вынимать старые конфиги. Понемногу всё получится.
Тестировать получивщуюся систему. Если всё ок, то просто сменить IP-шник и у тебя сразу подыметься новый сервак. Старый не трогать, законсервировать на пару месяцев на случай добавить нужные данные.
>Первое и главное, СПОКОЙСТВИЕ ТОЛЬКО СПОКОЙСТВИЕ :) (серьёзно), пока работает база не
>трогать машину. Думаю сайт не критично и терпит.
>
>Однозначно переустановить новую систему на новую машину. Себе проще будет и надёжнее
>и новее :) .
>
>На выходных взять винт с сервера и смонтировать его к новой системе,
>там и ls и ps и bash и sh и пр.
>
>
>Монтирование делается на раз, если есть вопросы спрашивай сюда скажу как, да
>и другие помогут.
>
>А вот теперь начинаются интерестные моменты.
>
>Желательно обновить дерево портов, хотя и абсолютно не обязательно. Тоже вообщем несложно.
>
>
>Нужно установить тот же софт, версия важна, но критична только в некоторых
>случаях, типа MySQL, т.е. если стоит 4 ставь её, если 5
>ставь 5.
>
>После того как получиться установить софт, нужно конфиги перенести со старой системы
>на новую.Потом перенсти данные.
>
>Последние два абзаца сложны тем, что как я понял ты не знаешь
>что нужно ставить и откуда вынимать старые конфиги. Понемногу всё получится.
>
>
>Тестировать получивщуюся систему. Если всё ок, то просто сменить IP-шник и у
>тебя сразу подыметься новый сервак. Старый не трогать, законсервировать на пару
>месяцев на случай добавить нужные данные.Я так и попробую сделать, если что-нибудь не будет получаться, я не сомневаюсь в Вашей помощи. Спасибо.
Ну вроде чуток разборался, только есть небольшая проблема:
База работает нормально, апач нормально запускаеться, но когда открываю страничку в браузере, она высвечивает не весь сайт, а только верхнюю часть, может быть это из -за прав или из-за чего это может быть?
>Ну вроде чуток разборался, только есть небольшая проблема:
>База работает нормально, апач нормально запускаеться, но когда открываю страничку в браузере,
>она высвечивает не весь сайт, а только верхнюю часть, может быть
>это из -за прав или из-за чего это может быть?
Смотрите в error_log или что там данному vhost'у назначено ErrorLog'ом, проблемы с правами тоже там должны быть означены.
.
ок!
Весь лог забит вот этим:
Character set '#17' is not compiled character set and is not specified in 'NONEXISTENT/charcxter/?.conf' not found (errcode:2)
>Весь лог забит вот этим:
>Character set '#17' is not compiled character set and is not specified
>in 'NONEXISTENT/charcxter/?.conf' not found (errcode:2)
Будто MySQL? Сам на такое не наступал, у нас его нормально собирают (и в такой ситуации первым делом бы проверил целостность пакета при помощи rpm -V MySQL-server).Вы будто решили всё-таки восстанавливать ту же систему, а не генерировать на новом диске с нуля новую? Ой зря.
>Вы будто решили всё-таки восстанавливать ту же систему, а не генерировать на
>новом диске с нуля новую? Ой зря.
Я на новом тоже почти доустановил сервисы, осталось настроить, ну заодно и пытаюсь на старом )))
>>Вы будто решили всё-таки восстанавливать ту же систему, а не генерировать на
>>новом диске с нуля новую? Ой зря.
>Я на новом тоже почти доустановил сервисы, осталось настроить, ну заодно и
>пытаюсь на старом )))
Вот оно что. :)Если это было cut-n-paste, а не руками набрано (странные буковки в английском слове в пути) -- то сравнивайте указанные каталоги и скрипты, где они могут упоминаться.
Я никак не могу доделать мой измученный сервер )))
Вообщем как Вы и я на новую машину из портов поставил apache и mysql и из сырцов с нужными опциями установил php, настроил httpd conf, вообщем вроде всё сделал, но когда открываю страничку в браузере у меня выдаёт эту ошибку :
Fatal error: Call to undefined function message_die() in /usr/local/www/apache22/data/db/db.php on line 88
А в этом файле /usr/local/www/apache22/data/db/db.php
на этой строчке вот что:
$db = new sql_db($dbhost, $dbuname, $dbpass, $dbname, false);
if(!$db->db_connect_id) {
message_die(CRITICAL_ERROR, "Could not connect to the database");
Это может быть из-за того, что скрипт не знает или знает, но не то имя пользователя и пароль от базы?У меня ещё есть файл config.php с таким содержанием:
....
$dbhost = "localhost";
$dbuname = "webuser";
$dbpass = "blabla";
$dbname = "tratra";
$prefix = "nuke";
$user_prefix = "nuke";
$dbtype = "MySQL";
$sitekey = "SdFk*ga28367-dm56w69.3a2fDS+e9";
....
В логах апача нашёл вот что:
[Thu Nov 09 10:58:40 2006] [notice] Apache/2.2.3 (FreeBSD) mod_ssl/2.2.3 OpenSSL/0.9.7e-p1 DAV/2 PHP/5.2.0 configured -- resuming normal operations
Почти всё готово )))
Всё работает, но, когда я из внутренней сетки ввожу www.site.ru он нормально открывает, а когда не из внутренней сетки он не открывает, если не из внутренней ввожу site.ru открывает.
Это из за неправильной настройки named.conf? Что надо поменять?
>Почти всё готово )))
>Всё работает, но, когда я из внутренней сетки ввожу www.site.ru он нормально
>открывает, а когда не из внутренней сетки он не открывает, если
>не из внутренней ввожу site.ru открывает.
>Это из за неправильной настройки named.conf? Что надо поменять?
Неужели никто не знает в чём дело?
>>Почти всё готово )))
>>Всё работает, но, когда я из внутренней сетки ввожу www.site.ru он нормально
>>открывает, а когда не из внутренней сетки он не открывает, если
>>не из внутренней ввожу site.ru открывает.
>>Это из за неправильной настройки named.conf? Что надо поменять?
>Неужели никто не знает в чём дело?
Скорее "это зависит".Надо снаружи и изнутри посмотреть, во что разрешаются эти доменные имена, а также чем. "Не открывает" -- тоже очень общая штука, следует уточнить -- host not found, отваливается по таймауту, "открывает, но не то".
(обычно хорошо заданный вопрос содержит половину ответа -- помогает сесть и подумать, что собственно происходит и нарисовать себе на бумажке картинку действий, которые должны предпринять программы, чтобы "заработало"; если знаний о DNS или маршрутизации недостаточно, обычно проще почитать книжку или введение какое, чем наугад или мучаться самому и задавать несфокусированные вопросы без нужной информации)
(это я такой умный, потому что уже назадавался дурацких вопросов, когда добавив два слова, опущенных "за ненадобностью" -- сам бы и увидел ответ :)
>Скорее "это зависит".
>
>Надо снаружи и изнутри посмотреть, во что разрешаются эти доменные имена, а
>также чем. "Не открывает" -- тоже очень общая штука, следует
>уточнить -- host not found, отваливается по таймауту, "открывает, но не
>то".
>
>(обычно хорошо заданный вопрос содержит половину ответа -- помогает сесть и подумать,
>что собственно происходит и нарисовать себе на бумажке картинку действий, которые
>должны предпринять программы, чтобы "заработало"; если знаний о DNS или маршрутизации
>недостаточно, обычно проще почитать книжку или введение какое, чем наугад или
>мучаться самому и задавать несфокусированные вопросы без нужной информации)
>
>(это я такой умный, потому что уже назадавался дурацких вопросов, когда добавив
>два слова, опущенных "за ненадобностью" -- сам бы и увидел ответ
>:)
Если бы у меня было время читать книжки, я бы не задавал такие вопросы. Спасибо за помощь )))
>Если бы у меня было время читать книжки, я бы не задавал
>такие вопросы.
Если нет времени читать книжки, то времени читать книжки и не будет. Надо его забутстрапить, например, отпуском или лучше -- объяснив руководству, что решение проблем при наличии более ясного их понимания будет более быстрым, надёжным и предвидящим некоторые из них заранее. Это нормально -- покупать на контору умные книжки (или ходить за её счёт на курсы, когда есть осмысленные и отношения нормальные или всё равно контракт на N лет -- подписываться "за обучение" на "отработаю столько-то безусловно" мне, например, претит).>Спасибо за помощь )))
Это если она окажется помощью...
>>Скорее "это зависит".
>>
>>Надо снаружи и изнутри посмотреть, во что разрешаются эти доменные имена, а
>>также чем. "Не открывает" -- тоже очень общая штука, следует
>>уточнить -- host not found, отваливается по таймауту, "открывает, но не
>>то".
>>
>>(обычно хорошо заданный вопрос содержит половину ответа -- помогает сесть и подумать,
>>что собственно происходит и нарисовать себе на бумажке картинку действий, которые
>>должны предпринять программы, чтобы "заработало"; если знаний о DNS или маршрутизации
>>недостаточно, обычно проще почитать книжку или введение какое, чем наугад или
>>мучаться самому и задавать несфокусированные вопросы без нужной информации)
>>
>>(это я такой умный, потому что уже назадавался дурацких вопросов, когда добавив
>>два слова, опущенных "за ненадобностью" -- сам бы и увидел ответ
>>:)
>Если бы у меня было время читать книжки, я бы не задавал
>такие вопросы. Спасибо за помощь )))значит хухль в руки - интересно сколько займет времени вместо прочтения здесь же
в разделе документации DNS:# cat /etc/resolv.conf
# nslookup www
# nslookup www.site.ru
# nslookup www.site.ru.???
# nslookup site.ru
# nslookup site.ru.ну и видимо в конфигурации apache смотреть настройки virtual-domains: есть два
способа - ip-based и name-based (базируется на RR=CNAME в DNS)Прим: если что-то непонимаете, обратитесь к вашему dns-master'у, вполне возможно
что у вас может быть внешняя и внутренняя зоны site.ru, ну и далее ответ зависит с какого
ip идет запрос к dns (с внутреннего или внешнего)