Назад Оглавление Вперед

Глава 10 Программы обеспечения безопасности (Утилиты контроля) - Logcheck

В этой главе
Linux sXid
Конфигурация
Административные средства sXid
Linux Logcheck
Конфигурация
Linux PortSentry
Конфигурация
Запуск PortSentry

Linux Logcheck

Одной из важнейших задач в мире обеспечения безопасности является анализ файлов регистраций. Часто, повседневные работы администратора не оставляют ему время на это, что может привести к ряду проблем.

В кратком обзоре Logcheck сказано:

Ревизия и регистрация системных событий чрезвычайно важна. Системный администратор должен знать о происходящих событиях, чтобы суметь предотвратить возникновение проблем, особенно если система подключена к Интернет. К сожалению, для большинства версий UNIX регистрация событий не имеет значение, так как лог файлы никто не просматривает. Это то, в чем вам может помочь Logcheck. Он автоматизирует ревизию зарегистрированных событий, отфильтровывая "нормальные" сообщения, чтобы вы могли концентрировано посмотреть на проблемы и на потенциальных нарушителей.

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

Эти инструкции предполагают.
Unix-совместимые команды.
Путь к исходным кодам "/var/tmp" (возможны другие варианты).
Инсталляция была проверена на Red Hat Linux 6.1 и 6.2.
Все шаги инсталляции осуществляются суперпользователем "root".
Logcheck версии 1.1.1

Пакеты.
Домашняя страница Logcheck: http://www.psionic.com/abacus/logcheck/
Вы должны скачать: logcheck-1.1.1.tar.gz

Тарбол.

Хорошей идеей будет создать список файлов установленных в вашей системе до инсталляции Logcheck и после, в результате, с помощью утилиты diff вы сможете узнать какие файлы были установлены. Например,

До инсталляции:
find /* > Logcheck1

После инсталляции:
find /* > Logcheck2

Для получения списка установленных файлов:
diff Logcheck1 Logcheck2 > Logcheck-Installed

Раскрываем тарбол (tar.gz).
[root@deep /]# cp logcheck-version.tar.gz /var/tmp/
[root@deep /]# cd /var/tmp
[root@deep tmp]# tar xzpf logcheck-version.tar.gz

Компиляция и оптимизация.

Вы должны редактировать файл "Makefile" Logcheck-а, чтобы определить инсталляционные пути, флаги компиляции и оптимизации для вашей системы. Место, куда будет установлен Logcheck должно соответствовать структуре расположения системных файлов Red Hat,а расположение скрипта Logcheck переменной окружения PATH.

Шаг 1.

Переместитесь в новый каталог Logcheck и выполните следующие команды:

Редактируйте файл Makefile (vi Makefile) и измените следующие строки:

CC = cc
Должна читаться:
CC = egcs

CFLAGS = -O
Должна читаться:
CFLAGS = -O9 -funroll-loops -ffast-math -malign-double -mcpu=pentiumpro -march=pentiumpro -fomit-frame-pointer -fno-exceptions

INSTALLDIR = /usr/local/etc
Должна читаться:
INSTALLDIR = /etc/logcheck

INSTALLDIR_BIN = /usr/local/bin
Должна читаться:
INSTALLDIR_BIN = /usr/bin

INSTALLDIR_SH = /usr/local/etc
Должна читаться:
INSTALLDIR_SH = /usr/bin

TMPDIR = /usr/local/etc/tmp
Должна читаться:
TMPDIR = /etc/logcheck/tmp

Вышеприведенные изменения настраивают на использование компилятора egcc, включают оптимизационные флаги подходящие для вашей системы и определяют месторасположение файлов Logcheck, соответствующее структуре размещения системных файлов Red Hat.

Шаг 2

Редактируйте файл Makefile (vi +67 Makefile) и измените следующую строку:

@if [ ! -d $(TMPDIR) ]; then /bin/mkdir $(TMPDIR); fi
Должна читаться:
@if [ ! -d $(TMPDIR) ]; then /bin/mkdir -p $(TMPDIR); fi

Вышеупомянутое изменение (-p) позволит инсталляционной программе создавать родительские каталоги, когда это необходимо.

Шаг 3.

Инсталляция Logcheck на вашей системе:

[root@deep logcheck-1.1.1]# make linux

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

Очистка после работы.
[root@deep /]# cd /var/tmp
[root@deep tmp]# rm -rf logcheck-version/ logcheck-version_tar.gz

Команда "rm", использованная выше, будет удалять все исходные коды, которые мы использовали при компиляции и инсталляции Logcheck. Она также удалит .tar.gz архив из каталога /var/tmp.

Конфигурация.

Так как мы использовали альтернативное месторасположение файлов, нам необходимо изменить пути к "logcheck.hacking", "logcheck.violations", "logcheck.ignore", "logcheck.violations.ignore" и "logtail" в основном скрипте logcheck.sh. Скрипт файл для Logcheck "/usr/bin/logcheck.sh" позволяет настроить опции, которые модифицируют пути и действия программы. Он хорошо комментирован и очень прост.

Шаг 1.

Редактируйте файл logcheck.sh (vi /usr/bin/logcheck.sh) и измените следующее:

LOGTAIL=/usr/local/bin/logtail
Должна читаться:
LOGTAIL=/usr/bin/logtail

TMPDIR=/usr/local/etc/tmp
Должна читаться:
TMPDIR=/etc/logcheck/tmp

HACKING_FILE=/usr/local/etc/logcheck.hacking
Должна читаться:
HACKING_FILE=/etc/logcheck/logcheck.hacking

VIOLATIONS_FILE=/usr/local/etc/logcheck.violations
Должна читаться:
VIOLATIONS_FILE=/etc/logcheck/logcheck.violations

VIOLATIONS_IGNORE_FILE=/usr/local/etc/logcheck.violations.ignore
Должна читаться:
VIOLATIONS_IGNORE_FILE=/etc/logcheck/logcheck.violations.ignore

IGNORE_FILE=/usr/local/etc/logcheck.ignore
Должна читаться:
IGNORE_FILE=/etc/logcheck/logcheck.ignore

Шаг 2.

Поместите соответствующий элемент в crontab файл пользователя root, чтобы Logcheck выполнялся автоматически каждый час (рекомендуется, можете запускать его чаще или реже).

Для редактирования crontab введите следующую команду:

[root@deep /]# crontab -e
И добавьте следующую строку в crontab:
# Ежечасная проверка системных журналов на предмет
# нарушений защиты и необычной активности.
00 * * * * /usr/bin/logcheck.sh

ЗАМЕЧАНИЕ. Запомните, что Logcheck не присылает отчеты по электронной почте, если ему нечего сказать.

Проинсталлированные файлы. > /etc/logcheck > /usr/bin/logcheck.sh > /etc/logcheck/tmp > /etc/logcheck/logcheck.hacking > /etc/logcheck/logcheck.violations > /etc/logcheck/logcheck.violations.ignore > /etc/logcheck/logcheck.ignore > /usr/bin/logtail > /var/log/messages.offset > /var/log/secure.offset > /var/log/maillog.offset
Назад Оглавление Вперед