Осьминожка (программное обеспечение)

Программное обеспечение для анализа журналов
Осьминожка
Разработчик(и)Себастьен Тебер и другие
Первоначальный выпускДекабрь 2005 г. [1]
Стабильный релиз
1.0.16 / 3 июня 2017 г. ; 7 лет назад [2] ( 2017-06-03 )
Репозиторий
  • github.com/Octopussy-Project/Octopussy
Написано вPerl , ASP
Операционная системалинукс
ТипАнализ журналов , программное обеспечение безопасности
ЛицензияGPLv2
Веб-сайтосьминожка.pm

Octopussy , также известный как 8Pussy , — это бесплатное программное обеспечение с открытым исходным кодом , которое отслеживает системы, постоянно анализируя данные системного журнала , которые они генерируют и передают на центральный сервер Octopussy (поэтому его часто называют решением SIEM ). [3] Таким образом, такое программное обеспечение, как Octopussy, играет важную роль в поддержании системы управления информационной безопасностью в средах, соответствующих стандарту ISO/IEC 27001 .

Octopussy имеет возможность контролировать любое устройство, поддерживающее протокол syslog , например , серверы , маршрутизаторы , коммутаторы, брандмауэры , балансировщики нагрузки , а также его важные приложения и службы . Основная цель программного обеспечения — оповещать администраторов и пользователей о различных типах событий, таких как сбои в работе системы, атаки на системы или ошибки в приложениях. [4] Однако, в отличие от Nagios или Icinga , Octopussy не является средством проверки состояния , и поэтому проблемы не могут быть решены в приложении. Программное обеспечение также не дает никаких предписаний относительно того, какие сообщения должны/не должны анализироваться. Таким образом, Octopussy можно рассматривать как менее мощное, чем другое популярное коммерческое программное обеспечение в той же категории (мониторинг событий и анализ журналов). [5]

Octopussy совместим со многими дистрибутивами Linux , такими как Debian , Ubuntu , OpenSUSE , CentOS , RHEL и даже метадистрибутивами, такими как Gentoo или Arch Linux . Хотя Octopussy изначально был разработан для работы на Linux, его можно портировать на другие варианты Unix, такие как FreeBSD, с минимальными усилиями. Octopussy имеет обширные функции генерации отчетов, а также различные интерфейсы для другого программного обеспечения, например, NSCA (Nagios), Jabber/XMPP и Zabbix . С помощью такого программного обеспечения, как Snare, можно обрабатывать даже журналы событий Windows . [6]

Octopussy распространяется в соответствии с условиями GNU General Public License .

Характеристики

Хотя Octopussy является бесплатным программным обеспечением с открытым исходным кодом, оно обладает рядом характеристик, которые также встречаются в некоторых профессиональных корпоративных приложениях, таких как Splunk , SAWMILL или Kiwi Syslog.

Скриншот веб-интерфейса Octopussy, отображающий панель управления с наиболее важной обобщенной информацией.
Страница панели инструментов в Octopussy 0.9.4+ (2007-2014)

Особенности осьминожка

На момент написания статьи Octopussy обладал следующим набором функций:

  • Базовая поддержка LDAP ( v 1.0+) для пользователей Octopussy и контактов с механизмом фильтрации
  • Отправка оповещений по электронной почте, через IM (Jabber), NSCA (Nagios) и Zabbix
  • Функциональность карты для отображения системной инфраструктуры, известной Octopussy
  • Экспортируемые отчеты по электронной почте, FTP и SCP
  • Плагины ввода и вывода для ручных и автоматических отчетов
  • Планирование отчетов и автоматическое формирование отчетов на основе параметров
  • Просмотрщик журналов для поиска сообщений syslog, полученных Octopussy
  • Инструмент RRD для предоставления графического представления данных активности системного журнала для включенных служб
  • Комплексные определения служб (Apache 2, BIND, BSD Kernel ...)
  • Мастер для простого создания новых сервисов и/или шаблонов сообщений для существующих сервисов
  • Возможность включения или отключения служб и оповещений для каждой контролируемой системы
  • Онлайн-обновления для сервисов, таблиц и l18n (языковая поддержка)
  • Поддержка нескольких языков: английский, французский, немецкий, итальянский, испанский, португальский, русский.
  • Веб-интерфейс для просмотра текущего состояния устройств, оповещений, сообщений журнала и т. д.
  • Тематический интерфейс и отчетные документы
  • Управляемость основных служб Octopussy из оболочки операционной системы
  • Файлы конфигурации в формате простого текста (интегрируются со многими редакторами конфигурации)
  • Возможность своевременной ротации и хранения полученных сообщений системного журнала в различных местах
  • Управление пользователями с возможностью детальной настройки разрешений
  • Простая структура стилей и компонентов графического интерфейса в ASP для легкой модификации

