Поиск по сайту:

Как установить и настроить уведомления безопасности OSSEC в Ubuntu 14.04


Введение

Как вы отслеживаете санкционированную и несанкционированную активность на вашем сервере?

OSSEC — это один из инструментов, который вы можете установить на свой сервер, чтобы отслеживать его активность.

OSSEC — это система обнаружения вторжений (HIDS) с открытым исходным кодом, которая выполняет анализ журнала, проверку целостности, мониторинг реестра Windows, обнаружение руткитов, оповещение на основе времени и активный ответ. Его можно использовать для мониторинга одного сервера или тысяч серверов в режиме сервер/агент.

При правильной настройке OSSEC может дать вам представление о том, что происходит на вашем сервере в режиме реального времени.

В этом руководстве показано, как установить и настроить OSSEC для мониторинга одного сервера DigitalOcean под управлением Ubuntu 14.04 LTS. Мы настроим OSSEC таким образом, чтобы при изменении, удалении или добавлении файла на сервер OSSEC уведомлял вас по электронной почте в режиме реального времени. Это в дополнение к другим функциям проверки целостности, которые предлагает OSSEC.

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

** Каковы преимущества OSSEC?

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

Ниже приведен пример уведомления по электронной почте от OSSEC, показывающий, что файл /var/ossec/etc/ossec.conf был изменен.

OSSEC HIDS Notification.
2014 Nov 29 09:45:15

Received From: kuruji->syscheck
Rule: 552 fired (level 7) -> "Integrity checksum changed again (3rd time)."
Portion of the log(s):

Integrity checksum changed for: '/var/ossec/etc/ossec.conf'
Size changed from '7521' to '7752'

Если вы получили такое предупреждение и не ожидали, что этот файл изменится, то вы знаете, что на вашем сервере произошло что-то несанкционированное.

Вот еще один пример оповещения по электронной почте от OSSEC, показывающий, что файл /etc/ossec/testossec.txt был удален.

OSSEC HIDS Notification.
2014 Nov 29 10:56:14

Received From: kuruji->syscheck
Rule: 553 fired (level 7) -> "File deleted. Unable to retrieve checksum."
Portion of the log(s):

File /etc/ossec/testossec.txt was deleted. Unable to retrieve checksum.

Опять же, если вы не удаляли рассматриваемый файл, вам следует выяснить, что происходит на вашем сервере.

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

Предпосылки

Вам, конечно же, нужен сервер, за которым вы хотите следить. В этом руководстве предполагается, что он у вас уже есть и уже настроен для использования. Это может быть сервер, который вы только что настроили сегодня или который вы использовали в течение нескольких месяцев. Самое главное, что у вас есть к нему доступ и вы можете войти по SSH. Настройка OSSEC — это не то, что вы хотите предпринять, если вы все еще не знаете, как подключиться к своему серверу по ssh.

  • Сервер Ubuntu 14.04
  • Вы должны создать пользователя sudo на сервере. В этом примере пользователя зовут sammy. Тем не менее, это руководство будет намного проще выполнить привилегированному пользователю:

sudo su

  • Необязательно: если вы хотите отправлять почту с локального SMTP-сервера, вам следует установить Postfix для простой отправки электронной почты.
  • Установка OSSEC требует некоторой компиляции, поэтому вам необходимо установить gcc и make. Вы можете установить оба, установив один пакет под названием build-essential
  • Вам также необходимо установить пакет inotify-tools, необходимый для работы оповещений в реальном времени

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

apt-get update

Установка пакетов:

apt-get install build-essential inotify-tools

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

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

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

Поскольку это статья о безопасности, мы проделаем небольшую дополнительную работу, чтобы убедиться, что мы устанавливаем действительное программное обеспечение. Идея состоит в том, что вы создаете контрольные суммы MD5 и SHA1 загруженного архива OSSEC и сравниваете их с контрольными суммами в файле контрольной суммы. Если они совпадают, то вы можете предположить, что tarball не был подделан.

На момент написания последней серверной версией OSSEC была версия 2.8.1. Чтобы скачать его, введите:

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

