Как контролировать агентов OSSEC с помощью сервера OSSEC в Ubuntu 14.04

Вступление

OSSEC - это система обнаружения вторжений (HIDS) с открытым исходным кодом, которая выполняет анализ журналов, проверку целостности, мониторинг реестра Windows, обнаружение руткитов, оповещения на основе времени и активные ответы. Это приложение для установки на ваш сервер, если вы хотите следить за тем, что происходит внутри него. OSSEC поддерживается в Windows и во всех Unix-подобных операционных системах; однако оба дроплеты, используемые в этом руководстве, работают под управлением Ubuntu 14.04.

OSSEC может быть установлен для мониторинга только сервера, на котором он установлен, что является локальной установкой на языке OSSEC. Два предыдущих учебника по OSSEC являются примерами локальных установок OSSEC: https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-ossec-security-notifications-on-ubuntu-14-04 [Как установить и настроить уведомления безопасности OSSEC в Ubuntu 14.04] и How To Установите и настройте OSSEC на FreeBSD 10.1.

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

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

Предпосылки

Для завершения этого урока вам понадобится следующее.

  • Две капли Ubuntu 14.04. Обязательно запомните IP-адреса обоих, которые вы видите на приборной панели DigitalOcean. Мы будем называть их + your_server_ip + и + your_agent_ip + соответственно.

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

  • Брандмауэр Iptables включен на обоих. В Linux последний стабильный выпуск OSSEC нуждается в iptables для функции активного ответа. Он не работает с UFW, приложениями брандмауэра по умолчанию в Ubuntu. Следуйте инструкциям в Как настроить брандмауэр с помощью Iptables в Ubuntu 14.04, чтобы настроить iptables на обоих серверах.

Шаг 1 - Загрузите и проверьте OSSEC на сервере и агенте

Мы начнем с загрузки и проверки OSSEC для обеих капель (сервера и агента). Все команды на этом шаге должны выполняться для обеих капель, если не указано иное.

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

sudo apt-get update

Установите любые доступные обновления.

sudo apt-get upgrade

Наконец, установите необходимые пакеты.

На * сервере * вы должны установить следующее:

sudo apt-get install inotify-tools build-essential

На * агент * вы должны установить следующее:

sudo apt-get install build-essential

После этого на обеих каплях загрузите OSSEC и файл его контрольной суммы. Вы можете проверить project’s website на наличие последней версии, но приведенные ниже являются самыми последними на момент написания.

wget -U ossec http://www.ossec.net/files/ossec-hids-2.8.1.tar.gz

wget -U ossec http://www.ossec.net/files/ossec-hids-2.8.1-checksum.txt

После загрузки обоих файлов проверьте md5sum сжатого архива.

md5sum -c ossec-hids-2.8.1-checksum.txt

Выход должен быть:

ossec-hids-2.8.1.tar.gz: OK
md5sum: WARNING: 1 line is improperly formatted

Затем выполните проверку контрольной суммы SHA1.

sha1sum -c ossec-hids-2.8.1-checksum.txt

Его вывод должен быть:

ossec-hids-2.8.1.tar.gz: OK
sha1sum: WARNING: 1 line is improperly formatted

В каждом случае игнорируйте строку * WARNING *. Строка * OK * подтверждает, что файл исправен.

Шаг 2 - Установите сервер OSSEC

На этом этапе мы установим сервер OSSEC *, поэтому эти команды должны выполняться только на одной капле. Перед началом установки сервера распакуйте его.

tar xf ossec-hids-2.8.1.tar.gz

Он будет распакован в каталог с именем + ossec-hids-2.8.1 + Перейдите в этот каталог.

cd ossec-hids-2.8.1/

Затем начните установку.

sudo ./install.sh

На протяжении всего процесса установки вам будет предложено ввести некоторые данные. В большинстве этих случаев все, что вам нужно сделать, это нажать * ENTER *, чтобы принять значения по умолчанию.

Первый выбор, который вам будет предложено сделать, это выбрать язык установки. По умолчанию это английский (en), поэтому нажмите * ENTER *, если вы предпочитаете этот язык. В противном случае введите 2 буквы из списка поддерживаемых языков.

Следующий вопрос спросит, какую установку вы хотите. Здесь введите * сервер *.

1- What kind of installation do you want (server, agent, local, hybrid or help)?

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

Если установка прошла успешно, вы должны получить следующие выходные данные:

- System is Debian (Ubuntu or derivative).
- Init script modified to start OSSEC HIDS during boot.

- Configuration finished properly.

