Опубликован: 31.07.2006 | Уровень: специалист | Доступ: свободно
Лекция 14:

Безопасность UNIX

Аудит системы

В большинстве случаев ведение системных журналов является стандартной процедурой, выполняемой в большинстве версий Unix, и в них заносится достаточный объем данных, связанных с безопасностью системы. В некоторых ситуациях требуется проведение дополнительного аудита. В Solaris для этого предусмотрен модуль Basic Security Module (BSM). BSM не включен в Solaris по умолчанию. Необходимость в дополнительных возможностях здесь определяется пользователем.

Чтобы включить BSM, выполните сценарий /etc/security/bsmconv. При этом запустится фоновая программа аудита, но перезагрузка системы не потребуется. Файл /etc/security/audit_control используется для определения конфигурации аудита. Полная информация по этому файлу находится в инструкции к ОС (man audit_control), однако для начала рекомендуется использовать следующую конфигурацию:

#identify the location of the audit file directory
dir: <directory>
#identify the file system free space percentage when a warning should occur
minfree: 20
#flags for what to audit. This example audits login, administrative
#functions and failed file reads, writes, and attribute changes
flags: lo,ad,-fm
#This set of flags tells the system to also audit login and administrative
#events that cannot be attributed to a user
naflags: lo,ad

Как только файл будет настроен, начнут создаваться записи аудита. Для закрытия текущего файла записи аудита и открытия нового файла используется команда audit -n. Команда praudit <имя файла аудита> предназначена для просмотра содержимого файла аудита.

Внимание!

BSM увеличивает общую нагрузку на систему и используется, только если уровень защиты системы того требует.

Файлы журналов

Большая часть систем Unix обеспечивает довольно широкие возможности по ведению журналов в программе syslog. Syslog - это фоновая программа, выполняющаяся и фиксирующая данные журнала согласно настройке. Syslog настраивается через файл /etc/syslog.conf. Следует заметить, файлы журналов должны просматриваться только корневым пользователем, и никто не должен иметь возможности их изменять.

Большая часть файлов syslog.conf направляет сообщения журналов в /var/log/messages или /var/adm/log/messages. Правильно написанный syslog.conf должен содержать следующую команду конфигурации:

auth.info /var/log/auth.log

С помощью этой команды Unix собирает информацию о попытках входа, попытках выполнения команды su, перезагрузке системы и других событиях, так или иначе связанных с безопасностью системы. Данная команда также позволяет программам TCP Wrappers заносить информацию в файл auth.log. Обязательно создайте файл /var/log/auth.log для фиксирования этой информации:

#touch 	/var/log/auth.log
#chown 	root /var/log/auth.log
#chmod 	600 /var/log/auth.log

В Solaris при создании файла /var/adm/loginlog можно фиксировать неудачные попытки входа в систему. Создайте файл следующим образом:

#touch	 /var/adm/loginlog
#chmod 	600 /var/adm/loginlog
#chown 	root /var/adm/loginlog
#chgrp 	sys /var/adm/loginlog

Убедитесь, что /var предоставлено достаточное количество свободного пространства для ведения файлов журнала. Если /var расположен в том же разделе, что и /, корневая файловая система переполнится при сильном увеличении файлов журнала. Рекомендуется размещать каталог /var в другой файловой системе.

Скрытые файлы

Скрытые файлы представляют собой потенциальную проблему для систем Unix. Любой файл, начинающийся с точки (<.>), не отображается при выполнении стандартной команды ls. Однако при использовании команды ls -a отобразятся все скрытые файлы. Хакеры научились использовать скрытые файлы для маскировки своих действий. Злоумышленник может просто скрыть свои файлы в скрытом каталоге. В других ситуациях хакеры могут скрывать файлы в каталогах, которые трудно обнаружить администратору. Например, если назвать каталог <...>, то он может остаться незамеченным. Добавление пробела после третьей точки (<...>) делает каталог труднодоступным, если не знать о наличии пробела. Чтобы отобразить все скрытые файлы и каталоги, имеющиеся в системе, выполните следующую команду:

#find / -name '.*' -ls

Использование -ls вместо -print позволяет вывести более подробный список расположения файла. Следует периодически выполнять эту команду и проверять любые новые скрытые файлы.

Файлы SUID и SGID

Файлы, для которых разрешены полномочия Set UID (SUID) или Set Group ID (SGID), могут изменять идентификатор своего активного пользователя или группы в процессе выполнения. Некоторым файлам требуется такая возможность для выполнения своей работы, однако это должен быть ограниченный набор файлов, и ни один из них не должен находиться в домашних каталогах пользователей. Чтобы найти все файлы SUID и SGID, выполните следующие команды:

#find 	/ 	-type f -perm -04000 -ls
#find 	/ 	-type f -perm -02000 -ls

При построении системы необходимо выполнить данные команды и сохранить результаты их выполнения. Периодически следует выполнять эти команды и сопоставлять результаты с исходным списком. Любые обнаруженные изменения необходимо исследовать.

Файлы, доступные для записи всем пользователям

Файлы, общедоступные для записи, являются еще одной потенциальной ошибкой в конфигурации системы Unix. Такие файлы позволяют злоумышленнику создать сценарий, который при выполнении будет использовать уязвимость. Если файлы SUID и SGID доступны для записи всем пользователям, у атакующего появляется возможность создать для самого себя самые обширные привилегии. Чтобы выявить все файлы, общедоступные для записи, выполните следующую команду:

#find   /    -perm -2 -type f -ls

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

Поиск признаков подозрительной активности

Мы уже описали некоторые признаки, которые необходимо отслеживать в системе и которые могут означать проявление угрозы или проникновение в систему (скрытые файлы, файлы SUID и SGID и общедоступные для записи файлы). Существует несколько других способов проверки системы Unix на наличие подозрительной активности.

Нияз Сабиров
Нияз Сабиров
Стоимость "обучения"
Елена Сапегова
Елена Сапегова
диплом
Марина Дайнеко
Марина Дайнеко
Россия
Анатолий Федоров
Анатолий Федоров
Россия, Москва