Чтение онлайн

на главную - закладки

Жанры

Linux глазами хакера

Флёнов Михаил Евгеньевич

Шрифт:

1. Когда размер файла /var/log/messages превышает максимально допустимое значение или проходит определенный промежуток времени, содержимое текущего журнала переносится в файл /var/log/messages.1, а файл /var/log/messages очищается и заполняется заново.

2. В следующий раз, при достижении максимального размера, содержимое файла /var/log/messages.1 переносится в /var/log/messages.2, а из журнала /var/log/messages — в /var/log/messages.1.

Таким образом, история изменений сохраняется в отдельных файлах, и ее можно

всегда просмотреть, при этом сам журнал никогда не превысит определенного размера, и с ним будет удобно работать.

За сохранение истории и перенос данных между файлами отвечает программа

logrotate
. Рассмотрим ее конфигурационный файл (/etc/logrotate.conf), который показан в листинге 12.5.

Листинг 12.5. Файл конфигурации программы /etc/logrotate.conf

# see "man logrotate" for details

# Выполните команду man logrotate для получения дополнительной информации

# rotate log files weekly

# Смена файлов происходит еженедельно

weekly

# keep 4 weeks worth of backlogs

# Будут использоваться 4 файла для сохранения истории

rotate 4

# create new (empty) log files after rotating old ones

# После сохранения журнала создается пустой новый файл

create

# uncomment this if you want your log files compressed

# Уберите комментарий со строки compress,

# чтобы файлы журналов сжимались

#compress

# RPM packages drop log rotation information into this directory

# Пакеты RPM переносят информацию о смене журнала в эту директорию

include /etc/logrotate.d

# no packages own wtmp -- we'll rotate them here

# для журнала /var/log/wtmp задаются собственные правила

/var/log/wtmp {

 monthly

 create 0664 root utmp

 rotate 1

}

# system-specific logs may be also be configured here.

# специфичные системные журналы могут быть сконфигурированы здесь

Посмотрим на параметры, которые нам доступны:

□ 

weekly
— указывает на то, что файлы журналов должны меняться еженедельно. Если сервер используется редко, то можно изменить это значение на
monthly
, чтобы обновление происходило ежемесячно;

□ 

rotate
— задает количество файлов, которые будут использоваться для хранения истории. В данном случае
стоит число 4, т.е. имена журналов будут иметь вид: /etc/log/имя.X, где X изменяется от 1 до 4;

□ 

create
— требует создания нового пустого документа после смены файла журнала;

□ 

compress
— позволяет сжимать файлы журналов. На серверах, обрабатывающих запросы огромного количества пользователей, журналы могут занимать очень много места, и чтобы сэкономить дисковое пространство, их можно сжимать. Так как журналы содержат текст, компресс-версия может иметь объем на 70 % (и даже более) меньше.

В начале файла идут описания значений по умолчанию. Затем можно указать специфичные значения для определенных журналов. В данном конфигурационном файле выделен журнал /var/log/wtmp:

/var/log/wtmp {

 monthly

 create 0664 root utmp

 rotate 1

}

В данном файле нет ограничения на размер журнала, но его можно задать с помощью параметра

size
. Например, в следующем примере задается максимальный размер журнала в 100 Кбайт:

/var/log/wtmp {

 monthly size = 100k

 create 0664 root utmp

 rotate 1

}

Теперь файл журнала будет меняться в двух случаях (по событию, которое наступит раньше):

□ ежемесячно, т.к. указан параметр

monthly
;

□ когда файл достигнет размера 100 Кбайт.

За счет смены журналов мы получаем как удобства, так и недостатки. Например, после проведения атаки хакер может уничтожить свои следы, даже если не имеет непосредственного доступа к файлам журнала. Достаточно только засыпать журнал мусорными сообщениями и превысить максимальный размер, чтобы система четыре раза произвела ротацию.

Пытаться защищать журнал, увеличивая его размер до бесконечности, бесполезно, потому что хакер не будет добавлять записи в log-файл вручную, а воспользуется простой программой на Perl или написанной прямо из командного интерпретатора (Shell). Такая программа чрезвычайно проста. Достаточно только в цикле выполнять команду:

logger -р kern.alert "Текст сообщения"

С помощью директивы

logger
можно записывать в журнал сообщения. Если организовать бесконечный цикл выполнения этой команды, то система сама уничтожит журнал.

Чтобы данные не исчезали бесследно, можно добавить команду, которая будет отправлять журнал на почтовый адрес администратора:

/var/log/wtmp {

 monthly

 size = 100k

 create 0664 root utmp

 postrotate

 # Команда отправки журнала имя.1

 endscript

 rotate 1

}

В данном случае после первой смены журнала будет выполняться сценарий отправки этого файла на почтовый ящик администратора.

Поделиться:
Популярные книги

Враг божий

Корнуэлл Бернард
2. Хроники Артура
Приключения:
исторические приключения
6.60
рейтинг книги
Враг божий

Мерседес из Кастилии, или Путешествие в Катай(без илл.)

Купер Джеймс Фенимор
Приключения:
морские приключения
6.60
рейтинг книги
Мерседес из Кастилии, или Путешествие в Катай(без илл.)

Энциклопедия Амосова. Алгоритм здоровья

Амосов Николай Михайлович
Научно-образовательная:
медицина
7.86
рейтинг книги
Энциклопедия Амосова. Алгоритм здоровья

Хроники былого и грядущего

allig_eri
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Хроники былого и грядущего

Римские рассказы

Моравиа Альберто
Проза:
современная проза
5.75
рейтинг книги
Римские рассказы

Город Бездны

Рейнольдс Аластер
1. Космический апокалипсис
Фантастика:
научная фантастика
космическая фантастика
6.71
рейтинг книги
Город Бездны

Скажи изюм

Аксенов Василий Павлович
Проза:
современная проза
5.00
рейтинг книги
Скажи изюм

Очерки истории цивилизации

Уэллс Герберт Джордж
Научно-образовательная:
история
5.75
рейтинг книги
Очерки истории цивилизации

Неучтенный элемент. Том 3

NikL
3. Антимаг. Вне системы
Фантастика:
фэнтези
5.00
рейтинг книги
Неучтенный элемент. Том 3

Сознающий ум. В поисках фундаментальной теории

Чалмерс Дэвид
Философия сознания
Научно-образовательная:
философия
5.00
рейтинг книги
Сознающий ум. В поисках фундаментальной теории

Печать мастера

Лисина Александра
6. Гибрид
Фантастика:
попаданцы
технофэнтези
аниме
фэнтези
6.00
рейтинг книги
Печать мастера

Время умирать

Смит Уилбур
7. Кортни
Приключения:
прочие приключения
8.33
рейтинг книги
Время умирать

Остров Крым

Аксенов Василий Павлович
Фантастика:
социально-философская фантастика
альтернативная история
8.40
рейтинг книги
Остров Крым

Изгой. Трилогия

Михайлов Дем Алексеевич
Изгой
Фантастика:
фэнтези
8.45
рейтинг книги
Изгой. Трилогия