Брандмауэры и специальное программное обеспечение 8 Часть 4

Вид материалаРеферат

Содержание


Файлы, расположенные в каталоге /var/log
Подобный материал:
1   ...   87   88   89   90   91   92   93   94   ...   101

Файлы, расположенные в каталоге /var/log


Как отмечалось в предыдущей главе, каталог /var/log является местоположением по умолчанию для системных файлов журналов. В большинстве случаев, если некоторый файл отсутствует, механизм syslog автоматически создает его. Однако существует пара файлов, которые не создаются демоном syslog автоматически -их следует создать вручную (об этом будет рассказано позже).

Если syslog автоматически создал некоторый отсутствующий ранее файл журнала, это еще не означает, что данный файл был создан правильно. Вы должны внимательно изучить содержимое каталога /var/log. Необходимо проанализировать, какая информация записывается в каждый из файлов и кто должен обладать правом просмотра этой информации.

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

Некоторые из файлов журналов не должны быть доступны для широкой публики. Любой из файлов, в который попадают сообщения из канала authpriv.*, может содержать в себе пароли. В листинге 23.1 показан пример записи файла secure, в которой содержится пароль.

Листинг 23.1. Фрагмент файла /var/log/secure

Oct 3 16:22:54 volcan login[1549]: FAILED LOGIN 1 FROM (null) FOR nypassword. User not known to the underlying authentication module

Показанная в листинге запись сообщает, что некто с именем mypassword пытался подключиться к системе, но получил отказ, так как пользователя с таким именем в системе не существует. Что же произошло? На самом деле пользователь по ошибке ввел вместо имени свой пароль, естественно, система не узнала его. Подобное часто случается с людьми, которые привыкли работать с Windows. Операционная система Windows запоминает имя последнего подключавшегося к ней пользователя и по умолчанию предлагает имя этого пользователя в приглашении на подключение к системе. Таким образом, пользователь привыкает к тому, что в большинстве случаев для того, чтобы войти в систему, ему надо ввести только пароль. Все это — остаточный менталитет идеологии «одна система, один пользователь», на базе которой была построена большая часть систем Windows. Пользователи привыкают сообщать системе только пароль, подразумевая, что система уже знает, кто они есть. В нашем случае пользователь вводит свой пароль вместо имени и получает отказ — первая попытка подключения проваливается. Однако запись, которая следует сразу же за записью, указанной в листинге 23.1 сообщает нам, что пользователь root успешно подключился к системе. Таким образом, в первой из рассматриваемых записей содержится пароль, а в следующей — имя пользователя, обладающего данным паролем. Не надо быть гением, чтобы сообразить, какой пользовательской учетной записи соответствует этот пароль. Любой человек, обладающий возможностью просмотра данного файла журнала, получит в свое распоряжение открытые ворота, пропускающие его в систему.


СОВЕТ

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

Содержимое каталога /var/log, который должен быть зарезервирован исключительно для системы протоколирования, должно выглядеть приблизительно так, как показано в листинге 23.2.


Листинг 23.2. Содержимое каталога /var/log

drwxr-xr-x 2 root root 1024 Oct 27 00:00 atsar

drwxr-x--- 2 root root 1024 Oct 25 12:42 httpd

-rw-r--r-- 1 root root 1702 Aug 5 09:06 kdm

-rw-r--r-- 1 root root 146876 Oct 27 06:50 lastlog

-rw ------- 1 root root 180264 Oct 27 09:34 mail

-rw ------- 1 root root 323304 Oct 25 11:58 mail.0.gz

drwxr-xr-x 2 majordom majordom 1024 Jul 27 19:55 majordomo

-rw ------- 1 root root 1425209 Oct 27 09:39 messages

-rw ------- 1 root root 1667546 Oct 25 12:05 messages.0.gz

drwxr-xr-x 3 news news 1024 Aug 5 08:52 news.d

drwxr-xr-x 2 root root 1024 Jul 28 00:00 samba.d

-rw ------- 1 root root 331161 Oct 27 09:38 secure

-rw ------- 1 root root 0 Aug 5 09:04 spooler

drwxr-x--- 2 root root 1024 Jul 14 20:08 squid

drwxr-xr-x 2 uucp uucp 1024 Jul 27 20:53 uucp

-rw-rw-r-- 1 root utmp 1276032 Oct 27 09:37 wtmp

-rw-r--r-- 1 root root 4193 Oct 25 11:16 xdm-errors

-rw ------- 1 root root 52626 Oct 27 08:57 xferlog

Обратите внимание, что часть файлов открыты для всеобщего обозрения. Любой пользователь обладает возможность прочитать их содержимое. На данной системе эти файлы используются некоторыми пользователями и не содержат никаких данных, критичных для безопасности системы. Отдельные файлы, в особенности те, которые расположены в подкаталогах, создаются программами, не являющимися syslog. В некоторых случаях они принадлежат другим пользователям. Как правило, если программа должна создать файл журнала, этот файл должен принадлежать пользователю, от имени которого работает данная программа. Если бы файлы и подкаталоги принадлежали пользователю root, некоторые программы, такие как uucp, majordomo и т. п., не смогли бы осуществить запись в файл или подкаталог, если только этот файл или подкаталог не является доступным для записи для всего окружающего мира. А это не самая лучшая идея.