Заметаем следы (часть 2) или как правильно чистить логи
Продолжаю цикл статей и том как не оставить следов на взломанном сервере. В данной заметке речь пойдет о syslog и что с ним делать.
Итак, большинство сообщений в логи в *nix системах пишет утилита, которая называется syslog. Конечно, любая программа может и сама писать лог, например ftp сервис, и это всегда нужно иметь ввиду, но на правильно настроенной системе все логи ведет syslog.
Когда вы получаете несанкционированный доступ к системе, и производите в ней какие-то действия syslog ведет запись кто и что сделал, поэтому для начала нам нужно остановить службу syslog. Это можно сделать одним из следующих способов, в зависимости от настроек системы.
#service syslog stop
или
#killall syslogd
Теперь все действия произведенные в системе не будут записываться в логи. Чтобы так было и впредь откроем файл /etc/syslog.conf и закомментируем там строки вида
#auth,authpriv.* /var/log/auth.log
и сохраним сделанные изменения. Теперь даже после рестарта сервера или сислога, логи писаться не будут. На самом деле, в сислоге есть неслолько уровней логгинга и можно комментировать только необходимые вам. Подробную информацию можно почитать в мануале по сислогу.
Теперь удалим следы нашего присутствия в системе. /etc/syslog.conf еще открыт? Посмотрите куда пишутся сообщения auth и открывайте этот файл. Обычно это /var/log/auth.log или /var/log/security. Открывайте этот файл и стирайте нужные строки.
После всего этого, чтобы не вызывать лишних подозрений, хорошо еще вернуть дату модификации файла в старое значение, которое было до того как мы правили логи. Это касается и /etc/syslog.conf. Для этого истользуем всем известную утилиту touch с ключами
#touch -a -m -t MMDDhhmm[[CC]YY][.ss] /etc/syslog.conf
Вроде бы все. Ну и еще .bash_history чистить не забывайте =)