...

   More information can be found at http://www.ossec.net

   ---  Press ENTER to finish (maybe more information below). ---

Затем нажмите * ENTER *, и вы должны увидеть это:

- In order to connect agent and server, you need to add each agent to the server.
  Run the 'manage_agents' to add or remove them:

  /var/ossec/bin/manage_agents

  More information at:
  http://www.ossec.net/en/manual.html#ma

Шаг 3 - Настройте сервер OSSEC

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

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

sudo su

Теперь, когда вы root, + cd + в каталог, в котором находится файл конфигурации OSSEC.

cd /var/ossec/etc

Файл конфигурации + ossec.conf +. Сначала сделайте резервную копию.

cp ossec.conf ossec.conf.00

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

nano ossec.conf

Настройки электронной почты находятся вверху файла. Вот описание полей, которые вы измените, а затем пример файла + ossec.conf +.

  • * <email_to \> * - это электронное письмо, которое вы указали при установке. Оповещения будут отправлены на этот адрес электронной почты.

  • * <email_from \> * - это то, откуда могут появиться предупреждения OSSEC. Измените его на действительный адрес электронной почты, чтобы уменьшить вероятность того, что ваши письма будут помечены как спам SMTP-сервером вашего провайдера электронной почты.

  • Если у вас есть собственный почтовый сервер, и он находится на том же хосте, на котором установлен сервер OSSEC, вы можете изменить настройку * <smtp_server \> * на * localhost *.

Обратите внимание, что * <email_to \> * и * <email_from \> * могут совпадать. Вот как будет выглядеть этот раздел, когда вы закончите; замените переменные в красном на ваши собственные.

<global>
   <email_notification>yes</email_notification>
   <email_to></email_to>
   <smtp_server></smtp_server>
   <email_from></email_from>
</global>

После изменения настроек электронной почты сохраните и закройте файл. Затем запустите OSSEC.

/var/ossec/bin/ossec-control start

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

Шаг 4 - Установите агент OSSEC

В этом разделе вы узнаете, как установить агент OSSEC * на второй капле. Это будет похоже на установку сервера. Перед началом установки агента распакуйте его.

tar xf ossec-hids-2.8.1.tar.gz

Он будет распакован в каталог с именем + ossec-hids-2.8.1 + Перейдите в этот каталог.

cd ossec-hids-2.8.1/

Затем начните установку.

sudo ./install.sh

Большинство запросов такие же, как и раньше, но некоторые другие. Когда спросили:

1- What kind of installation do you want (server, agent, local, hybrid or help)?

Ответ должен быть * агент *. И когда спросили:

3.1- What's the IP Address or hostname of the OSSEC HIDS server?:

Введите IP-адрес сервера OSSEC, который вы получили ранее. Это IP-адрес другого Droplet (тот, где был установлен сервер OSSEC).

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

- System is Debian (Ubuntu or derivative).
- Init script modified to start OSSEC HIDS during boot.

- Configuration finished properly.

...

   More information can be found at http://www.ossec.net

   ---  Press ENTER to finish (maybe more information below). ---

И после повторного нажатия * ENTER * вы должны увидеть:

- You first need to add this agent to the server so they
  can communicate with each other. When you have done so,
  you can run the 'manage_agents' tool to import the
  authentication key from the server.

  /var/ossec/bin/manage_agents

  More information at:
  http://www.ossec.net/en/manual.html#ma

Теперь агент и сервер установлены, но они еще не могут связаться.

Шаг 5 - Добавить агента на сервер и извлечь его ключ

На сервере OSSEC запустите процесс добавления агента.

  • Примечание *: вы все равно должны работать как root с шага 3, поэтому вам не нужно использовать + sudo + в любой из этих команд.

/var/ossec/bin/manage_agents

