Защита от Руткитов и Логклинеров

Xakep, номер #041, стр. 041-066-1


Stalsen (stalsen@real.xakep.ru)

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

ROOTKITS: ПРАВДА И ВЫМЫСЕЛ

Итак, для самых одаренных: руткиты можно установить только после взлома системы, с правами рута. Разнообразие руткитов (особенно для Unix) - просто поражает! И все же можно выделить одну особенность: замена системных утилит (такие как ps, login, du, df, w, who, last, lastlog, ifconfig и т.д.) и "подначивание их под себя", то есть ps перестает показывать процессы определенного пользователя, в логах тоже о нем ничего не отображается, ну и т.д.

Теперь о специфических особенностях. Эти особенности присущи не всем руткитам, но все-таки их следует обсудить. Это, например, зачистка логов (подробнее ниже), запуск сниффера (эту фишку очень легко просечь, даже если стоит "левый" ifconfig, софтом типа AntiSniff, Sentinel и т.д.), ну и бывает открытие определенного порта, но это редко, т.к. это вообще сумасшествие :), чаще всего модифится login...

КонтРоль ВСЕХ ФАЙЛОВ

Как же выявить установку руткитов в своей системе? Ну, как уже было сказано выше, ВСЕ руткиты модифят часто юзаемые админовские утилиты, следовательно, если составить список контрольных сумм каждого файла, то можно выявить несанкционированное изменение. В простейшем примере это может выглядеть так:

# sum /bin/* > check_sum.txt

Теперь у нас есть контрольные отпечатки всех файлов каталога /bin. При изменении одного файла хоть на бит контрольная сумма изменится. Но, понятное дело, что ручной просмотр базы данных никуда не годится. Поэтому следует остановиться на специализированных средствах. В своей статье я лишь расскажу о TRIPWIRE, т.к. это, без сомнения, самое популярное средство в своем роде (если тебя эта прога не устраивает, ниже я дал ссылки на подобный софт). Пропустим разглагольствования о том, где, зачем и как, предположим, что у тебя уже скачан Tripwire. Установка состоит в модификации install.cfg. После модифа жми ./install.sh. Там внимательно прочитай лицензию :), заодно введи несколько паролей, когда спросят :). Вот основная конфигурация tripwire и завершена! Теперь отправляйся в /etc/tripwire и для начала посмотри файл twcfg.txt, проверь, все ли там в порядке :). Потом проверь twpol.txt, здесь нужно многое модифить, чтобы не было ошибок и несуществующих файлов (я здесь не описываю все подробно, так как это займет много места). Теперь пора создать отпечаток твоей системы:

# tripwire --init

Please enter your local site passphrase: #вводишь свой пароль.

Parsing policy file: /etc/tripwire/tw.pol

Generating the database...

*** Processing Unix File System ***

Wrote database file: /var/lib/tripwire/ski.twd

#файл базы генится по типу [your_hostname].twd

The database was successfully generated.

Все, снимок сделан. Теперь ты можешь в любое время посмотреть, что нового произошло в твоей файловой системе: # tripwire -check. После ввода этой команды tripwire составляет список контрольных сумм всех файлов в системе, сверяет их со своей базой данных и выводит результаты.

Содержание  Вперед на стр. 041-066-2