ЗАМЕТАЕМ СЛЕДЫ В LINUX Дмитрий Докучаев aka Forb Спецвыпуск Xakep, номер #032, стр. 032-062-1 (forb@real.xakep.ru) ВСЯ ПРАВДА О ЛОГВАЙПЕРАХ Все, кому приходится сталкиваться с проблемой компьютерной безопасности, знают, что главным предметом изучения являются логи. Для администраторов систем логи - сигнализатор дневной активности и атак, для хакеров - предмет немедленного уничтожения, для анализаторов безопасности - главный источник информации. Нас, несомненно, интересует золотая середина, а именно способы чистки и уничтожения записей в лог-файлах, чем мы сегодня и займемся. Я считаю, что вариант ручного просмотра логов незамедлительно отпадает. Не спорю, что в мире полно мазохистов, но умные люди дали нам возможность программировать, а грамотные кодеры написали автоматические тулзы для удаления информации в линуксовых логах. ВВЕДЕНИЕ В ЛОГИ Немного теории. Все логи в *nix'ах делятся на два вида: текстовые и бинарные. Текстовые, как правило, могут заполняться различными данными, которыми располагают внешние программы и утилиты. Головным мозгом всей системы текстовых логов является демон syslogd (либо его альтернативы). С его помощью достигается гибкое ведение журналов, а также возможность записи в логи со стороны любого приложения без рутовых прав (через функцию syslog()). Вдобавок к вышесказанному, администратор системы может изменить дефолтовые названия всех текстовых логов на любые другие. Но для нас устройство и работа syslogd не является главной проблемой, это тема отдельной статьи. Поэтому перейдем к разбору другого вида логов. Бинарные логи - журналы для хранения информации по успешным заходам в систему со стороны. Нас интересуют три важных бинарных журнала - /var/log/wtmp, /var/run/utmp и /var/log/lastlog (вариант Linux, в других системах они могут называться по-другому). Как видишь, ручками такие логи уже не почистить ;). Я встречал умников, которые боролись с логами после захвата системы следующим образом: прибивали syslogd и уничтожали бинарные журналы дедовским способом (rm -f). Ничего удивительного, что на следующий день администраторы просекали, что их систему поимели, и закрывали доступ к системе (предварительно настучав горе-хакеру по башке). ЧИСТИМ ПРАВИЛЬНО! Единственным и правильным вариантом чистки логов является использование посторонних тулз, или попросту логвайперов. Эта статья была бы неактуальна, если бы не огромный выбор самопальных программ для черного дела. В процессе тестирования софта было обнаружено множество ошибок в его работе, о которых ты, несомненно, должен знать, чтобы не поставить крест на своей же безопасности. Итак, что для нас важно в процессе чистки журналов в правильной оси? Навскидку выделяются три главных критерия, которые должны выполняться: 1. Надежность. После запуска логвайпера все логи должны быть корректно вычищены и остаться доступными для дальнейшего журналирования. 2. Скорость. Я думаю, тебе не понравится, если процесс чистки логов затянется до двадцати минут. Поверь, такие случаи тоже бывают. 3. Маскировка и скрытность. Тулзы не должны оставлять за собой каких-либо временных файлов либо фатальных корок (core-dump'ов). |