Конфигурирование Tripwire
Заключительным шагом, предшествующим запуску Tripwire, служит задание вашей политики. Файл политики очень важен для работы Tripwire: в нем специфицируются отслеживаемые файлы и уровень детализации. Основной файл политики, twpol.txt, находится в главном каталоге Tripwire. Строго говоря, это не сам файл политики, а копия зашифрованной версии, которую в действительности использует программа. Для большей безопасности необходимо сделать копию и удалить незашифрованную версию twpol.txt, после того как вы определите и протестируете свою политику.
В начале файла политики задано несколько системных переменных, а затем следует список различных файлов и каталогов с директивами политики для них. Эти директивы представлены либо кодовыми буквами, либо именами переменных. Они называются масками свойств и задают свойства, отслеживаемые Tripwire. В табл. 7.4 перечислены элементы, которые могут отслеживаться для каждого файла, и их кодовые буквы.
a | Время последнего доступа |
b | Отведенные блоки |
с | Время создания/изменения |
d | Идентификатор устройства, на котором располагается описатель файла |
g | Идентификатор владеющей группы файла |
i | Номер описателя файла |
l | Разрешен ли рост файла |
m | Метка времени изменения |
n | Значение счетчика ссылок в описателе файла |
p | Режим доступа к файлу |
s | Размер файла |
t | Тип файла |
u | Идентификатор пользователя владельца файла |
C | Хэш-код CRC32 |
H | Хэш-код Haval |
M | Хэш-код MD5 |
S | Хэш-код SHA/SHS |
Политики Tripwire действуют по принципу флагов игнорирования. Можно сконфигурировать Tripwire для отслеживания или игнорирования различных свойств файлов. Знак + (плюс) используется для отслеживания свойств, а знак - (минус) - для их игнорирования. Формат инструкций в файле политики таков:
имя_файла/каталога -> маска_свойств;
Например, следующая строка в файле политики
/etc/secretfile.txt -> +amcpstu;
предписывает Tripwire извещать вас всякий раз, когда у файла secretfile.txt в каталоге /etc изменяются время последнего доступа, время создания или модификации, режим доступа, владелец, размер или тип файла.
Существует также несколько предопределенных масок свойств. В табл. 7.5 перечислены эти стандартные маски и их действие.
$Readonly | +pinugtsdbmCM-rlaSH |
$Dynamic | +pinugtd-srlbamcCMSH |
$Growing | +pinugtdl-srbamcCMSH |
$Device | +pugsdr-intlbamcCMSH |
$IgnoreAll | -pinugtsdrlbamcCMSH |
$IgnoreNone | +pinugtsdrrlbamcCMSH |
В конфигурационном файле политики определяется также несколько переменных, которые являются комбинациями упомянутых выше предопределенных переменных с некоторыми добавлениями или исключениями и позволяют быстро задавать политики для различных классов файлов. Их можно немного изменить, если вы хотите проигнорировать или исследовать дополнительные моменты. Эти переменные из файла политики показаны на листинге 7.3.
SEC_CRIT = $(IgnoreNone)-SHa ; # Критичные файлы, которые # не могут изменяться SEC_SUID = $(IgnoreNone)-SHa ; # Бинарные файлы с установленными # флагами SUID или SGID SEC_BIN = $(ReadOnly) ; # Бинарные файлы, которые не # должны изменяться SEC_CONFIG = $(Dynamic) ; # Конфигурационные файлы, # которые редко изменяются, # но часто используются SEC_LOG = $(Growing) ; # Файлы, которые увеличиваются, # но никогда не должны менять # владельца SEC_INVARIANT = +tpug ; # Каталоги, у которых никогда # не должны изменяться режим # доступа или владелец SIG_LOW = 33 ; # Некритичные файлы, которые # имеют минимальное влияние # на безопасность SIG_MED = 66 ; # Некритичные файлы, которые # имеют значительное влияние # на безопасность SIG_HI = 100 ; # Критичные файлы, которые # являются существенными точками уязвимости
Листинг 7.3. Переменные масок свойств
Ниже масок свойств заданы политики для различных файлов и каталогов в системе. Можно начать с подразумеваемого файла политики и посмотреть, как он работает для вашей системы. Найдите время для внимательного изучения файла, чтобы знать, какие файлы отслеживаются. Когда вы будете удовлетворены, сохраните файл и выйдите. Все готово к запуску Tripwire.