Бруй В.В., Карлов С.В. - Linux-сервер - пошаговые инструкции - инсталляции и настройки (1077321), страница 55
Текст из файла (страница 55)
This will rotate 'x' number of# times based on KEEP_LOGS belowLOG_FILE = "/var/log/sxid.log"# How many logs to keepKEEP_LOGS = "5"220Часть 4. Программное обеспечение для ограничения доступа к серверу...# Rotate the logs even when there are no changes?ALWAYS_ROTATE = "no"# Directories where +s is forbidden (these are searched# even if not explicitly in SEARCH), EXCLUDE rules applyFORBIDDEN = "/home /tmp"# Remove (-s) files found in forbidden directories?ENFORCE = "yes"# This implies ALWAYS_NOTIFY. It will send a full list of# entries along with the changesLISTALL = "no"# Ignore entries for directories in these paths# (this means that only files will be recorded, you# can effectively ignore all directory entries by# setting this to "/").
The default is /home since# some systems have /home g+s.IGNORE_DIRS = "/home"#####File that contains a list of (each on it's own line)other files that sxid should monitor. This is usefulfor files that aren't +s, but relate to systemintegrity (tcpd, inetd, apache...).EXTRA_LIST = "/etc/sxid.list"# Mail program. This changes the default compiled in# mailer for reports. You only need this if you have changed# it's location and don't want to recompile sxid.MAIL_PROG = "/bin/mail"Шаг 2Установите права доступа к файлу /etc/sxid.conf:[root@drwalbr /]# chmod 400 /etc/sxid.confШаг 3Для ежедневного автоматического запуска sXid создайте файл /etc/cron.daily/sxid:#!/bin/shSXID_OPTS=if [ -x /usr/bin/sxid ]; then/usr/bin/sxid ${SXID_OPTS}fiШаг 4Сделайте файл /etc/cron.daily/sxid исполняемым:[root@drwalbr /]# chmod 510 /etc/cron.daily/sxidТестирование sXidДля проверки работоспособности убедитесь, что sXid обнаруживает в каталоге /home исполняемыефайлы, имеющие SUID или SGID-биты, и удаляет SUID или SGID-биты.
Для этого выполните следующиеоперации.Шаг 1Создайте в каталоге /home файл worm и сделайте его исполняемым:[root@drwalbr root]# > cd /home[root@drwalbr home]# > worm[root@drwalbr home]# chmod +x worm[root@drwalbr home]# ls -l worm-rwxr-xr-x1 rootroot0 Апр 23 19:02 worm221Глава 15.
sXid – программное обеспечение для поиска файлов...Шаг 2Запустите sXid:[root@drwalbr home]# sxid –ksXid Vers :Check run :This host :Spotcheck :Excluding :Ignore Dirs:Forbidden :(enforcing4.0.2Wed Apr 23 19:06:53 2003drwalbr.und/home/proc /mnt /cdrom /floppy/home/home /tmpremoval of s[ug]id bits in forbidden paths)No changes foundПроверка прошла успешно, файлы с SUID или SGID-битами не обнаружены.Шаг 3Установите SUID или SGID-биты в правах доступа к файлу /home/worm:[root@drwalbr home]# chmod +s worm[root@drwalbr home]# ls -l worm-rwsr-sr-x1 rootroot0 Апр 23 19:02 wormШаг 4Снова запустите sXid:[root@drwalbr home]# sxid –ksXid Vers :Check run :This host :Spotcheck :Excluding :Ignore Dirs:Forbidden :(enforcing4.0.2Wed Apr 23 19:09:44 2003drwalbr.und/home/proc /mnt /cdrom /floppy/home/home /tmpremoval of s[ug]id bits in forbidden paths)Checking for any additions or removals:+ /home/worm*root.*root6755Checking for changed attributes or sums/inodes:Checking for no user/group matches:Checking for forbidden s[ug]id items:home/worm*root.*root755sXid обнаружил файл home/worm с SUID или SGID-битами в правах доступа и удалил эти биты изправ доступа:[root@drwalbr home]# ls -l worm-rwxr-xr-x1 rootroot0 Апр 23 19:02 worm222Часть 4.
Программное обеспечение для ограничения доступа к серверу...Глава 16LogSentry – программное обеспечение для регистрации попыток несанкционированного доступа к системеВ этой главе:1. Ограничения и допущения2. Пакеты3. Инсталляция с помощью rpm-пакетов4. Компиляция, оптимизация и инсталляция LogSentry5.
Конфигурирование LogSentry6. Тестирование LogSentryГлава 16. LogSentry – программное обеспечение для регистрации попыток...223Одной из важных задач в области обеспечения безопасности является регулярная проверка файловрегистрации. Частенько администраторы просто не успевают это сделать, что нередко приводит к довольнопечальным последствиям.Большинство хакеров не слишком отягощены каким-либо изыском или многообразием приемов, а зачастую просто используют перебор многочисленных попыток входа в систему.
В этом случае программноеобеспечение LogSentry может оказаться полезным для выявления таких попыток несанкционированногодоступа к вашей системе, автоматизации аудита, обработки и регистрации информации обо всех неудачныхпопытках входа в систему, а также отправки соответствующих сообщений администратору системы. Этотпакет программ разработан для автоматического выполнения и проверки системных файлов регистрации напредмет обнаружения нарушений безопасности и необычного поведения системы. LogSentry запоминает последнюю просмотренную строку в файле регистрации и при следующем запуске начинает обрабатывать информацию со следующей за ней строки.Ограничения и допущенияИсходные коды находятся в каталоге /var/tmp.Все операции выполняются пользователем с учетной записью root.Используется дистрибутив ASPLinux 7.3 (Vostok).Перекомпиляция ядра не требуется.Процедуры, описанные в этой главе, могут оказаться применимыми для других версий ядра и дистрибутивов Linux, но авторы это не проверяли.ПакетыПоследующие рекомендации основаны на информации, полученной с домашней страницы проектаLogSentry http://www.psionic.com в сентябре 2002 г.
На момент написания этой главы – 24.04.2003 –с адреса http://www.psionic.com осуществляется переадресация на сервер компании Cisco SystemInc.(http://www.cisco.com). По неофициальной и документально неподтвержденной информации, полученной авторами из различных списков рассылки, компания Psionic Software System приобретена CiscoSystem Inc.
в конце 2002 г. Несмотря на это, разработчики проекта надеются в ближайшем будущем выложить исходные коды LogSentry для свободного использования в личных целях.Исходные коды LogSentry содержатся в архиве logsentry-version.tar.gz (последняя доступная на момент написания главы стабильная версия logsentry-1.1.1.tar.gz).
Надеемся, что в ближайшее время вы сможете найти в Интернете исходные коды этой удобной и необходимой на каждой серверной системы программы. В противном случае никто не сможет запретить вам использовать исходные коды программы, распространяемые ранее компанией Psionic Software System.
Вы также можетевоспользоваться rpm-пакетом logcheck-1.1.1-7.asp.i386.rpm, входящим в комплект поставки дистрибутива ASPLinux 7.3 (Vostok).Инсталляция с помощью rpm-пакетаЕсли вы предпочитаете использование системы со стандартным ядром и программным обеспечением,установленным из rpm-пакетов, для установки или обновления пакета необходимо выполнить следующиеоперации.ЗАМЕЧАНИЕ Авторы настоятельно рекомендуют устанавливать программное обеспечение из исходных кодов.Шаг 1Проверьте, установлен ли пакет LogSentry с помощью следующей команды:[root@www /]# rpm –iq logchecЕсли вы следовали нашим рекомендациям, то пакет уже должен быть установлен.Шаг 2В случае его отсутствия перейдите в каталог, где находится пакет logcheck-1.1.17.asp.i386.rpm. Если вы в соответствии с рекомендациями главы 2 скопировали все пакеты, входящие вдистрибутив, в каталог /home/distrib, то выполните команду:[root@www /]# cd /home/distribи установите:224Часть 4.
Программное обеспечение для ограничения доступа к серверу...[root@www distrib]# rpm –ihv logcheck-1.1.1-7.asp.i386.rpmили обновите пакет:[root@www distrib]# rpm –Uhv logcheck-1.1.1-7.asp.i386.rpmПосле установки пакета перейдите к настройке программы.Компиляция, оптимизация и инсталляция LogSentryШаг 1Осуществите проверку подлинности имеющегося в вашем распоряжении архива с исходными кодамис использованием процедур, описанных в шаге 1 радела «Компиляция, оптимизация и инсталляцияOpenSSL» главы 12.Шаг 2Распакуйте архив с исходными кодами в каталоге /var/tmp:[root@www /]# cd /var/tmp/[root@www tmp]# tar xzpf logsentry-1.1.1.tar.gzШаг 3Измените заданное по умолчанию расположение конфигурационных файлов LogSentry. Для этого вфайле /var/tmp/logsentry/logcheck-1.1.1/system/linux/logcheck.sh замените строку:LOGTAIL=/usr/local/bin/logtailна:LOGTAIL=/usr/bin/logtailЗамените строку:TMPDIR=/usr/local/etc/tmpна:TMPDIR=/var/logsentryЗамените строку:HACKING_FILE=/usr/local/etc/logcheck.hackingна:HACKING_FILE=/etc/logsentry/hackingЗамените строку:VIOLATIONS_FILE=/usr/local/etc/logcheck.violationsна:VIOLATIONS_FILE=/etc/logsentry/violationsЗамените строку:VIOLATIONS_IGNORE_FILE=/usr/local/etc/logcheck.violations.ignoreна:VIOLATIONS_IGNORE_FILE=/etc/logsentry/violations.ignoreЗамените строку:IGNORE_FILE=/usr/local/etc/logcheck.ignoreна:IGNORE_FILE=/etc/logsentry/ignoreШаг 4Для установки флагов оптимизации и изменения заданного по умолчанию расположения исполняемых файлов LogSentry отредактируйте файл /var/tmp/logsentry/logcheck-1.1.1/Makefile.Замените строку:CFLAGS = -Oна:-O2 -march=i686 -funroll-loopsЗамените строку:INSTALLDIR = /usr/local/etcна:Глава 16.
LogSentry – программное обеспечение для регистрации попыток...225INSTALLDIR = /etc/logsentryЗамените строку:INSTALLDIR_BIN = /usr/local/binна:INSTALLDIR_BIN = /usr/binЗамените строку:NSTALLDIR_SH = /usr/local/etcна:INSTALLDIR_SH = /usr/sbinЗамените строку:TMPDIR = /usr/local/etc/tmpна:TMPDIR = /var/logsentryШаг 5Откомпилируйте исходные коды, проинсталлируйте файлы LogSentry, создайте и сохраните списокинсталлированных файлов:[root@www tmp]# cd logcheck-1.1.1[root@www logcheck-1.1.1]# find /* > /root/logsentry1[root@www logcheck-1.1.1]# mkdir -m0700 /etc/logsentry[root@www logcheck-1.1.1]# make linux[root@www logcheck-1.1.1]# strip /usr/bin/logtail[root@www logcheck-1.1.1]# cd /etc/logsentry[root@www logsentry]# mv logcheck.hacking hacking[root@www logsentry]# mv logcheck.violations violations[root@www logsentry]# mv logcheck.violations.ignore violations.ignore[root@www logsentry]# mv logcheck.ignore ignore[root@www logsentry]# cd var/tmp/logcheck-1.1.1[root@www logcheck-1.1.1]# find /* > /root/logsentry2[root@www logcheck-1.1.1]# diff /root/logsentry1 /root/logtsentry2>/root/logsentry.installed[root@www logcheck-1.1.1]# mv /root/logsentry.installed/very_reliable_place/logsentry.installed.YYYYMMDDШаг 6Удалите архив и каталог с исходными кодами LogSentry:[root@www logcheck-1.1.1]# cd /var/tmp/[root@www tmp]# rm -rf logcheck-1.1.1/[root@www tmp]# rm -f logsentry-1.1.1.tar.gzКонфигурирование LogSentryКонфигурирование LogSentry осуществляется с использованием следующих файлов:• файла /etc/logsentry/hacking, содержащего перечень ключевых слов, соответствующих сообщениям о попытках неудачных регистраций в системе;• файла /etc/logsentry/violations, содержащего перечень ключевых слов, соответствующихсообщениям о негативных событиях;• файла /etc/logsentry/ignore, содержащего перечень ключевых слов, соответствующих сообщениям о негативных событиях, которые должны быть проигнорированы LogSentry.ЗАМЕЧАНИЕ Более подробная информация о назначении каждого из конфигурационных файловLogSentry содержится в файле INSTALL, находящимся в корневом каталоге исходных кодов LogSentry.Большинство пользователей устраивают настройки по умолчанию, поэтому авторы не рекомендуютбез необходимости изменять конфигурационные файлы LogSentry, находящиеся в каталоге/etc/logsentry.