...

пятница, 10 апреля 2015 г.

OSSIM — разворачиваем лучшую комплексную open source систему управления безопасностью



OSSIM (Open Source Security Information Management) — система управления, контроля и обеспечения информационной безопасности.

OSSIM «из коробки» включает в себя такой функционал как:


  • Сбор анализ и корреляция событий — SIEM

  • Хостовая система предотвращения вторжений (HIDS) — OSSEC

  • Сетевая система предотвращения вторжений (NIDS) — Suricata

  • Беспроводная система предотвращения вторжений (WIDS) — Kismet

  • Мониторинг узлов сети- Nagios

  • Анализ сетевых аномалий – P0f, PADS, FProbe, Arpwatch и др.

  • Сканер уязвимостей – OpenVAS

  • Мощнейшая система обмена информацией об угрозах между пользователями OSSIM — OTX

  • Более 200 плагинов для парсинга и корреляции логов со всевозможных внешних устройств и служб




И это далеко не всё, что умеет делать OSSIM, установка которого займёт не более 15 минут, в чём Вы можете убедиться сами!



Предисловие




В данной статье речь пойдёт в первую очередь об установке, первичной настройке и конфигурации OSSIM, всю информацию о возможностях и функционале можно взять с официального сайта, или посмотреть в этом ролике:



Стоит заметить, у AlienVault есть 2 продукта, бесплатный OSSIM и более продвинутая версия — USM, различия можно посмотреть по этой ссылке.

В качестве бонуса последней главой статьи выложил информацию об интеграции OSSIM с SIEM системой ArcSight.

Оглавление




Установка OSSIM

Настройка OSSIM

Использованные источники

Установка OSSIM




Установка open source SIEM системы осуществляется с помощью готового установочного образа, содержащего в себе операционную систему Debian и все необходимые предустановленные компоненты и модули.

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

Установку мы будем проводить на VMware ESXi.
Настройка ESXi



Для начала необходимо сконфигурировать сам ESXi, а именно настроить интерфейс, работающий в «неразборчивом» режиме (Promiscuous mode). Данный режим нам нужен для настройки мониторинга сети. В OSSIM эту роль выполняет Suricata.

Для этого откроем настройки хоста, выберем настройки сети:



Теперь добавляем новую конфигурацию:



Настраиваем всё, как на скриншотах ниже:













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







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



Оперативной памяти, желательно, поставить больше. Минимальный размер, до которого всё работает более-менее стабильно и без подтормаживаний – 3GB.



1 интерфейс для управления OSSIM, 1 для Network IDS Suricata, один для OpenVAS (не обязательный).



На этом конфигурация виртуальной машины закончена.
Установка



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



Теперь установим OSSIM. Установка ничем не отличается от установки Debian, только пунктов в установке гораздо меньше.

Настройки языка:



Настройки сети:



Настройка учётной записи:



Настройка времени:



Настройка совсем проста, поэтому для краткости некоторые скриншоты опущены.

После ввода всех настроек начнётся установка.



На этапе «Запуск cdsetup…» установка может остановиться на некоторое время, так и должно быть, дождитесь окончания установки.

По окончанию появится консоль:



Заходим по ссылке, указанной в консоли и вводим учётные данные:



На этом установка закончена.

Настройка OSSIM




Для настройки OSSIM были сконфигурированы 3 операционные системы: Windows server 2008 R2, Windows 7 SP1, Ubuntu 14.04 LTS, которые мы, непосредственно и будем подключать к мониторингу. Помимо этого, мы настроим беспроводную IDS систему, основанную на Kismet, используя в качестве «сенсора» хост с предустановленной ОС Debian 6.

Мастер настройки



Вводим учётные данные, указанные в предыдущем пункте настройки:



И перед нами открывается окно мастера настройки:



Конфигурируем интерфейсы:



