статья об OSSEC

Обсуждаем сайт и форум.

Модератор: f0s

Аватара пользователя
tango
Access Forbidden
Сообщения: 247
Зарегистрирован: 2007-12-15 17:41:18
Откуда: Санкт- Петербург
Контактная информация:

статья об OSSEC

Непрочитанное сообщение tango » 2008-07-06 18:22:58

Собственно вопрос... нужна или нет?
OSSEC- это IDS-система.
может выступать в качестве host-based или network-based системы.

Код: Выделить всё

Системы обнаружения сетевых атак и вторжений (IDS – Intruder Detection System) предупреждает администратора сети о подозрительных и сомнительных действиях и явлениях в компьютерной сети. 

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35454
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: статья об OSSEC

Непрочитанное сообщение Alex Keda » 2008-07-06 18:24:51

давай =)
я за любой кипиш кроме драки =)))
Убей их всех! Бог потом рассортирует...

Аватара пользователя
tango
Access Forbidden
Сообщения: 247
Зарегистрирован: 2007-12-15 17:41:18
Откуда: Санкт- Петербург
Контактная информация:

Re: статья об OSSEC

Непрочитанное сообщение tango » 2008-07-06 20:18:44

Ну тогда вот.... бета-версия... просьба исправлять и дополнять.. :) ;)
==================================================================
OSSEC является IDS-системой (Система обнаружения сетевых атак и вторжений).
IDS – (Intruder Detection System) предупреждает администратора сети о подозрительных
и сомнительных действиях и явлениях в компьютерной сети.

OSSEC можно установить в режиме мониторинга одного отдельного хоста
(порт /usr/ports/security/ossec-hids-local/)
или в режиме мониторинга нескольких хостов сети
(порт /usr/ports/security/ossec-hids-server).
Лично для меня предпочтительней версия "server", т.к. серверов "по периметру" у меня довольно много.
Ставить будем из портов. На настоящий момент версия 1.4.
Желающие могут посетить официальный сайт программы
http://www.ossec.net/main/downloads/ и скачать последнюю версию (1.5).

Код: Выделить всё

paloma# cd /usr/ports/security/ossec-hids-server/
paloma# make install && make clean 
Для автоматического запуска сервиса при старте системы, добавляем в rc.conf

Код: Выделить всё

ossechids_enable="YES"
Рабочая директория программы /usr/local/ossec-hids/
Нам необходимо отредактировать основной конфигурационный файл ossec.conf
Располагается он в /usr/local/ossec-hids/etc

Приводим файл к такому виду:

Код: Выделить всё

<ossec_config>
  <global>
    <email_notification>yes</email_notification>
    <email_to>root@domain.com</email_to>  #  е-майл на который слать алерты
    <smtp_server>smtp.domain.com.</smtp_server> #  smtp-сервер
    <email_from>ossecm@domain.com.</email_from> # от чьего имени отсылать алерты
  </global>

# в этой секции описываем какие правила загружать
# можете добавить/удалить то что нужно
# конфигурационные файлы всех доступных правил находятся в /usr/local/ossec-hids/rules

  <rules>
    <include>rules_config.xml</include>
    <include>sshd_rules.xml</include>
    <include>syslog_rules.xml</include>
    <include>pix_rules.xml</include>
    <include>named_rules.xml</include>
    <include>pure-ftpd_rules.xml</include>
    <include>proftpd_rules.xml</include>
    <include>web_rules.xml</include>
    <include>apache_rules.xml</include>
    <include>ids_rules.xml</include>
    <include>squid_rules.xml</include>
    <include>firewall_rules.xml</include>
    <include>postfix_rules.xml</include>
    <include>sendmail_rules.xml</include>
    <include>spamd_rules.xml</include>
    <include>msauth_rules.xml</include>
    <include>attack_rules.xml</include>
  </rules>

<syscheck>
    <!-- Frequency that syscheck is executed -- default every 2 hours -->
    <frequency>7200</frequency>

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

# файлы которые не проверяем
    <!-- Files/directories to ignore -->
    <ignore>/etc/mtab</ignore>
    <ignore>/etc/hosts.deny</ignore>
    <ignore>/etc/mail/statistics</ignore>
    <ignore>/etc/random-seed</ignore>
    <ignore>/etc/adjtime</ignore>
</syscheck>

  <rootcheck>
    <rootkit_files>/usr/local/ossec-hids/etc/shared/rootkit_files.txt</rootkit_files>
    <rootkit_trojans>/usr/local/ossec-hids/etc/shared/rootkit_trojans.txt</rootkit_trojans>
    <system_audit>/usr/local/ossec-hids/etc/shared/system_audit_rcl.txt</system_audit>
  </rootcheck>

# здесь описываем доверенные адреса
  <global>
    <white_list>127.0.0.1</white_list>
    <white_list>192.168.1.19</white_list>
  </global>

  <remote>
    <connection>secure</connection>
  </remote>

<alerts>
    <log_alert_level>1</log_alert_level>
    <email_alert_level>7</email_alert_level>
</alerts>

  <command>
    <name>host-deny</name>
    <executable>host-deny.sh</executable>
    <expect>srcip</expect>
    <timeout_allowed>yes</timeout_allowed>
  </command>

  <command>
    <name>firewall-drop</name>
    <executable>firewall-drop.sh</executable>
    <expect>srcip</expect>
    <timeout_allowed>yes</timeout_allowed>
  </command>

  <command>
    <name>disable-account</name>
    <executable>disable-account.sh</executable>
    <expect>user</expect>
    <timeout_allowed>yes</timeout_allowed>
  </command>

<!-- Active Response Config -->
  <active-response>
    <!-- This response is going to execute the host-deny
       - command for every event that fires a rule with
       - level (severity) >= 6.
       - The IP is going to be blocked for  600 seconds.
      -->
    <command>host-deny</command>
    <location>local</location>
    <level>6</level>
    <timeout>600</timeout>
  </active-response>

  <active-response>
    <!-- Firewall Drop response. Block the IP for
       - 600 seconds on the firewall (iptables,
       - ipfilter, etc).
      -->
    <command>firewall-drop</command>
    <location>local</location>
    <level>6</level>
    <timeout>600</timeout>
  </active-response>

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

  <!-- Files to monitor (localfiles) -->

  <localfile>
    <log_format>syslog</log_format>
    <location>/var/log/messages</location>
  </localfile>

<localfile>
    <log_format>syslog</log_format>
    <location>/var/log/auth.log</location>
  </localfile>

  <localfile>
    <log_format>syslog</log_format>
    <location>/var/log/security</location>
  </localfile>

  <localfile>
    <log_format>syslog</log_format>
    <location>/var/log/xferlog</location>
  </localfile>

  <localfile>
    <log_format>syslog</log_format>
    <location>/var/log/maillog</location>
  </localfile>

  <localfile>
    <log_format>apache</log_format>
    <location>/var/log/httpd-access.log</location>
  </localfile>

  <localfile>
    <log_format>apache</log_format>
    <location>/var/log/httpd-error.log</location>
  </localfile>
</ossec_config>
На этом всё.
Запускаем:

Код: Выделить всё

paloma# /usr/local/etc/rc.d/ossec-hids start
Starting OSSEC HIDS v1.4 (by Daniel B. Cid)...
Started ossec-maild...
Started ossec-execd...
Started ossec-analysisd...
Started ossec-logcollector...
Started ossec-remoted...
Started ossec-syscheckd...
Started ossec-monitord...
Completed.
В такой конфигурации OSSEC вполне функциональна и способна обслуживать хост на котором установлена.
Но мы ведь не собираемся ограничиваться мониторингом одного хоста.
На остальных серверах, которые мы хотим включить в IDS, ставим клиента.

Код: Выделить всё

srv-01# cd /usr/ports/security/ossec-hids-client/ 
srv-01# make install && make clean
Конфигурационные файлы клиента располагаются в тех же директориях, что и у сервера.
Отличия ossec.conf клиента заключается в секции:

Код: Выделить всё

<ossec_config>
  <client>
    <server-ip>192.168.1.19</server-ip>
  </client>
Здесь нужно указать адрес сервера.
Также отредактируйте секции <localfile>, отметьте нужные лог-файлы.

ВАЖНО!
Для нормального соединения клиента с сервером, откройте в файерволе udp-порт 1514.

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

Код: Выделить всё

paloma# /usr/local/ossec-hids/bin/manage_agents


****************************************
* OSSEC HIDS v1.4 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: srv-01 # вводим имя клиента
   * The IP Address of the new agent: 102.168.1.15 # вводим ИП клиента
   * An ID for the new agent[001]:
Agent information:
   ID:001
   Name:srv-01
   IP Address:102.168.1.15

Confirm adding it?(y/n): y # жмем "y"
Agent added.


****************************************
* OSSEC HIDS v1.4 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: srv-01, IP: 102.168.1.15
Provide the ID of the agent to extract the key (or '\q' to quit): 001 # вводим ID клиента

Agent key information for '001' is:
MDAxIHNydi0wMSAxMDIuMTY4LjEuMTUgMTc5N2ZhOWI5YjkxN2U1ZTkxMWVjZWU4Nm \
Y5ODc1MTU3Yzc1YzNjYmNhMTY4ZjJhYzdjMjkxM2M5MTNkY2I3Mg== # это полученный ключ, копируем в буфер

** Press ENTER to return to the main menu.



****************************************
* OSSEC HIDS v1.4 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: q

** You must restart the server for your changes to have effect.

manage_agents: Exiting ..
paloma#              
Теперь тоже самое запускаем на клиенте.

Код: Выделить всё

srv-01# /usr/local/ossec-hids/bin/manage_agents


****************************************
* OSSEC HIDS v1.4 Agent manager.       *
* The following options are available: *
****************************************
   (I)mport key from the server (I).
   (Q)uit.
Choose your action: I or Q: i # жмен "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):  MDAxIHNydi0wMSAxMDIuMTY4LjEuMTUgMTc5N2ZhOWI5YjkxN2U1ZTkxMWVjZW \
U4NmY5ODc1MTU3Yzc1YzNjYmNhMTY4ZjJhYzdjMjkxM2M5MTNkY2I3Mg== # вставляем сюда ключ 
                                                               # сгенерированный на сервере  
После этого можно запускать агента.

Код: Выделить всё

srv-01# /usr/local/etc/rc.d/ossec-hids start
Starting OSSEC HIDS v1.4 (by Daniel B. Cid)...
Started ossec-maild...
Started ossec-execd...
Started ossec-analysisd...
Started ossec-logcollector...
Started ossec-remoted...
Started ossec-syscheckd...
Started ossec-monitord...
Completed.
Остальные сервера-клиенты устанавливаем/настраиваем также.
На данный момент у меня их мониторится 7 штук Unix-серверов.
Клиента можно установить и на windows-сервера.
Скачать виндовс-клиента мжно на офсайте.

Уведомления о подозрительной сетевой активности, а также о блокировке нарушителей,
будут присылаться на е-майл, указанный в конфиге.
Но не плохо бы визуально наблюдать происходящее и иметь отчеты.
Для этого ставим web-интерфейс к нашей OSSEC.
Берем всё на том же офсайте
http://www.ossec.net/files/ui/ossec-wui-0.3.tar.gz

Распаковываем:

Код: Выделить всё

# tar -zxvf ossec-wui-0.3.tar.gz
# mv ossec-wui-0.3 /usr/local/www/ossec-wui
Запускаем установочный скрипт.

Код: Выделить всё

# cd /usr/local/www/ossec-wui
# ./setup.sh
   ...
Вобщем то его можно и не запускать...
Всё что делает этот скрипт, так это добавляет пользователя в .htaccess
если авторизация при доступе к веб-интерфейсу вам не нужна, то .htaccess не нужен.

Далее нужно добавить пользователя от имени которого работает apache (у меня это www) в группу ossec

Код: Выделить всё

# ee /etc/group
ossec:*:1002:www
Даем разрешения пользователю "www" на доступ к директории tmp

Код: Выделить всё

# chmod 770 tmp/
# chgrp www tmp/
Правим файл /usr/local/www/ossec-wui/ossec_conf.php
(прописываем правильный путь к рабочей директории)

Код: Выделить всё

$ossec_dir="/usr/local/ossec-hids";
Добавляем алиас в httpd.conf

Код: Выделить всё

Alias /ossec "/usr/local/www/ossec-wui/"

<Directory "/usr/local/www/ossec-wui/">
        Options none
        AllowOverride All
        Order Deny,Allow
        Deny from all
        Allow from 192.168.1.21 192.168.0.20
</Directory>
Перезапускаем apache

Код: Выделить всё

# apachectl restart
Пробуем зайти по адресу http://myserver_ip/ossec/
Если всё сделано правильно, увидим подобную картинку:
Вложения
4.png
Последний раз редактировалось tango 2008-07-06 22:52:25, всего редактировалось 6 раз.

princeps
майор
Сообщения: 2684
Зарегистрирован: 2007-09-25 10:20:59
Откуда: Сочи, Москва
Контактная информация:

Re: статья об OSSEC

Непрочитанное сообщение princeps » 2008-07-06 20:53:08

Если ты не против, у меня про опечатки:
tango писал(а):Жлающие могут посетить официальный сайт программы http://www.ossec.net/main/downloads/ и скачать последнюю версию (1.5).
Пропущена "е" в слове "желающие"
tango писал(а):Прежде чем запускать клиента, нам необходимо сгенерировать ключь доступа к серверу.
Ключ надо без мягкого знака
Остальные сервера-клиенты устанавливаем/настраиваем также.
В данном контексте "так же" - раздельно
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