Чтобы убедиться, что оба файла на месте, введите:

ls -l ossec*

Вы должны увидеть файлы:

ossec-hids-2.8.1-checksum.txt
ossec-hids-2.8.1.tar.gz

Теперь давайте проверим файл контрольной суммы с помощью команды cat, например:

cat ossec-hids-2.8.1-checksum.txt

Ожидаемый результат:

MD5(ossec-hids-2.8.1.tar.gz)= c2ffd25180f760e366ab16eeb82ae382
SHA1(ossec-hids-2.8.1.tar.gz)= 0ecf1df09558dc8bb4b6f65e1fb2ca7a7df9817c

В приведенном выше выводе важные части находятся справа от знака =. Это контрольные суммы архива MD5 и SHA1.

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

Чтобы сгенерировать MD5sum архива, введите:

md5sum ossec-hids-2.8.1.tar.gz

Ожидаемый результат:

c2ffd25180f760e366ab16eeb82ae382  ossec-hids-2.8.1.tar.gz

Сравните сгенерированную контрольную сумму MD5 с контрольной суммой в файле контрольной суммы. Они должны совпадать.

Сделайте то же самое для контрольной суммы SHA1, набрав:

sha1sum  ossec-hids-2.8.1.tar.gz

Ожидаемый результат:

0ecf1df09558dc8bb4b6f65e1fb2ca7a7df9817c  ossec-hids-2.8.1.tar.gz

Если оба совпадают, все готово. Второй шаг манит.

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

На этом шаге вы установите OSSEC.

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

Прежде чем начать установку, вы должны развернуть файл. Вы делаете это, набрав:

tar -zxf ossec-hids-2.8.1.tar.gz

После этого у вас должен появиться каталог с именем ossec-hids-2.8.1. Чтобы начать установку, вам нужно перейти (cd) в этот каталог, что вы делаете, набрав:

cd ossec-hids-2.8.1

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

ls -lgG

Вы должны увидеть эти файлы и каталоги:

total 100
drwxrwxr-x  4  4096 Sep  8 21:03 active-response
-rw-rw-r--  1   542 Sep  8 21:03 BUGS
-rw-rw-r--  1   289 Sep  8 21:03 CONFIG
drwxrwxr-x  6  4096 Sep  8 21:03 contrib
-rw-rw-r--  1  3196 Sep  8 21:03 CONTRIBUTORS
drwxrwxr-x  4  4096 Sep  8 21:03 doc
drwxrwxr-x  4  4096 Sep  8 21:03 etc
-rw-rw-r--  1  1848 Sep  8 21:03 INSTALL
-rwxrwxr-x  1 32019 Sep  8 21:03 install.sh
-rw-rw-r--  1 24710 Sep  8 21:03 LICENSE
-rw-rw-r--  1  1664 Sep  8 21:03 README.md
drwxrwxr-x 30  4096 Sep  8 21:03 src

Единственный интересующий нас файл в этом списке — install.sh. Это скрипт установки OSSEC. Чтобы начать установку, введите:

./install.sh

Вам будет предложено ответить на некоторые вопросы по установке.

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

Записи отображаются красным.

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

  (en/br/cn/de/el/es/fr/hu/it/jp/nl/pl/ru/sr/tr) [en]:

После выбора языка вы должны увидеть это:

OSSEC HIDS v2.8 Installation Script - http://www.ossec.net

 You are about to start the installation process of the OSSEC HIDS.
 You must have a C compiler pre-installed in your system.
 If you have any questions or comments, please send an e-mail
 to dcid@ossec.net (or daniel.cid@gmail.com).

  - System: Linux kuruji 3.13.0-36-generic
  - User: root
  - Host: kuruji

  -- Press ENTER to continue or Ctrl-C to abort. --

После нажатия ENTER вы должны получить:

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

Введите local и нажмите ENTER. Вы должны получить:

  - Local installation chosen.

2- Setting up the installation environment.

  - Choose where to install the OSSEC HIDS [/var/ossec]:

Примите значение по умолчанию и нажмите ENTER. После этого вы получите:

    - Installation will be made at  /var/ossec .

3- Configuring the OSSEC HIDS.

  3.1- Do you want e-mail notification? (y/n) [y]:

Нажмите Ввод.

  - What's your e-mail address? sammy@example.com

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

  - We found your SMTP server as: mail.example.com.
  - Do you want to use it? (y/n) [y]:

--- Using SMTP server:  mail.example.com.

Нажмите ENTER, если у вас нет конкретных настроек SMTP-сервера, которые вы хотите использовать.

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

ENTER для демона проверки целостности.

  3.2- Do you want to run the integrity check daemon? (y/n) [y]:

- Running syscheck (integrity check daemon).

ENTER для обнаружения руткитов.

  3.3- Do you want to run the rootkit detection engine? (y/n) [y]:

- Running rootcheck (rootkit detection).

ENTER для активного ответа.

  3.4- Active response allows you to execute a specific command based on the events received.  

   Do you want to enable active response? (y/n) [y]:

   Active response enabled.

Примите значения по умолчанию для ответа на сброс брандмауэра. Ваш вывод может отображать некоторые параметры IPv6 — это нормально.

  Do you want to enable the firewall-drop response? (y/n) [y]:

- firewall-drop enabled (local) for levels >= 6

   - Default white list for the active response:
      - 8.8.8.8
      - 8.8.4.4

   - Do you want to add more IPs to the white list? (y/n)? [n]:

Вы можете добавить сюда свой IP-адрес, но это не обязательно.

OSSEC теперь будет представлять список файлов по умолчанию, которые он будет отслеживать. После установки можно добавить дополнительные файлы, поэтому нажмите ENTER.

3.6- Setting the configuration to analyze the following logs:
    -- /var/log/auth.log
    -- /var/log/syslog
    -- /var/log/dpkg.log

 - If you want to monitor any other file, just change
   the ossec.conf and add a new localfile entry.
   Any questions about the configuration can be answered
   by visiting us online at http://www.ossec.net .


   --- Press ENTER to continue ---

К этому моменту у установщика есть вся информация, необходимая для установки OSSEC. Откиньтесь назад и позвольте установщику сделать свое дело. Установка занимает около 5 минут. Если установка прошла успешно, теперь вы готовы запустить и настроить OSSEC.

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

5- Installing the system
 - Running the Makefile
./install.sh: 85: ./install.sh: make: not found

 Error 0x5.
 Building error. Unable to finish the installation.

Если вы получили эту ошибку, вам необходимо установить build-essential, как описано в разделе «Предварительные требования» руководства.

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

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

 - Configuration finished properly.

 - To start OSSEC HIDS:
                /var/ossec/bin/ossec-control start

 - To stop OSSEC HIDS:
                /var/ossec/bin/ossec-control stop

 - The configuration can be viewed or modified at /var/ossec/etc/ossec.conf

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

Теперь OSSEC установлен. Следующий шаг – запустить его.

Шаг 3 — Запустите OSSEC

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

Если вы хотите проверить его текущий статус, введите:

/var/ossec/bin/ossec-control status

Ожидаемый результат:

ossec-monitord not running...
ossec-logcollector not running...
ossec-syscheckd not running...
ossec-analysisd not running...
ossec-maild not running...
ossec-execd not running...

Это говорит о том, что ни один из процессов OSSEC не запущен.

Чтобы запустить OSSEC, введите:

/var/ossec/bin/ossec-control start

Вы должны увидеть, как он запускается:

Starting OSSEC HIDS v2.8 (by Trend Micro Inc.)...
Started ossec-maild...
Started ossec-execd...
Started ossec-analysisd...
Started ossec-logcollector...
Started ossec-syscheckd...
Started ossec-monitord...
Completed.

Если вы снова проверите статус, вы должны получить подтверждение того, что OSSEC теперь работает.

/var/ossec/bin/ossec-control status

Этот вывод показывает, что OSSEC работает:

ossec-monitord is running...
ossec-logcollector is running...
ossec-syscheckd is running...
ossec-analysisd is running...
ossec-maild is running...
ossec-execd is running...

