Установка и базовая настройка OSSEC (системы для централизованного мониторинга log-файлов от Trend Micro)

    Общий рейтинг статьи: 0 (проголосовало 0 )
    Опубликовано:  [просмотров 937]


    В рамках одного из проектов по тестирования разного рода систем для централизованного мониторинга и анализа log-файлов мы тестировали несколько систем и по результатам заказчик выбрал ossec (http://www.ossec.net).

    На наш взгляд, это не самое лучшее решение, но заказчика устроило именно оно и по результатам внедрения, мы составили небольшую инструкцию по установке и базовой настройке. Внедрение производилось на платформе Ubuntu Server 14.04 и Centos 7.1 (гибридная установка серверной части Ubuntu server 14.04, клиентская часть Centos 7.1).

    Пошаговая инструкция по настройке системы мониторинга OSSEC

    Система частично компилируется из исходных кодов и первым делом необходимо установить ряд необходимых пакетов:

    # apt-get install inotify-tools build-essential

    Скачиваем, распаковываем и устанавливаем серверную часть:

    # wget -U ossec http://www.ossec.net/files/ossec-hids-2.8.1.tar.gz
    # tar -xvf ./ossec-hids-2.8.1.tar.gz
    # cd ./ossec-hids-2.8.1
    # ./install.sh

    Выполнение скрипта install.sh запускает автоматизированный установщик который ,в идеале, проведет вас по всем этапам настройки и сборки системы. Для сервера выберите тип установки «hybrid» на клиентах ,соответственно, «agent». Остальные параметры оставьте по умолчанию кроме адреса на который будут отправляться сообщения.

    Приступаем к настройке сервера. Прейдите в каталог /var/ossec/etc и в файле ossec.conf отредактируйте параметры отправки сообщений электронной почты (если вы не настраивали их при установке сервера):

    <global>
    <email_notification>yes</email_notification>
    <email_to>sammy@example.com</email_to>
    <smtp_server>mail.example.com.</smtp_server>
    <email_from>sammy@example.com</email_from>
    </global>

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

    Запустите серверную часть командой:

    # /var/ossec/bin/ossec-control start

    Обратите внимание, что если вы попытаетесь запустить сервис командой:

    # /etc/init.d/ossec start

    Вы получите ошибку:

    ossec-agentd(1402): ERROR: Authentication key file '/var/ossec/ossec-agent/etc/client.keys' not found.
    ossec-agentd(1750): ERROR: No remote connection configured. Exiting.

    Как устранить такое поведение мы расскажем далее. OSSEC-сервер не может быть запущен без настроенных агентов, поэтому перейдите на сервер который будет добавлен клиентом к системе мониторинга и выполните все операции по установке из начала этой статьи с единственным отличием в типе установки (выбираем «agent»). Обратите внимание, что при сборке агента для Centos требуется установить следующую группу пакетов:

    # yum groupinstall 'Development Tools'

    Настроим взаимодействие клиента и сервера, для чего необходимо создать ключи авторизации при помощи утилиты:

    # /var/ossec/bin/manage_agents

    Данную команду необходимо выполнить сначала на сервере, где выбрать режим (A)dd an agent (A) и указать имя агента (имя сервера за которым настраиваем наблюдение).

    ****************************************
    * OSSEC HIDS v2.8 Agent manager. *
    * The following options are available: *
    ****************************************
    (A)dd an agent (A).
    (E)xtract key for an agent (E).
    (L)ist already added agents (L).
    (R)emove an agent (R).
    (Q)uit.
    Choose your action: A,E,L,R or Q: A


    - Adding a new agent (use '\q' to return to the main menu).
    Please provide the following:
    * A name for the new agent: ffk-main
    * The IP Address of the new agent: 109.120.142.159
    * An ID for the new agent[001]:
    Agent information:
    ID:001
    Name:ffl
    IP Address:119.120.132.159


    Confirm adding it?(y/n): y
    Agent added.

    Следующим этапом экспортируем ключ агента выбрав режим (E)xtract key for an agent (E).

    ****************************************
    * OSSEC HIDS v2.8 Agent manager. *
    * The following options are available: *
    ****************************************
    (A)dd an agent (A).
    (E)xtract key for an agent (E).
    (L)ist already added agents (L).
    (R)emove an agent (R).
    (Q)uit.
    Choose your action: A,E,L,R or Q: E


    Available agents:
    ID: 001, Name: ffk-main, IP: 109.120.142.159
    Provide the ID of the agent to extract the key (or '\q' to quit): 001


    Agent key information for '001' is:
    MDAxIGZmbCAxMDkuMTIwLjE0Mi4xNmUwYjdjMGODhkNjU1NjI3Nw==

    Полученный ключ необходимо импортировать на клиентский сервер (агент на сервере за которым устанавливаем наблюдение), для чего выбираем режим (I)mport key from the server (I).

    ****************************************
    * OSSEC HIDS v2.8 Agent manager. *
    * The following options are available: *
    ****************************************
    (I)mport key from the server (I).
    (Q)uit.
    Choose your action: I or Q: I


    * Provide the Key generated by the server.
    * The best approach is to cut and paste it.
    *** OBS: Do not include spaces or new lines.


    Paste it here (or '\q' to quit): MDAxIGZmbCAxMDkNTNiNjhlMjZjNDRmODhkNjU1NjI3Nw==

    Agent information:
    ID:001
    Name:ffl
    IP Address:109.120.142.159


    Confirm adding it?(y/n): y
    Added.

    По завершении настройки запускаем службы и настраиваем автозапуск при загрузке сервера.

    Для Centos 7:

    # /etc/init.d/ossec start
    # chkconfig ossec on

    Для Ubuntu server:

    # /etc/init.d/ossec start
    # update-rc.d ossec enable

    При установке в режиме hybrid как уже говорилось выше вы получите ошибку:

    Authentication key file '/var/ossec/ossec-agent/etc/client.keys' not found.

    Для устранения ошибки выполните следующие команды:

    # mkdir -p /var/ossec/ossec-agent/etc/
    # ln -s /var/ossec/etc/client.keys /var/ossec/ossec-agent/etc/client.keys

    Для управления запущенными службами как клиента так и сервера ,например, перезапуск при добавлении нового агента) используется команда:

    # /var/ossec/bin/ossec-control restart

    Для взаимодействия клиента и сервера по сети используется UDP-порт 1514 (порт должен быть открыт как на сервере так и на агенте). В случае возникновения проблем в работе ossec проверьте сообщения в log-файле /var/ossec/logs/ossec.log

    Серверная часть содержит большой набор правил практически на все случаи жизни, но в том случае ,если вам потребуется добавить дополнительные правила мониторинга, выполните следующие действия.

    На стороне сервера в файле var/ossec/rules создаем правило (например error_rule.xml) которое будет искать строку " Error "

    <group name="syslog,">
    <rule id="80299" level="15">
    <description>Error detected!</description>
    <regex> Error </regex>
    </rule>
    </group>

    Подключаем правило в <rules> в ossec.conf.

    <rules>
    <include>rules_config.xml</include>
    <include>error_rule.xml</include>
    </rules>

    На стороне клиента в файле ossec.conf указываем за какими log-файлами будет вестись наблюдение:

    <localfile>
    <location>/home/max/test.log</location>
    <log_format>syslog</log_format>
    </localfile>

    Так же, отредактировав список подключенных правил вы можете сократить количество событий на которые будет реагировать система.

    Проверить список агаентов и их статус можно командой:

    # /var/ossec/bin/list_agents -a

    Если вы получаете ошибку:

    ossec-remoted(1213): WARN: Message from 109.120.142.159 not allowed.

    Проверьте список установленных ключей для агентов, данное сообщение означает, что агент не может авторизоваться на сервере.


    Обсуждение статьи

    Ваш комментарий: