Firma AOL wydanie systemu do przechwytywania, przechowywania i indeksowania pakietów sieciowych , dostarczająca narzędzia do wizualnej oceny przepływów ruchu oraz wyszukiwania informacji związanych z aktywnością sieciową. Kod został napisany w języku C (interfejs w Node.js/JavaScript) i jest udostępniany na licencji Apache 2.0. Obsługuje pracę w systemach Linux i FreeBSD. Gotowe są przygotowane dla różnych wersji CentOS i Ubuntu.
Projekt został stworzony w 2012 roku w celu stworzenia otwartej alternatywy dla komercyjnej platformy przetwarzania pakietów sieciowych, zdolnej do skalowania do poziomów ruchu AOL. Wdrożenie nowego systemu w AOL pozwoliło osiągnąć pełną kontrolę nad infrastrukturą dzięki wdrożeniu na własnych serwerach i znacznie obniżyć koszty — zastosowanie Moloch do pełnego przechwytywania ruchu w całej sieci AOL kosztowało równowartość wydatków ponoszonych wcześniej na przechwytywanie ruchu tylko w jednej sieci. . System może skalować się do przetwarzania ruchu z prędkościami dochodzącymi do kilkudziesięciu gigabitów na sekundę. Ilość przechowywanych danych ograniczona jest jedynie przez rozmiar dostępnej macierzy dyskowej.
Metadane o sesjach są indeksowane w klastrze bazującym na silniku .
Moloch zawiera narzędzia do przechwytywania i indeksowania ruchu w standardowym formacie PCAP, a także do szybkiego dostępu do zaindeksowanych danych. Do analizy zgromadzonych informacji dostępny jest interfejs webowy, który umożliwia nawigację, wyszukiwanie i eksport próbek. Oferowane jest również , które pozwala przesyłać do zewnętrznych aplikacji dane o przechwyconych pakietach w formacie PCAP oraz rozebranych sesjach w formacie JSON. Użycie formatu PCAP znacznie ułatwia integrację z istniejącymi analizatorami ruchu, takimi jak Wireshark.
Moloch składa się z trzech podstawowych komponentów:
- System przechwytywania ruchu — wielowątkowa aplikacja napisana w języku C do monitorowania ruchu, zapisywania zrzutów w formacie PCAP na dysk, analizowania przechwyconych pakietów i przesyłania metadanych o sesjach (SPI, Stateful packet inspection) oraz protokołach do klastra Elasticsearch. Możliwe jest przechowywanie plików PCAP w formie zaszyfrowanej.
- Interfejs webowy oparty na platformie Node.js, który uruchamia się na każdym serwerze przechwytywania ruchu i przetwarza żądania związane z dostępem do zaindeksowanych danych oraz przesyłaniem plików PCAP przez .
- Magazyn metadanych oparty na Elasticsearch.
W interfejsie webowym dostępne są różne tryby wyświetlania — od ogólnej statystyki, map połączeń i przejrzystych wykresów z danymi o zmianach aktywności sieciowej, po narzędzia do analizy poszczególnych sesji, analizy aktywności według używanych protokołów oraz rozkładu danych z zrzutów PCAP.
W :
- Zrealizowano przejście na beztypowy format indexacji w Elasticsearch.
- Dodano przykłady filtrów przechwytywania ruchu w języku Lua.
- Wprowadzono wsparcie dla 46-wersji roboczej protokołu QUIC.
- Przeprojektowano kod do analizy protokołów, co umożliwia pisanie parserów dla protokołów poziomu Ethernet i IP.
- Zapewniono nowe parsery dla protokołów arp, bgp, igmp, isis, lldp, ospf oraz pim, a także parsery dla nieznanych protokołów unkEthernet i unkIpProtocol.
- Dodano opcję selektywnego wyłączania parserów (disableParsers).
- W interfejsie webowym dodano możliwość wyświetlania dowolnego pola całkowitego na wykresach, ustawionego na stronie z ustawieniami.
- Wykresy i nagłówki mogą być teraz przypinane i nie przesuwają się podczas przewijania strony.
- Większość paneli nawigacyjnych jest domyślnie ukryta lub zminimalizowana.
Źródło: opennet.ru