Сразу после запуска OSSEC вы должны получить электронное письмо следующего содержания:

OSSEC HIDS Notification.
2014 Nov 30 11:15:38

Received From: ossec2->ossec-monitord
Rule: 502 fired (level 3) -> "Ossec server started."
Portion of the log(s):

ossec: Ossec started.

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

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

Шаг 4. Настройте OSSEC для оповещений в реальном времени об изменениях файлов.

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

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

Знакомство со структурой каталогов OSSEC

Каталог OSSEC по умолчанию представляет собой среду с chroot-ed (песочницу), к которой может получить доступ только пользователь с привилегиями root (admin). Обычный пользователь не может перейти в /var/ossec или даже перечислить файлы в нем. Однако как пользователь root (или администратор) вы можете это сделать.

Итак, cd в каталог установки, набрав:

cd /var/ossec

Чтобы вывести список файлов в вашем новом рабочем каталоге, введите:

ls -lgG

Вы должны увидеть эти файлы и каталоги:

total 40
dr-xr-x---  3 4096 Nov 26 14:56 active-response
dr-xr-x---  2 4096 Nov 20 20:56 agentless
dr-xr-x---  2 4096 Nov 20 20:56 bin
dr-xr-x---  3 4096 Nov 29 00:49 etc
drwxr-x---  5 4096 Nov 20 20:56 logs
dr-xr-x--- 11 4096 Nov 20 20:56 queue
dr-xr-x---  4 4096 Nov 20 20:56 rules
drwxr-x---  5 4096 Nov 20 21:00 stats
dr-xr-x---  2 4096 Nov 20 20:56 tmp
dr-xr-x---  3 4096 Nov 29 18:34 var

  • Основной файл конфигурации OSSEC находится в каталоге /var/ossec/etc.
  • Предопределенные правила находятся в каталоге /var/ossec/rules
  • Команды, используемые для управления OSSEC, находятся в /var/ossec/bin
  • Обратите внимание на каталог /var/ossec/logs. Если OSSEC выдает ошибку, файл /var/ossec/logs/ossec.log в этом каталоге нужно искать в первую очередь

Основной файл конфигурации, /var/ossec/etc/ossec.conf

Чтобы получить доступ к основному файлу конфигурации, вам нужно перейти в /var/ossec/etc. Для этого введите:

cd /var/ossec/etc

Если вы выполните ls в этом каталоге, вы увидите следующие файлы и каталоги:

ls -lgG

Полученные результаты:

total 120
-r--r----- 1 97786 Sep  8 22:03 decoder.xml
-r--r----- 1  2842 Sep  8 22:03 internal_options.conf
-r--r----- 1  3519 Oct 30 13:46 localtime
-r--r----- 1  7752 Nov 29 09:45 ossec.conf
-rw-r----- 1    87 Nov 20 20:56 ossec-init.conf
drwxrwx--- 2  4096 Nov 20 21:00 shared

Основной файл конфигурации — /var/ossec/etc/ossec.conf.

Перед изменением файла сделайте резервную копию, на всякий случай. Чтобы сделать эту копию, используйте команду cp следующим образом:

cp /var/ossec/etc/ossec.conf /var/ossec/etc/ossec.conf.00

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

Теперь откройте ossec.conf с помощью редактора nano.

nano /var/ossec/etc/ossec.conf

Файл конфигурации представляет собой очень длинный XML-файл с несколькими разделами.

Настройки электронной почты

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

Первые параметры конфигурации, которые вы увидите, — это учетные данные электронной почты, которые вы указали во время установки. Если вам нужно указать другой адрес электронной почты и/или SMTP-сервер, это можно сделать здесь.

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

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

<global>
    <email_notification>yes</email_notification>
    <email_to>sammy@example.com</email_to>
    <smtp_server>mail.example.com.</smtp_server>
    <email_from>ossecm@ossec_server</email_from>
    <email_maxperhour>N</email_maxperhour>
</global>

Замените N на количество писем, которые вы хотите получать в час, от 1 до 9999.