Поддерживаемые услуги

Некоторые из (мета-)сервисов , поддерживаемых/известных Octopussy:

Apache 2, BIND, ядро ​​BSD, BSD PAM, система BSD, маршрутизаторы Cisco (ASR), коммутаторы Cisco, ClamAV, обратный прокси-сервер DenyAll, DRBD, F5 BigIP, Fortinet FW, HP-Tools, Ironport MailServer, Juniper Netscreen FW, Juniper Netscreen NSM, LDAP, Linux AppArmor, Linux Auditd, Linux IPTables, ядро ​​Linux, Linux PAM, система Linux, Monit, MySQL, Nagios, Neoteris/Juniper FW, NetApp NetCache, Postfix, PostgreSQL, Samba, Samhain, SNMPd, Squid, SSHd, Syslog-ng, TACACS, VMware ESX(i), Windows Snare Agent, система Windows, Xen ... [7]

Скриншот веб-интерфейса Octopussy, отображающий средство просмотра оповещений с текущими сообщениями об инцидентах.
Страница просмотра оповещений в Octopussy 0.9.4+ (2007-2014)

Обрабатываемые события

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

  • Неудачные и/или успешные входы в систему, особенно пользователей с более высокими привилегиями
  • Нарушение прав доступа или политик в приложениях и операционных системах
  • Доступ для записи и/или чтения в критических средах, например, с AppArmor или SELinux
  • Установленные или завершенные VPN-туннели в таких системах, как Juniper Netscreen
  • Объекты, такие как процессы или файлы, контекст безопасности или конфигурация которых были изменены
  • Запускал или останавливал процессы на уровне операционной системы
  • Критические состояния системы, такие как (неустранимый) сбой оборудования или программного обеспечения
  • Изменение состояния операционной системы из-за загрузки, перезагрузки или выключения
  • Информация о сетевых подключениях/трафике, включая сообщения ICMP и т. д.
  • Обнаружение или иная обработка вредоносного ПО (т. е. червей, вирусов, троянов)

Зависимости

Программное обеспечение требует установки RSYSLOG на сервере syslog и ожидает, что отслеживаемые системы будут запускать одну из многочисленных доступных служб syslog, например, syslogd /klogd, RSYSLOG или syslog-ng. [8]

Программное обеспечение также зависит от установленного Apache 2 HTTP Server с Apache::ASP, Mod_Perl и Mod_SSL. Octopussy также требует MySQL DBMS (фактическая база данных устанавливается/копируется во время установки Octopussy), а также установленный в операционной системе последний интерпретатор Perl с различными модулями Perl из CPAN (например, Crypt::PasswdMD5, DBD::mysql, JSON , Unix::Syslog, XML ::Simple). [9] Полный список этих модулей можно найти в файле README.txt пакетов/архивов программного обеспечения . Кроме того, требуются NSCD и RRDtool. RRDtool помогает в создании графиков, которые будут отображаться на панели инструментов Octopussy или показаны на уровне каждого устройства/службы. [10]

Архитектура

Изображение, демонстрирующее архитектуру программного обеспечения Octopussy, включая его наиболее важные компоненты.
Архитектура Octopussy 1.0.14 (2014)

Octopussy получает сообщения syslog через протокол syslog и, следовательно, ведет себя пассивно, не запуская никаких сетевых агентов на удаленных машинах, находящихся под мониторингом / наблюдением . [11] Octopussy полностью соответствует RFC 3164 и RFC 3195 IETF , описывающим syslog как механизм ведения журнала в операционных системах Unix/BSD. [12] [13] Это особенно касается внутреннего представления объекта и принципа серьезности , где это применимо.

Программное обеспечение управляется полу -состоянным движком корреляции событий . Это означает, что движок записывает и, таким образом, знает свое внутреннее состояние, но использует его только в некоторой степени для связывания логически связанных элементов для одного и того же устройства, чтобы сделать вывод (т. е. сгенерировать оповещение). В Octopussy полу-состоянный движок корреляции с его так называемым скользящим окном (сдвигающееся окно является логической границей ряда событий в течение определенного периода времени) способен сравнивать известные прошлые события с настоящими на основе ограниченного числа сравнительных значений.

Диспетчер осьминожек

Octo-Dispatcher — это компонент, используемый программным обеспечением Octopussy для получения строк syslog из RSYSLOG и отправки их в каталоги устройств. [14] Каждое устройство, зарегистрированное и активированное в Octopussy, получает свои сообщения syslog, назначенные ему в зависимости от имени устройства. Также следует отметить смежный компонент Octo-Replay, который является программой, используемой программным обеспечением Octopussy для воспроизведения сообщений журнала для некоторого устройства или службы (она получает и обрабатывает распознанные журналы и помещает их обратно во входящий каталог).

Octopussy Парсер

Octo-Parser и Octo-Uparser — два важнейших основных компонента Octopussy. Octo-Parser — это программа, используемая программным обеспечением Octopussy для разбора журналов в формате syslog для каждого устройства, зарегистрированного в Octopussy. [15] В основном он использует движок регулярных выражений и начинает сопоставление с шаблоном входящих сообщений syslog. Octo-Uparser перезапускается каждый раз при изменении служб устройства, чтобы проверить, можно ли связать ранее полученные «неизвестные» сообщения журнала со службой.

В некоторых случаях Octo-Pusher также вызывается заранее для обработки не-syslog сообщений, поступающих с некоторых устройств. В этом отношении настройка устройства "асинхронный" полезна для обработки таких сообщений журнала после того, как они были отправлены на сервер Octopussy с помощью, например, FTP, rsync или SSH/SCP.

Скриншот веб-интерфейса Octopussy, отображающий график RRD с совокупными данными сообщений устройства.
Страница графика RRD в Octopussy 0.9.4+ (2007-2014)

Интерфейс осьминожка

Интерфейс Octopussy ( GUI ) является пользовательским интерфейсом по умолчанию и обеспечивает управление конфигурацией , управление устройствами и службами, а также определение оповещений и, следовательно, расширяет основные компоненты Octopussy. Устройства отображаются в табличной форме на странице «Устройства» со следующими минимальными дескрипторами: имя хоста , IP-адрес , тип журнала, модель/тип устройства, полное доменное имя и ОС .

Таким образом, интерфейс (Octo-Web) в основном обеспечивает доступ к другим основным компонентам Octopussy, таким как Octo-Commander, Octo-Message-Finder, Octo-Reporter и Octo-Statistic-Reporter. Интерфейс Octopussy/GUI написан на Perl 5, используя Apache::ASP для структурирования и отображения контента. [16]

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

Осьминожка RRD

Генератор графиков Octopussy RRD является основным компонентом программного обеспечения и устанавливается по умолчанию. Поскольку генерация таких графиков очень ресурсоемка, администраторы могут отключить его на сервере syslog Octopussy с менее мощным ЦП и небольшим объемом оперативной памяти . Сгенерированные графики RRD отображают активность всех активных служб для отслеживаемых устройств, в значительной степени зависящую от конкретной службы. После перезапуска программного обеспечения Octopussy или во время работы Octo-Dispatcher и Octo-Parser всегда будут обрабатывать сообщения syslog в своем буфере и очереди в первую очередь, а генерация графика RRD задерживается. [17] Octo-RRD также зависит от Octo-Scheduler для выполнения функции Octopussy::Report с целью генерации графиков RRD активности syslog, которые были запланированы ранее. Наконец, Octo-Sender имеет возможность отправлять данные отчетов произвольным получателям.

Расширения

В Octopussy есть система плагинов / модулей , которая в основном ориентирована на модификацию отчетов Octopussy. Такой плагин состоит из файла описания, который определяет имя и функции плагина, и файла кода с кодом perl для обработки фактических данных. [18]

Существуют также расширения для программного обеспечения, связанного с Octopussy, например, плагин Nagios , который проверяет основные службы Octopussy (т. е. Octo-Dispatcher, Octo-Scheduler и т. д.), а также состояния парсера Octopussy и разделы журнала. [19]

Услуги и модели

