Опубликован: 20.02.2006 | Уровень: специалист | Доступ: платный
Лекция 8:

Средства анализа и управления

Установка Swatch

  1. Для Swatch требуется Perl 5 или выше. Если вы используете новую установку Linux или BSD (не старше года), то у вас должна быть подходящая версия.
  2. Для Swatch требуются также некоторые дополнительные подпрограммы для языка Perl: Date::Calc, Date::HiRes и Date::Format. Если у вас эти модули отсутствуют, процесс конфигурирования выдаст соответствующие сообщения. Чтобы получить модули, зайдите на web-сайт http://www.prmfind.net и посмотрите, нет ли там доступного RPM для вашего дистрибутива.

    Если вы используете дистрибутив Linux, то высока вероятность, что RPM для установки этих модулей присутствует на дисках дистрибутива. Если у вас нет RPM для модулей Perl, то для загрузки требуемых модулей можно воспользоваться системой Comprehensive Perl Archive Network (CPAN). (Система CPAN позволяет автоматически и без особых проблем загружать требуемые библиотеки Perl.) Чтобы сделать это, наберите следующую команду:

    cpan -i имя_модуля

    где имя_модуля заменяется на Date::Calc или тот модуль, который вы пытаетесь загрузить. Проверьте, что имя модуля задано правильно с учетом регистра символов и наберите оба двоеточия. Вам придется сделать это три раза - по одному для каждого требуемого модуля. Система CPAN позаботится о соединении с центральными серверами CPAN, загрузке модуля и его установке.

  3. Загрузите tar-файл с прилагаемого к книге компакт-диска или с web-сайта Sourceforge и распакуйте его.
  4. Так как Swatch является программой Perl, то процесс установки несколько иной по сравнению с предыдущими программами на языке Си. Последовательность вводимых команд будет следующей:
    perl Makefile.PL
    make
    make test
    make install
    make realclean

Когда эти процессы завершатся, Swatch будет установлен и готов к последующим действиям.

Конфигурирование и запуск Swatch

Swatch - утилита командной строки, и запускается командой swatch с различными параметрами, описанными в табл. 8.1.

Например, команда

./swatch --config-file /home/john/my-swatch-config --daemon

запустит Swatch с конфигурационным файлом /home/john/my-swatch-config вместо подразумеваемого. Программа будет выполняться как фоновый процесс или демон. Эти опции могут задаваться по отдельности или вместе.

Таблица 8.1. Опции команды Swatch
Опция Описание
--config-file имя_конфигурационного_файла Swatch запускается с указанным конфигурационным файлом. По умолчанию используется ./swatchrc.
--restart-time время Swatch перезапускается в указанное время. Можно использовать знак +, чтобы программа перезапустилась по истечении заданного времени с текущего момента. Это полезно, чтобы освежить имеющийся образ файла журнала.
input-record-separator регулярное_выражение Эта опция предписывает Swatch применять регулярное выражение для определения границ между записями и строками в файле журнала. По умолчанию используется возврат каретки, но если в вашей операционной системе применяется что-то иное, можно указать это здесь
daemon Swatch запускается как системный демон. Эквивалентно запуску Swatch с ключом & (амперсанд)
Таблица 8.2. Опции Swatch для файлов журналов
Опция Описание
--examine файл Предписывает Swatch выполнить полный просмотр указанного файла. Применяется, когда проверяемый файл каждый раз создается заново
--read-pipe программа Вместо чтения файла можно заставить Swatch осуществлять ввод непосредственно из канала от указанной программы
--tail файл Читать только вновь добавленные в файл строки. Это подразумеваемый режим Swatch на файлах журналов, так как новые записи обычно добавляются в конец существующего файла. Это значительно быстрее, чем каждый раз читать весь файл, особенно для журналов, которые могут достигать больших размеров, как, например, журнал Web-сервера

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

./swatch - examine messages - daemon

заставит Swatch при каждом запуске выполнять поиск во всем файле messages, а не только во вновь добавленных строках

Swatch обычно просматривает UNIX-файл messages, а при отсутствии такового по умолчанию читается syslog. При помощи ключей из табл. 8.2 можно заставить Swatch просматривать любые файлы журналов, например, журналы безопасности или даже файлы журналов определенных приложений, такие как nessus.messages

Конфигурационный файл Swatch