Некоторые сторонние поставщики услуг электронной почты (например, Google и Fastmail) будут молча удалять предупреждения, отправленные OSSEC, если адрес не содержит действительной части домена, например той, что указана в блоке кода. выше. Чтобы избежать этого, убедитесь, что этот адрес электронной почты содержит действительную доменную часть. Например:

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

Адреса и могут совпадать. Например:

<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-сервер, если он у вас настроен. (Это не рассматривается в этом руководстве, но вы можете установить Postfix, следуя этим инструкциям.) Если ваш SMTP-сервер работает в той же капле, что и OSSEC, измените параметр на < отметка>локальный хост. Например:

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

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

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

Примеры ошибок почты:

2014/12/18 17:48:35 os_sendmail(1767): WARN: End of DATA not accepted by server
2014/12/18 17:48:35 ossec-maild(1223): ERROR: Error Sending email to 74.125.131.26 (smtp server)

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

Частота сканирования

В разделе <syscheck> файла ossec.conf, который начинается так:

<syscheck>
    <!-- Frequency that syscheck is executed - default to every 22 hours -->
    <frequency>79200</frequency>

Мы включим оповещения о создании нового файла. Добавьте строку yes, чтобы она читалась так:

<syscheck>
    <!-- Frequency that syscheck is executed - default to every 22 hours -->
    <frequency>79200</frequency>

    <alert_new_files>yes</alert_new_files>

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

<syscheck>
    <!-- Frequency that syscheck is executed - default to every 22 hours -->
    <frequency>60</frequency>

    <alert_new_files>yes</alert_new_files>

Настройки изменения каталога и файла

Сразу после этого вы должны увидеть список системных каталогов, которые контролирует OSSEC. Это читается так:

<!-- Directories to check  (perform all possible verifications) -->
<directories check_all="yes">/etc,/usr/bin,/usr/sbin</directories>
<directories check_all="yes">/bin,/sbin</directories>

Включим мониторинг в реальном времени, добавив настройки report_changes=yes realtime=yes в каждую строку. Измените эти строки, чтобы они читались:

<!-- Directories to check  (perform all possible verifications) -->
<directories report_changes="yes" realtime="yes" check_all="yes">/etc,/usr/bin,/usr/sbin</directories>
<directories report_changes="yes" realtime="yes" check_all="yes">/bin,/sbin</directories>

report_changes=yes делает именно то, что говорит. То же самое для realtime=yes.

В дополнение к стандартному списку каталогов, которые OSSEC настроен для мониторинга, вы можете добавить новые каталоги, которые хотите отслеживать. В следующем разделе я собираюсь указать OSSEC отслеживать /home/sammy и /var/www. Для этого я собираюсь добавить новую строку прямо под уже существующими, чтобы этот раздел теперь гласил:

<!-- Directories to check  (perform all possible verifications) -->
<directories report_changes="yes" realtime="yes" check_all="yes">/etc,/usr/bin,/usr/sbin</directories>
<directories report_changes="yes" realtime="yes" check_all="yes">/bin,/sbin</directories>

<directories report_changes="yes" realtime="yes" restrict=".php|.js|.py|.sh|.html" check_all="yes">/home/sammy,/var/www</directories>

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

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

Это все изменения для ossec.conf. Вы можете сохранить и закрыть файл.

Локальные правила в /var/ossec/rules/local_rules.xml

Следующий файл для изменения находится в каталоге /var/ossec/rules, поэтому cd в него, набрав:

cd /var/ossec/rules

Если вы выполните ls в этом каталоге, вы увидите кучу XML-файлов, подобных этим:

ls -lgG

Сокращенный вывод:

total 376
-r-xr-x--- 1  5882 Sep  8 22:03 apache_rules.xml
-r-xr-x--- 1  2567 Sep  8 22:03 arpwatch_rules.xml
-r-xr-x--- 1  3726 Sep  8 22:03 asterisk_rules.xml
-r-xr-x--- 1  4315 Sep  8 22:03 attack_rules.xml

...

-r-xr-x--- 1  1772 Nov 30 17:33 local_rules.xml

...

-r-xr-x--- 1 10359 Sep  8 22:03 ossec_rules.xml