На следующем пункте OSSIM автоматически просканирует сеть и предложит указать тип найденных узлов, в нашем случае удалено всё, что не относится к тестовому стенду:



На следующем этапе можно автоматически установить хостовую систему обнаружения вторжений (OSSEC). Попробуем установить её для Windows Server. Вводим учётные данные и нажимаем «DEPLOY»:







В случае успеха:



Производить то же самое для Linux не рекомендую, т.к. в этом случае OSSEC будет работать без агента (Agentless).

На следующем этапе нам предлагают настроить мониторинг логов, этот пункт мы пропускаем и вернёмся к нему позже, в соответствующей главе:



На последнем пункте нам предложат присоедениться к OTX, если есть желание, регистрируемся по ссылке http://ift.tt/1cgnsUg и вводим токен:





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



Нажимаем Explore Alienvault OSSIM и на этом работа менеджера настройки закончена.
Настройка почтовых уведомлений



В OSSIM есть раздел «Alarm», в котором отображены скоррелированные события безопасности, однако по таким событиям получать уведомления не получится. Зато в системе есть раздел «Tickets», в котором по каждому событию или событиям можно открыть задачу.

«Тикеты» могут создаваться вручную специалистом или автоматически при попадании событий из логов «Security Events (SIEM)» в «Alarms», в случае автоматического открытия «тикета», OSSIM может автоматически отправлять уведомления, чего мы сейчас и настроим.

Настройка почтовых уведомлений проходит в 2 этапа, во первых необходимо настроить postfix, во вторых включить отправку уведомлений.

Открываем SSH и подключаемся к OSSIM:



Выбираем пункт Jailbreak System и попадаем в консоль, вводим:

sed -i -e "s@mailserver_relay=no@mailserver_relay=my.corporate.mail.server@" /etc/ossim/ossim_setup.conf
echo relayhost = my.corporate.mail.server:25 >> /etc/postfix/main.cf
service postfix restart




Примечание: вместо my.corporate.mail.server укажите свой почтовый сервер, при необходимости настройки любых других параметров postfix (авторизвция, защищённое соединение и т.п.) – смотрите документацию по postfix.

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



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



В роли хостовой системы предотвращения вторжений в OSSIM выступает не безызвестный OSSEC, настройку которого мы разберём далее.

Для настройки HIDS переходим в Environment -> Detection -> HIDS -> Agents и видим 2 хоста, первый непосредственно сам AlienVault, второй – Windows Server, который мы установили на пункте «Deploy HIDS» в разделе «Мастера настройки». Заходим в меню агентов HIDS:



Добавим Windows 7 и Ubuntu:


Windows



Для установки HIDS можно использовать режим автоматической установки или скачать готовый exe файл .

Установка в автоматическом режиме не отличается от той, что мы уже делали:



При установке в ручном режиме, с помощью exe файла, OSSEC агент установится в «1 клик», без ввода каких-либо дополнительных параметров:



В случае успеха мы увидим:


Ubuntu



Теперь настроим Ubuntu, подключаемся по SSH и установим OSSEC:

sudo -s
apt-get install curl
curl --header 'Host: www.ossec.net' --header 'User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:31.0) Gecko/20100101 Firefox/31.0' --header 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' --header 'Accept-Language: en-US,en;q=0.5' --header 'DNT: 1' --header 'Referer: http://ift.tt/1qgHPSQ' --header 'Connection: keep-alive' 'http://ift.tt/1IPA6n4' -o 'ossec-hids-2.8.1.tar.gz' –L




Примечание: через wget загрузка не работает, на стороне сервера ossec.net проверяется User-Agent.

tar xzf ossec-hids-2.8.1.tar.gz
cd ossec-hids-2.8/
/bin/bash ./install.sh







Примечание: пункт 3.4, режим активной защиты (IPS вместо IDS) включайте осторожно, в данном случае мы используем только режим детектирования, поэтому оставляет «n» вместо «y».