Аватара пользователя
tango
Access Forbidden
Сообщения: 247
Зарегистрирован: 2007-12-15 17:41:18
Откуда: Санкт- Петербург
Контактная информация:

Re: статья об OSSEC

Непрочитанное сообщение tango » 2008-07-06 22:10:43

Исправила. :)

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Re: статья об OSSEC

Непрочитанное сообщение schizoid » 2008-07-21 12:33:58

Код: Выделить всё

    <!-- Directories to check  (perform all possible verifications) -->
    <directories check_all="yes">/etc,/usr/bin,/usr/sbin</directories>
    <directories check_all="yes">/bin,/sbin</directories>
    <directories check_all="yes">/usr/bin,/usr/sbin</directories>
Дублируется /usr/bin,/usr/sbin

Код: Выделить всё

# tar -zxvf ossec-wui-0.3.tar.gz
# mv ossec-wui-0.3 /usr/local/www/ossec-wui
тогда нужно и поправить в .htpasswd путь.
ядерный взрыв...смертельно красиво...жаль, что не вечно...

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Re: статья об OSSEC

Непрочитанное сообщение schizoid » 2008-07-21 15:05:00

чета с веб-мордой никак не сростается :(
пишет: No agent available.

хотя tcpdump'ом на сервере

Код: Выделить всё

15:03:05.796640 IP 192.168.0.150.65089 > 192.168.0.90.1514: UDP, length 89
15:03:09.205469 IP 192.168.0.150.65089 > 192.168.0.90.1514: UDP, length 209
15:03:09.207984 IP 192.168.0.150.65089 > 192.168.0.90.1514: UDP, length 233
15:03:09.210990 IP 192.168.0.150.65089 > 192.168.0.90.1514: UDP, length 233
15:03:09.213462 IP 192.168.0.150.65089 > 192.168.0.90.1514: UDP, length 233
15:03:09.216956 IP 192.168.0.150.65089 > 192.168.0.90.1514: UDP, length 233
15:03:09.222498 IP 192.168.0.150.65089 > 192.168.0.90.1514: UDP, length 233
где, 192.168.0.90 - сервер, 192.168.0.150 - клиент
ядерный взрыв...смертельно красиво...жаль, что не вечно...

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Re: статья об OSSEC

Непрочитанное сообщение schizoid » 2008-07-22 9:13:15

такс, хз что было. утром пришел - работает. вчера промучился часа 2 наверна.
фирефокс как-то криво с ним работает. к примеру вот вроде все есть, через пару мин смотришь - снова No agent available. Несколько раз обновился - появилось...
Конкурер вроде по-лучше отрабатывает, но тоже бывают заскоки...
ядерный взрыв...смертельно красиво...жаль, что не вечно...

on-lite
проходил мимо
Сообщения: 3
Зарегистрирован: 2014-02-25 15:14:25

Re: статья об OSSEC

Непрочитанное сообщение on-lite » 2014-05-26 15:20:59

У меня никак не хочет стартовать :(
пишет
root@PROXY:/ # /usr/local/etc/rc.d/ossec-hids start
Starting OSSEC HIDS v2.7.1 (by Trend Micro Inc.)...
Deleting PID file '/usr/local/ossec-hids/var/run/ossec-logcollector-68448.pid' n
ot used...
Started ossec-maild...
ossec-execd already running...
Started ossec-analysisd...
Started ossec-logcollector...
Started ossec-remoted...
2014/05/26 16:18:23 ossec-syscheckd(1210): ERROR: Queue '/usr/local/ossec-hids/q
ueue/ossec/queue' not accessible: 'Queue not found'.
2014/05/26 16:18:38 ossec-rootcheck(1210): ERROR: Queue '/usr/local/ossec-hids/q
ueue/ossec/queue' not accessible: 'No such file or directory'.
2014/05/26 16:18:49 ossec-syscheckd(1210): ERROR: Queue '/usr/local/ossec-hids/q
ueue/ossec/queue' not accessible: 'Queue not found'.
2014/05/26 16:19:04 ossec-rootcheck(1210): ERROR: Queue '/usr/local/ossec-hids/q
ueue/ossec/queue' not accessible: 'No such file or directory'.
2014/05/26 16:19:20 ossec-syscheckd(1210): ERROR: Queue '/usr/local/ossec-hids/q
ueue/ossec/queue' not accessible: 'Queue not found'.
2014/05/26 16:19:35 ossec-rootcheck(1211): ERROR: Unable to access queue: '/usr/
local/ossec-hids/queue/ossec/queue'. Giving up..
ossec-syscheckd did not start correctly.
root@PROXY:/ #