...

Сейчас нас интересуют только два из этих файлов — local_rules.xml и ossec_rules.xml. Последний содержит определения правил OSSEC по умолчанию, а в первом вы добавляете свои собственные правила. Другими словами, кроме local_rules.xml, вы не изменяете никакие файлы в этом каталоге.

Определения правил по умолчанию в ossec_rules.xml полезно посмотреть, чтобы мы могли изменить и скопировать их в наши локальные правила. В ossec_rules.xml при добавлении файла в отслеживаемый каталог срабатывает правило 554. По умолчанию OSSEC не отправляет предупреждения при срабатывании этого правила. , поэтому задача здесь состоит в том, чтобы изменить это поведение. Вот как выглядит правило 554 в версии по умолчанию:

<rule id="554" level="0">
<category>ossec</category>
<decoded_as>syscheck_new_entry</decoded_as>
<description>File added to the system.</description>
<group>syscheck,</group>
</rule>

OSSEC не отправляет оповещение, если для правила level установлено значение 0. Мы хотим изменить это правило, чтобы повысить уровень оповещения. Вместо того, чтобы изменять его в файле по умолчанию, мы скопируем правило в local_rules.xml и изменим его, чтобы оно могло вызывать оповещение.

Для этого сделайте резервную копию файла /var/ossec/rules/local_rules.xml:

cp /var/ossec/rules/local_rules.xml /var/ossec/rules/local_rules.xml.00

Отредактируйте файл с помощью nano:

nano /var/ossec/rules/local_rules.xml

Добавьте новое правило в конец файла. Убедитесь, что он находится внутри тега ... .

<rule id="554" level="7" overwrite="yes">
<category>ossec</category>
<decoded_as>syscheck_new_entry</decoded_as>
<description>File added to the system.</description>
<group>syscheck,</group>
</rule>

Сохраните и закройте файл.

Это все необходимые изменения.

Перезапустите OSSEC

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

/var/ossec/bin/ossec-control restart

Если все работает правильно, вы должны получить электронное письмо от OSSEC, информирующее вас о том, что он (повторно) запущен.

Шаг 5 — Инициировать оповещения об изменении файла

И в зависимости от того, что происходит в каталогах, которые OSSEC настроен для мониторинга, вы должны получать электронные письма, которые выглядят примерно так:

Теперь попробуйте создать образец файла в /home/sammy.

touch /home/sammy/index.html

Подождите минуту. Добавьте немного контента:

nano /home/sammy/index.html

Подождите минуту. Удалить файл:

rm /home/sammy/index.html

Вы должны начать получать такие уведомления:

OSSEC HIDS Notification.
2014 Nov 30 18:03:51

Received From: ossec2->syscheck
Rule: 550 fired (level 7) -> "Integrity checksum changed."
Portion of the log(s):

Integrity checksum changed for: '/home/sammy/index.html'
Size changed from '21' to '46'
What changed:
1c1,4
< This is an html file
---

    <!doctype html> <p>This is an html file</p>

Old md5sum was: '4473d6ada73de51b5b36748627fa119b'
New md5sum is : 'ef36c42cd7014de95680d656dec62de9'
Old sha1sum was: '96bd9d685a7d23b20abd7d8231bb215521bcdb6c'
New sha1sum is : '5ab0f31c32077a23c71c18018a374375edcd0b90'

Или это:

OSSEC HIDS Notification.
2014 Dec 01 10:13:31

Received From: ossec2->syscheck
Rule: 554 fired (level 7) -> "File added to the system."
Portion of the log(s):

New file '/var/www/header.html' added to the file system.

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

nano /var/ossec/etc/ossec.conf

Настройка для частоты:

<syscheck>
    <!-- Frequency that syscheck is executed - default to every 22 hours -->
    <frequency>79200</frequency>

Опять же, если вы не получаете электронные письма, проверьте спам, проверьте свой /var/ossec/logs/ossec.log, проверьте свои почтовые журналы и т. д.

Заключение

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

Для получения дополнительной информации об OSSEC посетите веб-сайт проекта по адресу http://www.ossec.net/.