Назад | Оглавление | Вперед |
Глава 10 Программы обеспечения безопасности (Утилиты контроля) - sXidВ этой главеLinux sXid Конфигурация Административные средства sXid Linux Logcheck Конфигурация Linux PortSentry Конфигурация Запуск PortSentry |
SUID/SGID файлы несут в себе риск для безопасности. Для уменьшения этого риска, мы убрали бит "s" с программ, владельцем которых является root, и которым эти полномочия не нужны, но возможно в будущем, на существующие программы может быть установлен этот бит без предупреждения. sXid - это программа для контроля за SUID/SGID программами, запеускаемая из cron. В основном, она отслеживает любые изменения в suid-ных программах и папках. Если появились новые файлы, или у существующих программ этот бит снят, или в них изменились биты или другие режимы, то sXid сообщит вам об этом по электронной почте или в командной строке в удобочитаемом формате. sXid автоматизирует задачу поиска всех SUID/SGID файлов на сервере и известит вас о них. После ее инсталляции вы можете забыть об этой работе, она сделает все за вас.
Эти инструкции предполагают.
Unix-совместимые команды.
Путь к исходным кодам "/var/tmp" (возможны другие варианты).
Инсталляция была проверена на Red Hat Linux 6.1 и 6.2.
Все шаги инсталляции осуществляются суперпользователем "root".
sXid версии 4.0.1
Пакеты.
FTP сервер: ftp://marcus.seva.net/pub/sxid/
Вы должны скачать: sxid_4.0.1.tar.gz
Хорошей идеей будет создать список файлов установленных в вашей системе до инсталляции sXid и после, в результате, с помощью утилиты diff вы сможете узнать какие файлы были установлены. Например,
До инсталляции:
find /* > sXid1После инсталляции:
find /* > sXid2Для получения списка установленных файлов:
diff sXid1 sXid2 > sXid-InstalledРаскройте тарбол:
[root@deep /]# cp sxid_version.tar.gz /var/tmp/
[root@deep /]# cd /var/tmp
[root@deep tmp]# tar xzpf sxid_version.tar.gz
Компиляция и оптимизация.
Переместитесь в новый каталог sXid и выполните следующие команды:
[root@deep tmp]# cd sxid-4.0.1
[root@deep sxid-4.0.1]# make install
Вышеприведенные команды будут конфигурировать программу, проверяя, что ваша система имеет необходимые библиотеки и способна выполнять необходимые функции, компилирует все исходные файлы в исполняемые, и затем, инсталлирует все двоичные и вспомогательные файлы в определенное место.
Очистка после работы.
[root@deep /]# cd /var/tmp
[root@deep tmp]# rm -rf sxid-version/ sxid_version_tar.gz
Команда "rm", использованная выше, удалит все исходные коды, которые мы использовали при компиляции и инсталляции sXid. Она также удалит .tar.gz архив.
Все программное обеспечение, описанное в книге, имеет определенный каталог и подкаталог в архиве "floppy.tgz", включающей все конфигурационные файлы для всех программ. Если вы скачаете этот файл, то вам не нужно будет вручную воспроизводить файлы из книги, чтобы создать свои файлы конфигурации. Скопируйте файл из архива и измените его под свои требования. Затем поместите его в соответствующее место на сервере, так как это показано ниже. Файл с конфигурациями вы можете скачать с адреса: http://www.openna.com/books/floppy.tgz
Для запуска sXid должен быть создан или скопирован файл sxid.conf в каталог /etc.
Настройка файла "/etc/sxid.conf".
Конфигурационный файл "/etc/sxid.conf" позволяет вам установить опции, которые управляют действиями программы.
Шаг 1.Редактируйте файл sxid.conf file (vi /etc/sxid.conf) и измените все, что нужно:
# Конфигурационный файл для sXid
# Замечу, что все пути должны быть абсолютными без замыкающих /
# Где начинать поиск файлов
SEARCH = "/"
# Какие каталоги исключить из поиска
EXCLUDE = "/proc /mnt /cdrom /floppy"
# Кому посылать отчеты
EMAIL = "root"
# Всегда посылать отчеты, даже если нет изменений?
ALWAYS_NOTIFY = "no"
# Где хранить промежуточные логи. Они будут циклически ротироваться 'x' раз
# согласно KEEP_LOGS
LOG_FILE = "/var/log/sxid.log"
# Как много логов хранить
KEEP_LOGS = "5"
# Сдвигать логи когда не произошло изменений?
ALWAYS_ROTATE = "no"
# Каталоги, где +s запрещены (они проверяются даже
# если явно на прописнаы в SEARCH), правила EXCLUDE применяются
FORBIDDEN = "/home /tmp"
# Удалять (-s) из файлов найденных в запрещенном каталоге?
ENFORCE = "yes"
# Это предполагает ALWAYS_NOTIFY. Будет посылаться полный список
# элементов наряду с изменениями
LISTALL = "no"
# Игнорировать элементы для каталогов в этом пути
# (Это означает, что файлы будут только регистрироваться, вы
# можете эффективно игнорировать все элементы каталогов
# установив это в "/"). По умолчанию - /home, так как
# в некоторых системах /home имеет g+s.
IGNORE_DIRS = "/home"
# Файл, который содержит список (каждый в новой строке)
# других файлов, которые sxid должен проверять. Это полезно
# для файлов, не имеющих +s, но относящихся к целостности
# системы (tcpd, inetd, apache...).
# EXTRA_LIST = "/etc/sxid.list"
# Почтовая программа. Это опция изменяет определенную при компиляции
# почтовую программу для отчетов. Эта опция нужно только если вы изменили
# месторасположение по умолчанию и не хотите перекомпилировать sxid.
# MAIL_PROG = "/usr/bin/mail"
Шаг 2.
Поместите соответствующий элемент в crontab файл пользователя root, чтобы sXid выполнялся автоматически. sXid будет автоматически запускаться и будет отслеживать появление новых s[ug]id программ, изменений произошедших с существующими (снятие этого бита, изменение режима и пр.), их удаление, составляя вам отчет о произошедших событиях.
Для редактирования crontab введите следующую команду:
[root@deep /]# crontab -eИ добавьте следующую строку в crontab (запуск каждый день в 4 часа утра):
0 4 * * * /usr/bin/sxidДополнительная документация.
Для получения большей информации, читайте соответствующие man страницы:
$ man sxid.conf (5) - конфигурационные устаноки для sxid
$ man sxid (1) - проверяет изменения в s[ug]id файлах и каталогах
Эта программа предназначена для запуска с помощью cron. Она должна запускаться один раз в день, но можно и два раза.
Для запуска sxid вручную введите команду:
[root@deep /]# sxid -kОна проверяет изменения в текущем рабочем каталоге. Ротации файлов регистрации и отправки сообщений по почте не происходит. Все результаты выводятся в stdout.
Инсталлированные файлы.
> /etc/sxid.conf
> /usr/bin/sxid
> /usr/man/man1/sxid.1
> /usr/man/man5/sxid.conf.5
Назад | Оглавление | Вперед |