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, всю информацию о возможностях и функционале можно взять с официального сайта, или посмотреть в этом ролике:[embedded content]Стоит заметить, у 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, если есть желание, регистрируемся по ссылке www.alienvault.com/my-account/customer/signup и вводим токен: Далее видим всплывающее окно следующего содержания: Нажимаем 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://www.ossec.net/? page_id=19' --header 'Connection: keep-alive' 'http://www.ossec.net/files/ossec-hids-2.8.tar.gz' -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 мы будем осуществлять следующим образом: Создадим хост с ОС Debian 6 Подключим к нему и настроим Wi-Fi карту Установим и настроим kismet Настроим на OSSIM OpenVPN сервер Сконфигурируем связь между OSSIM и Debian 6 Настроим отправку и запись логов в rsyslog Включим плагин kismet Настроим импорт по крону логов в формате XML из kismet-а Добавим новый сенсор в OSSIM Проверим работоспособность решения Настройка виртуальной машины Для установки беспроводной IDS системы нам потребуется хост с предустановленным Debian 6.Создаём новую виртуальную машину на ESXi и добавляем туда USB контроллер и USB Wi-Fi карту: Теперь добавим устройство: Сохраняем: В данном примере используется USB Wi-Fi карта TOTOLink N500UD.Установка и настройка Debian Устанавливаем Debian 6. Все настройки на своё усмотрение, установка Debian стандартная, поэтому в этом мануале опущена.После установки ОС, подключаемся к SSH и установим драйвера сетевой карты: wget http://totolink.ru/files/soft/N500UD_Linux_V2.6.1.3.zip 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.Для сбора логов нам необходимо произвести следующие действия: Настроить отправку логов с хостов в OSSIM Посмотреть, из какого файла плагин OSSIM, обрабатывающий события, считывает логи Настроить запись логов с хостов в отдельные файлы, через конфигурацию rsyslog Включить плагин Проверить работоспособность 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 появится уже распарсенные, скоррелированные логи: Использованные источники