Итак, я поделил эту статью на
две части. В первой рассказывается о логах
на вашей домашней юниксойдовской станции (вроде
защиты от правоохранительных органов), а
во второй о логах удаленного сервера (типа
безопасного хакинга, если такое бывает:)).
Intro
Думаю все читали различные
статьи в инете, которые рассказывали о
логах Win9x/NT, юзали всякие CleanUP'ы, Kremlin'ы и т.д..
Но вот о Unix'овых логах так и ничего не
говорили. Особенно о "личных" логах,
которые ведутся на вашем юниксоидовой
станции и этим могут как раз
воспользоваться правоохранительные органы.
Вот пора об этом поговорить...
!!!WARNING!!! Эта статья основывается
на моих личных исследованиях, так что я не
обещаю о полноте раскрытия темы и
отсутствия ошибок. Так что если что
исправляйте.... Я долго
думал, как лучше написать эту статью... Либо
просто приводить факты логирования и
рекомендации к защите или написать скрипт,
который все делает автоматически... Решил
выбрать первое, чтобы было более понятно
как все это делается, ну а из данных,
написанных ниже, скрипт можно самому
спокойно написать.
Проблема 1.
Команда history. Выводит последние
команды набранные вами (если говорить
точнее, то последнюю тысячу команд:)). Если
там будем содержатся например скачка/распаковка/применения
эксплоита (или еще чего-нибудь), либо
подключение к rootshell'у, от которого был
произведен взлом то это однозначно плохо.
Кол-во запоминаемых команд содержится в
переменной $HISTSIZE (чтобы посмотреть - echo $HISTSIZE).
И все записывается в $HOME/.bash_history (если
оболочка bash, а это в большинстве случаев и
$HOME - домашний каталог). Имя файла для записи
команд содержится в переменной $HISTFILE. Здесь
есть два решения.
1.Прописать в cron удаление .bash_history
через каждые 30 секунд:)(если что man cron, а то
мне тут не охота все расписывать...)
2.И после всяких темных делишек советую
собственноручно удалить .bash_history.
Да, в принципе можно изменить
содержание переменных $HISTFILE и $HISTSIZE, но
после этого у меня лично пошли всяческие
глюки...
Проблема 2.
Это демон syslogd. Заведует /var/log'ом.
Но выход и из этой проблемы есть. Возможно
слишком банальный, ну и ладно. Точнее даже
два выхода(нет, нет, три:)).
1.Можно в syslog.conf послать все логи
в /dev/null:).
2.Можно просто удалить /var/log/*.* и все (т.к.
демон syslogd не может создавать файлы)
3.Перед установкой своего юникса можно
детально порыться в недрах каждого
инсталируемого пакета и
просто отменить установку демона syslogd.
Проблема 3.
Это команды типа who, w, last, lastlog.
Следователь может сопоставить
провайдерские данные входов/выходов и
сравнить их с данными who, w, last, lastlog. Что можно
сделать? Два выхода(нет, нет, не три:)).
1.Просто удалить эти команды:).
Они вам вероятно не пригодятся, если вы не
держите серкак в инете или там интранете.
2.Можно посмотреть командой whereis [command]
исполняемые файлы, и просто их
модифицировать, и тогда команда будет
глючить (иногда попадаются двоичные файлы,
модификация у них такая же:)).
Проблема 4.
Доступ к Internet'у. Точнее ваша
звонилка, либо скрипты. Здесь я ничего не
могу точно сказать, т.к. звонилок сейчас
развелось... Просто хочу посоветовать
основательно порыться в конфигах и
проверить, не ведет ли она каких-нибудь
логов... Например kppp все пишет
в /var/log/messages (время входа, выхода и
т.д.). Ну и на счет скриптов. Некоторые просто
присваивают переменным L/P. А бывает L/P и
халявные :), так что такой метод не очень
кстати. Лучше присваивать переменной
запрос на ввод, чтобы самому все вводить L/P.