Теперь получим ключ, для этого возвращаемся обратно в меню агентов HIDS и кликаем на :



Запустим настройку с помощью утилиты /var/ossec/bin/manage_agents, нажимаем I, вводим ключ и выходим(Q):



Перезагрузим OSSEC:



service ossec restart




В случае успеха мы увидим «Active» напротив хоста:



Если какой-либо агент не появился, как активный в списке, можно перезагрузить OSSEC, для этого подключаемся по SSH к OSSIM и производим следующие действия:







На этом установка HIDS закончена, теперь на закладке Environment -> Detection можно увидеть логи OSSEC:


Настройка WIDS



Установку WIDS мы будем осуществлять следующим образом:


  1. Создадим хост с ОС Debian 6

  2. Подключим к нему и настроим Wi-Fi карту

  3. Установим и настроим kismet

  4. Настроим на OSSIM OpenVPN сервер

  5. Сконфигурируем связь между OSSIM и Debian 6

  6. Настроим отправку и запись логов в rsyslog

  7. Включим плагин kismet

  8. Настроим импорт по крону логов в формате XML из kismet-а

  9. Добавим новый сенсор в OSSIM

  10. Проверим работоспособность решения


Настройка виртуальной машины



Для установки беспроводной IDS системы нам потребуется хост с предустановленным Debian 6.

Создаём новую виртуальную машину на ESXi и добавляем туда USB контроллер и USB Wi-Fi карту:







Теперь добавим устройство:





Сохраняем:



В данном примере используется USB Wi-Fi карта TOTOLink N500UD.
Установка и настройка Debian



Устанавливаем Debian 6. Все настройки на своё усмотрение, установка Debian стандартная, поэтому в этом мануале опущена.

После установки ОС, подключаемся к SSH и установим драйвера сетевой карты:

wget http://ift.tt/1cgnsUj
apt-get install unzip
unzip N500UD_Linux_V2.6.1.3.zip
apt-get install build-essential
apt-get install linux-headers-$(uname -r)
make
make install
aptitude install wireless-tools
apt-get install ssh openvpn kismet ntp
reboot




После этого проверяем наличие нового интерфейса в iwconfig:



Настроим отправку логов из Debian в OSSIM:

echo "*.* @10.67.68.1" > /etc/rsyslog.d/wids_alienvault.conf




IP адрес не меняйте, он таким и должен быть. Это IP адрес OpenVPN сервера, который будет впоследствии поднят в OSSIM.

Теперь создадим скрипт /etc/init.d/wids_alienvault.sh следующего содержания:

#!/bin/sh
/usr/bin/kismet_server -l xml -t kismet -f /etc/kismet/kismet.conf 2>&1 | logger -t kismet -p local7.1




Дадим ему права на запуск:

chmod 755 /etc/init.d/wids_alienvault.sh




И впишем его на автозагрузку в /etc/rc.local до exit 0:



Теперь настроим kismet.

В файле /etc/kismet/kismet.conf

Сначала настроим адаптер:

source=rt2500,ra0,ra0-wids




Название чипсета можно посмотреть командой:

lsmod | grep ^usbcore




Настроим время создания XML отчёта:

logexpiry=3600




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

logdefault=10.67.68.10
logtemplate=/var/log/kismet/%n_%D-%i.%l




после перезагрузимся:

reboot


Настройка OpenVPN



Подключаемся к OSSIM по SSH, выбираем пункт «Jailbreak system» и вводим комманду:

alienvault-reconfig --add_vpnnode=WIDS-Sensor




Возвращаемся к Debian и копируем сконфигурированный архив OpenVPN с настройками:

scp root@10.1.193.123:/etc/openvpn/nodes/WIDS-Sensor.tar.gz ~




Применим конфиг:

tar xzf WIDS-Sensor.tar.gz
rm -f WIDS-Sensor.tar.gz
mv * /etc/openvpn/




Проверим OpenVPN:

/etc/init.d/openvpn restart
Ifconfig tun0






Настройка Kismet



Переходим обратно в OSSIM.

Настроим rsyslog:

echo if \$programname contains \'ismet\' then /var/log/kismet.log >> /etc/rsyslog.d/kismet.conf
echo \& \~ >> /etc/rsyslog.d/kismet.conf
service rsyslog restart




Изменим путь к файлу, из которого плагин будет забирать логи:

sed –i –e "s@/var/log/syslog@/var/log/kismet.log@" /etc/ossim/agent/plugins/kismet.cfg




Теперь включим плагин, который будет обрабатывать логи kismet, для этого командой exit выходим в меню OSSIM и включаем плагин:









Если всё сделано верно, мы увидим логи в «Analysis -> Security Events (SIEM)»:


Настройка импорта XML логов



Теперь осталось настроить импорт логов формата XML из Debian.

Это необходимо для того, чтобы OSSIM мог получить не только алерты, а все доступные данные о Wi-Fi клиентах и сетях по близости, которые в последствии будут отражены в Environment -> Detection -> Wireless IDS.

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

В OSSIM выполним:

ssh-keygen
ssh-copy-id root@10.67.68.10






Теперь создадим файл /etc/cron.hourly/kismet следующего содержания:

#!/bin/bash
/usr/bin/perl /usr/share/ossim/www/wireless/fetch_kismet.pl




Cкопируем сам скрипт:

cp /usr/share/ossim/www/wireless/kismet_sites.pl /var/ossim/kismet/kismet_sites.pl




И поправим в нём адрес:

echo \$sites{\'10.67.68.10\'}=\'/var/log/kismet\'\; >> /var/ossim/kismet/kismet_sites.pl


Настройка сенсора



Теперь перейдём в веб интерфейс:



Добавим новый сенсор:



Статус сенсора будет с красным крестиком, так и должно быть:



Теперь переходим в Environment -> Detection -> Wireless IDS и добавляем расположение и сенсор:









После выполним команду:

/usr/bin/perl /usr/share/ossim/www/wireless/fetch_kismet.pl




И в случае успеха получим:



И после этого действия в пункте Environment -> Detection -> Wireless IDS появятся данные:


Настройка сбора системных логов



Настроим сбор логов с VMware ESXi, Windows сервера и Ubuntu.

Для сбора логов нам необходимо произвести следующие действия:


  1. Настроить отправку логов с хостов в OSSIM

  2. Посмотреть, из какого файла плагин OSSIM, обрабатывающий события, считывает логи

  3. Настроить запись логов с хостов в отдельные файлы, через конфигурацию rsyslog

  4. Включить плагин

  5. Проверить работоспособность


VMware



Сначала настроим отправку логов в ESXi, для этого открываем расширенные настройки:



И включаем отправку логов по UDP:



После посмотрим, откуда плагин ESXi будет забирать логи

cat /etc/ossim/agent/plugins/vmware-esxi.cfg | grep location






Настроим rsyslog:

echo if \$fromhost-ip == \'10.1.193.76\' then -/var/log/vmware-esxi.log >> /etc/rsyslog.d/esxi.conf
service rsyslog restart




Теперь включим плагин, подключаемся по SSH к OSSIM:











Открываем Analysis -> Security Events (SIEM) и проверяем:


Windows Server



Для отправки логов с Windows, нам потребуется программа Snare, которая позволяет отправлять системные логи в формате syslog-а.

Скачиваем и запускаем:



Включаем web доступ:



Завершаем установку:



Открываем в браузере адрес: localhost:6161

Вводим логин snare, пароль тот, который указывали во время установки, переходим в «Network configuration» и указываем:





После сохраняем настройки, открываем консоль и перезагружаем snare:

net stop snare
net start snare






Проверяем, откуда плагин получает логи:

cat /etc/ossim/agent/plugins/snare.cfg | grep location






Теперь настроим rsyslog. В настройках rsyslog уже есть предустановленный конфиг snare(zzzzz_snare.conf), который мы сейчас немного исправим, руководствуясь форумом OSSIM, заменив всего 1 параметр:

sed -i -e "s@msg@rawmsg@" /etc/rsyslog.d/zzzzz_snare.conf
service rsyslog restart




теперь настроим плагин, по аналогии с настройкой VMware, за исключением выбора самого плагина:



После перезапуска проверим в Analysis -> Security Events (SIEM):


Ubuntu



Для настройки Ubuntu мы будем использовать rsyslog. Подключаемся к Ubuntu по SSH и настраиваем отправку логов в OSSIM:

echo *.* @10.1.193.123 > /etc/rsyslog.d/alienvault.conf
service rsyslog restart




Проверяем, откуда плагин берёт логи:



cat /etc/ossim/agent/plugins/syslog.cfg




Меняем путь к файлу, откуда плагин OSSIM будет получать логи:

sed –i –e "s@/var/log/syslog@/var/log/ubuntusyslog.log@" /etc/ossim/agent/plugins/syslog.cfg




Теперь настроим rsyslog в OSSIM:

echo if \$fromhost-ip == \'10.1.193.77\' then -/var/log/ubuntusyslog.log >> /etc/rsyslog.d/ubuntu.conf
service rsyslog restart




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



Применяем и проверяем:


Примечание



Если после выбора пункта «Apply changes» вы не увидели окно «AlienVault Reconfig»



Перезагрузите OSSIM (в последней версии 4.15.2 периодически появляется такой баг)
Интеграция с ArcSight



Теперь попробуем настроить интеграцию OSSIM с SIEM системой ArcSight.

Подобная связка может сэкономить десятки миллионов на лицензиях ArcSight, если кроме основного офиса у компании есть десятки небольших филиалов, которые необходимо защищать и мониторить.

Цель данного раздела – отправлять в ArcSight уже скоррелированные OSSIM-ом логи, а не коррелировать их на стороне ArcSight, увеличивая нагрузку.

Для этого необходимо установить коннектор (тип коннектора Syslog), добавить следующий FlexAgent:

# FlexAgent Regex Configuration File
do.unparsed.events=true
regex=\\D+ AV-FREE-FEED (\\D+) DST_IP -- SRC_IP: (\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}) , DST_IP: (\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}), Alarm: directive_event: AV-FREE-FEED \\D+ (\\d) (.*)
token.count=5
token[0].name=Event_Name
token[0].type=String
token[1].name=SRC_IP
token[1].type=IPAddress
token[2].name=DST_IP
token[2].type=IPAddress
token[3].name=Dev_Severity
token[3].type=String
token[4].name=Event_Message
token[4].type=String
event.name=Event_Name
event.sourceAddress=SRC_IP
event.destinationAddress=DST_IP
event.deviceSeverity=Dev_Severity
event.message=Event_Message
event.deviceVendor=__getVendor(AlienVault)
event.deviceProduct=__stringConstant(OSSIM)




В папку коннектора и далее в «user\agent\flexagent\syslog». Название файла сделать «ossim.sdkrfilereader.properties»

В файле agent.properties изменить строчку agents[0].customsubagentlist, дописав туда «ossim», пример:

agents[0].customsubagentlist= ossim|ciscopix_syslog|netscreen_syslog|…

и строчку agents[0].usecustomsubagentlist поставить true.

Далее зайти в настройки OSSIM:



И включить отправку alarm в syslog:



После настроить отправку логов в rsyslog OSSIM.

В файле /etc/rsyslog.conf добавить строчку:

*.* ip.вашего.Flex.агента



После этого в коннекторе ArcSight появится уже распарсенные, скоррелированные логи:



Использованные источники




This entry passed through the Full-Text RSS service - if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.


Комментариев нет:

Отправить комментарий