Затем вам будут представлены варианты, показанные ниже. Выберите * a *, чтобы добавить агента.

  (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:

Затем вам будет предложено указать имя агента, его IP-адрес и идентификатор. Сделайте имя уникальным, потому что оно поможет вам в фильтрации предупреждений, полученных с сервера. Для идентификатора вы можете принять значение по умолчанию, нажав * ENTER *.

Когда вы введете все три поля, введите * y * для подтверждения.

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

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

После этого вы вернетесь в главное меню. Теперь вам нужно извлечь ключ агента, который будет отображен на экране. (Он будет отличаться от приведенного в примере ниже.) Убедитесь, что вы скопировали его, потому что вам придется ввести его для агента.

...

Choose your action: A,E,L,R or Q:

Available agents:
  ID: 001, Name: agentUbuntu, IP: 111.111.111.111
Provide the ID of the agent to extract the key (or '\q' to quit):

Agent key information for '001' is:
MDAxIGFnZW50VWJ1bnyEwNjI5MjI4ODBhMDkzMzA4MR1IXXwNC4yMzYuMjIyLjI1MSBiMTI2U3MTI4YWYzYzg4M2YyNTRlYzM5M2FmNGVhNDYTIwNDE3NDI1NWVkYmQw

** Press ENTER to return to the main menu.

После нажатия * ENTER * вы снова вернетесь в главное меню. Введите * q *, чтобы выйти.

...

Choose your action: A,E,L,R or Q:

** You must restart OSSEC for your changes to take effect.

manage_agents: Exiting ..

Шаг 6 - Импортируйте ключ с сервера на агента

Этот раздел должен быть заполнен на агенте, и он включает в себя импорт (копирование) ключа агента, извлеченного на сервере, и вставку его на терминал агента. Для начала перейдите в root, набрав:

sudo su

Затем введите:

/var/ossec/bin/manage_agents

Вам будут представлены следующие варианты:

  (I)mport key from the server (I).
  (Q)uit.
Choose your action: I or Q:

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

Agent information:
  ID:001
  Name:agentUbuntu
  IP Address:104.236.222.251

Confirm adding it?(y/n):
Added.
** Press ENTER to return to the main menu.

Чтобы вернуться в главное меню, введите * q *, чтобы выйти:

Choose your action: I or Q:

Шаг 7 - Разрешить трафик UDP-порта 1514 через брандмауэры

Связь между агентом и сервером осуществляется через UDP-порт 1514, поэтому вам придется добавить правило в iptables на обоих концах, чтобы разрешить трафик через этот порт.

Во-первых, временно удалите правило удаления как на агенте, так и на сервере.

sudo iptables -D INPUT -j DROP

Чтобы добавить правило на сервер OSSEC *, введите следующее, используя IP-адрес вашего агента OSSEC.

iptables -A INPUT -p UDP --dport 1514 -s  -j ACCEPT

Затем в * агент * введите следующее, используя IP-адрес вашего сервера OSSEC.

iptables -A INPUT -p UDP --dport 1514 -s  -j ACCEPT

Затем разрешите весь исходящий трафик через брандмауэр как на агенте, так и на сервере.

iptables -A OUTPUT -j ACCEPT

Наконец, добавьте правило удаления снова в оба.

sudo iptables -A INPUT -j DROP

Эти правила должны сохраняться после перезагрузки из-за + iptables-persistant +, который вы установили во время предварительных условий.

Шаг 8. Перезапустите агент и сервер OSSEC.

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

/var/ossec/bin/ossec-control restart

Помимо возможности перезапустить агент OSSEC из самого агента, вы также можете перезапустить его с сервера OSSEC с помощью + / var / ossec / bin / agent_control -R +, где * 001 * - идентификатор агента.

На сервере OSSEC вы можете получить список активных агентов, набрав:

/var/ossec/bin/list_agents -c

Если вы получите вывод, подобный приведенному ниже, то вы знаете, что сервер и агент разговаривают.

agentUbuntu-111.111.111.111 is active.

Заключение

На этом этапе вы должны получать оповещения от сервера, которые содержат уведомления как от сервера, так и от агента. Строка темы предупреждений, относящихся к агенту, выглядит как + OSSEC Notification - (agentUbuntu) 111.111.111.111 - Уровень предупреждения 3+. Основная часть этих писем начинается с «+ OSSEC HIDS Notification».

После того как вы установили, что сервер и агент могут взаимодействовать, вы можете дополнительно настроить обе установки. Модификации, которые могут быть сделаны на сервере и агенте OSSEC для оповещения о добавлении файлов, а также для оповещения в режиме реального времени, являются теми же, что и в установке local OSSEC. Вы можете обратиться к соответствующему разделу в Как установить и настроить Уведомления о безопасности OSSEC в Ubuntu 14.04 о том, как сделать эти изменения.

Если у вас есть более двух капель для мониторинга, вы можете добавить их в качестве агентов OSSEC к установке, выполнив те же действия, что и в этой статье. Если вы столкнулись с какими-либо проблемами при настройке, первое место для поиска подсказок находится в журнале ошибок, расположенном в + / var / ossec / logs / ossec.log +.

В этой статье рассматриваются только основы настройки OSSEC в режиме сервер-агент. Дополнительная информация доступна по адресу http://ossec-docs.readthedocs.org.

Related