Создание новых сервисов и шаблонов сервисов представляет собой наиболее важный способ расширения Octopussy без внесения изменений в исходный код. Однако, поскольку шаблоны представлены в виде упрощенных регулярных выражений , администраторы должны иметь хотя бы некоторые базовые знания о регулярных выражениях в целом. Кроме того, настоятельно рекомендуется опираться на уже существующие сервисы, а также понимать значение основных полей объектов сообщений, которые являются идентификатором сообщения, шаблоном, уровнем журнала, таксономией, таблицей и рангом. [20]

Обычно мастер журналов используется для поиска в системе нераспознанных сообщений syslog на каждом устройстве для генерации новых шаблонов обслуживания. В ходе процесса создание шаблонов должно осуществляться таким образом, чтобы Octopussy мог различать сообщения на основе их серьезности и таксономии . [21]

Смотрите также

Ссылки

  1. ^ "Подробный журнал изменений Octopussy". octopussy.pm, S. Thebert и др. 2014-04-15. Архивировано из оригинала 2016-03-07 . Получено 2017-03-21 .
  2. ^ "Новости Octopussy - Выпуск Octopussy v1.0.16!". octopussy.pm, S. Thebert и др. 2017-06-03 . Получено 2017-11-03 .
  3. ^ "Octopussy – Perl/XML Logs Analyzer, Alerter & Reporter". ubuntugeek.com, ruchi . Получено 23.03.2017 .
  4. ^ "Журналы Octopussy 1.0.0 überwacht" . Linux Magazin, Матиас Хубер. 14 ноября 2011 года . Проверено 23 марта 2017 г.
  5. ^ "Octopussy - Введение". gentoo-en.vfose.ru, Cyberwizzard и др . Получено 23.03.2017 .[ постоянная мертвая ссылка ]
  6. ^ "Часто задаваемые вопросы по Octopussy - Как мне работать с хостами Windows?". octopussy.pm, S. Thebert и др . Получено 23.03.2017 .
  7. ^ "Octopussy – Perl/XML Logs Analyzer, Alerter & Reporter". ubuntugeek.com, ruchi . Получено 23.03.2017 .
  8. ^ "Пошаговая процедура установки Octopussy (RSyslog Server) в Ubuntu". vulpoint.be, Js Op de Beeck . Получено 23.03.2017 .
  9. ^ "Поисковый сайт CPAN - search.cpan.org". cpan.org . Получено 2017-03-21 .
  10. ^ "Octopussy". gentoo-en.vfose.ru, Cyberwizzard и др . Получено 23.03.2017 .[ постоянная мертвая ссылка ]
  11. ^ "Настройка устройств для отправки сообщений syslog в Octopussy". github.com, S. Thebert . Получено 23.03.2017 .
  12. ^ "Протокол BSD syslog". IETF, Сетевая рабочая группа . Получено 24.03.2017 .
  13. ^ "Надежная доставка для syslog". IETF, D. New, MT Rose . Получено 24.03.2017 .
  14. ^ "Octopussy - Octo-Dispatcher Octopussy". github.com, S. Thebert . Получено 23.03.2017 .
  15. ^ "Octopussy - Octo-Parser Octopussy". github.com, S. Thebert . Получено 23.03.2017 .
  16. ^ "Octopussy - Octopussy Binaries". github.com, S. Thebert . Получено 23.03.2017 .
  17. ^ "Octopussy - Octopussy-RRD". github.com, S. Thebert . Получено 23.03.2017 .
  18. ^ "Octopussy Plugin Howto". octopussy.pm, S. Thebert . Получено 24.03.2017 .
  19. ^ "Nagios Exchange - плагин Nagios, который проверяет Octopussy (check_octopussy.pl)". nagios.org/nagiosexchange . Получено 24.03.2017 .
  20. ^ "Часто задаваемые вопросы об Octopussy - Что такое сообщение в Octopussy?". octopussy.pm, S. Thebert . Получено 24.03.2017 .
  21. ^ "Учебник Octopussy: Создание новой службы". octopussy.pm, S. Thebert . Получено 23.03.2017 .
  • Официальный сайт
  • Осьминожка на GitHub
  • Документация Octopussy на GitHub
  • Осьминожка на SourceForge
Взято с "https://en.wikipedia.org/w/index.php?title=Octopussy_(программное обеспечение)&oldid=1115089148"