В конфигурационном файле Swatch располагаются все важные настройки. В этом файле, именуемом по умолчанию swatchrc, вы указываете программе, что искать в журналах и что делать в случае успешного поиска. Два примера файлов swatchrc поставляются вместе с программой в каталоге examples. Файл swatchrc.personal предназначен для применения на персональных рабочих станциях, а swatchrc.monitor - для мониторинга сервера. На листинге 8.2 показано, как выглядит версия monitor

# 
# Конфигурационный файл Swatch для постоянного мониторинга 
#
# Неудачные попытки входа
watchfor /INVALID|REPEATED|INCOMPLETE/ 
   echo 
   bell 3 
   exec "/usr/local/sbin/badloginfinger $0"

# Температура в машинном зале 
watchfor /WizMON/ 
   echo inverse 
   bell

# Аварии и остановки машины 
watchfor /(panic|halt)/ 
   echo 
   bell 
   mail 
   exec "call_pager 3667615 0911"

# Перезагрузки системы 
watchfor /SunOS Release/ 
   echo 
   bell 
   mail 
   exec "call_pager 3667615 0411"
Листинг 8.2. Конфигурационный файл swatchrc.monitor

Как можно видеть из листинга 8.2, базовый формат включает инструкцию watchfor, за которой следует текстовая инструкция между двумя косыми чертами, а затем одна или несколько команд действия. Текст между косыми чертами служит аргументом поиска, когда Swatch просматривает файл журнала (или его последние записи). В случае успешного поиска Swatch выполняет указанные далее действия. В табл. 8.3 описаны поддерживаемые Swatch инструкции действий.

Таблица 8.3. Инструкции действий Swatch
Инструкция действия Описание
echo режим Выдает искомый текст на экран. Режим указывать не обязательно; он задает цвет выводимого текста. По умолчанию используется обычный экранный цвет текста, но можно также задавать режимы blink (мигание), bold (жирный), underline (подчеркнутый), inverse (инверсный) и цвета green, blue, red, yellow, black, magenta, cyan, white или любой из перечисленных вариантов, за которым следует суффикс _h для подсвеченной цветной версии, например black_h
bell число Звуковой сигнал через внутренний динамик ПК указанное число раз. По умолчанию выдается один сигнал.
exec команда Выполняет указанную команду. Полезно для вызова другой программы или командного файла с целью выполнения различных действий, таких как отправка всплывающего сообщения SMB на определенную рабочую станцию. Эта опция существенно расширяет возможности Swatch. Можно даже задать вызов командного файла, который будет предпринимать дальнейшие действия согласно некоторым условиям, с учетом того, что именно было найдено в файле журнала
pipe команда Передает команду в другой процесс.
mail addresses=адрес1:адрес2:адрес3,subject=текст Посылает электронное сообщение, используя программу Sendmail по одному или нескольким адресам, разделенным двоеточием, с заданным текстом темы. Текст сигнала тревоги помещается в тело письма
write пользователь1:пользователь2 Посылает сигнал посредством UNIX-команды write одному или нескольким пользователям.
throttle часы:минуты:секунды Управляет тем, сколько раз за некоторый промежуток времени посылается сигнал для одной инструкции watchfor. Это избавляет от получения десятков сообщений, если строка текста несколько раз появляется в файле журнала в пределах заданного временного окна

Как можно видеть, Swatch способен извещать вас об отмеченных протоколируемых событиях несколькими различными способами. Простейшим является подача звукового сигнала или вывод текста на экран. Если вы не находитесь постоянно рядом с сервером, можно настроить программу для отправки электронных сообщений. Если ваш пейджер или сотовый телефон поддерживает обмен текстовыми сообщениями по электронной почте, то вы сможете получать сообщения на своем устройстве. Можно также написать командный файл, чтобы сервер набирал номер пейджера с помощью UNIX-команды tip

Роман Попов
Роман Попов

После прохождения курса Стандарты инфрмационной безопасности мне предложено получение Удостоверения о повышении квалификации от НИУ ВШЭ по программе Менеджмент информационной безопасности. Программа включает в себя ряд курсов которые я уже ранее проходил. Какой порядок действий в данном случае? Как прозводится перезачет результатов? И какие экщамены мне надо еще доздать чтобы получить удостоверение?

Александр Путятинский
Александр Путятинский

Добрый день по окончании данного курса выдается сертификат?

Гончик Цымжитов
Гончик Цымжитов
Россия, Санкт-Петербург
Александр Косенко
Александр Косенко
Украина, Днепропетровск