AOL опублікував систему індексації мережевого трафіку Moloch 2.3
Компанія AOL випустила реліз системи для захоплення, зберігання та індексації мережних пакетів Moloch 2.3, що надає інструменти для наочної оцінки потоків трафіку та пошуку пов'язаної з мережевою активністю інформації. Код написаний мовою Сі (інтерфейс на Node.js/JavaScript) та поширюється під ліцензією Apache 2.0 Підтримується робота в Linux та FreeBSD. Готові пакети підготовлені для різних версій CentOS та Ubuntu.
Проект був створений у 2012 році з метою створення відкритої заміни комерційної платформи обробки мережевих пакетів, здатної масштабуватись до рівня обсягів трафіку AOL. Впровадження нової системи в AOL дозволило досягти повного контролю за інфраструктурою за рахунок розгортання на своїх серверах і значно знизити витрати - застосування Moloch для повного захоплення трафіку у всіх мережах AOL за витратами обійшлося в суму, аналогічну тій, що при застосуванні комерційного рішення раніше витрачалася на захоплення трафіку лише в одній мережі. Система може масштабуватися для обробки трафіку на швидкостях десятки гігабіт в секунду. Об'єм даних, що зберігаються, обмежується тільки розміром наявного дискового масиву.
Метадані про сеанси індексуються в кластері на базі двигуна Elasticsearch.
Moloch включає інструменти для захоплення та індексації трафіку у штатному форматі PCAP, а також для швидкого доступу до проіндексованих даних. Для аналізу накопиченої інформації пропонується web-інтерфейс, що дозволяє виконувати навігацію, пошук та експорт вибірок. Також надається API, що дозволяє передавати в сторонні програми дані про захоплені пакети у форматі PCAP і розібрані сеанси у форматі JSON. Застосування формату PCAP значно спрощує інтеграцію з існуючими аналізаторами трафіку, такими як Wireshark.
Moloch складається з трьох базових компонентів:
Система захоплення трафіку — багатопотоковий додаток на мові Сі для моніторингу трафіку, запису дампів у форматі PCAP на диск, аналізу захоплених пакетів і відправлення метаданих про сеанси (SPI, Stateful packet inspection) і протоколи в кластер Elasticsearch. Можливе зберігання PCAP-файлів у зашифрованому вигляді.
Web-інтерфейс на базі платформи Node.js, який запускається на кожному сервері захоплення трафіку та обробляє запити, пов'язані з доступом до проіндексованих даних та передачі PCAP-файлів через API.
Сховище метаданих на основі Elasticsearch.
У web-інтерфейсі передбачено кілька режимів перегляду - від загальної статистики, карти з'єднань і наочних графіків з даними про зміну мережної активності до інструментів для вивчення окремих сеансів, аналізу активності в розрізі протоколів, що використовуються, і розбору даних з PCAP-дампів.