Bro — это система анализа сети, то есть трафика с открытым исходным кодом, ориентированная на мониторинг сетевой безопасности. Это результат 15-летних исследований, крупными университетами, исследовательскими лабораториями, суперкомпьютерными центрами и многими наукоемкими сообществами. Она разработана в основном в Международном институте компьютерных наук, в Беркли и Национальном центре суперкомпьютерных приложений в Урбана-Шампейн.
Bro имеет различные функции, в том числе:
- Язык сценариев Bro позволяет использовать политики мониторинга сайтов.
- Ориентация на высокопроизводительные сети.
- Встроенные анализаторы для многих протоколов, позволяющие высокоуровневый семантический анализ на уровне приложений.
- Хранение обширной статистики о сети, которую он контролирует на уровне приложений.
- Bro взаимодействует с другими приложениями для обмена информацией в режиме реального времени.
- Всесторонняя регистрация обеспечивает высокоуровневый архив активности сети.
В этом руководстве объясняется, как создать исходный код и установить Bro на сервере Ubuntu 16.04.
Характеристики
Bro имеет много зависимостей:
- Libpcap ( http://www.tcpdump.org )
- Библиотеки OpenSSL ( http://www.openssl.org )
- Библиотека BIND8
- Libz
- Bash (требуется для BroControl)
- Python 2.6+ (требуется для BroControl)
Установка из исходных кодов требует также:
- CMake 2.8+
- Make
- GCC 4.8+ или Clang 3.3+
- SWIG
- GNU Bison
- Flex
- Заголовки Libpcap
- Заголовки OpenSSL
- Заголовки zlib
Установка зависимостей
Прежде всего, установите все необходимые зависимости, выполнив следующую команду:
Установка базы данных GeoIP для IP-геолокации
Bro зависит от GeoIP для адресной геолокации. Установите обе версии IPv4 и IPv6:
Распакуйте оба архива:
Переместите распакованные файлы в каталог /usr/share/GeoIP:
Теперь можно скомпилировать Bro из исходных кодов.
Компиляция Bro
Последняя версия Bro может быть получена через репозитории git. Выполните следующую команду:
Перейдите в клонированную директорию и просто скомпилируйте Bro используя следующую команду:
Команде make потребуется некоторое время на свое выполнение. Точное количество времени, конечно, зависит от производительности сервера.
Сценарий configure может быть выполнен с некоторым аргументом, чтобы указать, какие зависимости вы хотите построить, в частности параметры —with-*.
Установка Bro
Внутри клонированного каталога bro выполните:
Путь установки по умолчанию — /usr/local/bro.
Настройка Bro
Файлы конфигурации Bro находятся в каталоге /usr/local/bro/etc. Существует три файла:
- Node.cfg, используется для настройки узла (или узлов) контроля.
- Broctl.cfg, файл конфигурации BroControl.
- Network.cgf, содержит список сетей в нотации CIDR.
Настройка параметров почты. Откройте файл конфигурации broctl.cfg:
Найдите раздел «Параметры почты» и отредактируйте строку MailTo следующим образом:
Теперь сохраните и закройте broctl.cfg.
Выбор узлов для мониторинга
Из «коробки» Bro сконфигурирован для работы в автономном режиме. В этой статье мы делаем автономную установку, поэтому нет необходимости менять файл конфигурации. Однако рассмотрим node.cfg:
В разделе [bro] вы должны увидеть что-то вроде этого:
Убедитесь, что интерфейс соответствует общедоступному интерфейсу сервера Ubuntu 16.04.
После просмотра / конфигурации сохраните и выйдите.
Настройка сетевых узлов
Последним редактируемым файлом является network.cfg. Откройте его с помощью текстового редактора:
По умолчанию вы должны увидеть следующий контент:
Удалите три записи (которые являются примером использования этого файла) и введите публичное и частное IP-пространство вашего сервера в формате:
Сохраните и выйдите из network.cfg.
Управление установкой Bro с помощью BroControl
Для управления Bro требуется использование BroControl, который поставляется в виде интерактивной оболочки и инструмента командной строки. Запустите оболочку с помощью:
Чтобы использовать BroControl в качестве инструмента командной строки, просто передайте аргумент предыдущей команде, например:
Это проверяет статус Bro, показывая вывод, например:
Итоги
На этом все с базовой настройкой Bro. Мы использовали установку из исходных кодов, потому что это самый эффективный способ получить самую последнюю версию, однако эта структура анализа сети также может быть загружена в предварительно построенном двоичном формате.
Спасибо за уделенное время на прочтение статьи!
Если возникли вопросы, задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University.
Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!
- Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
- Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
- Проведем вечерние онлайн-лекции на нашей платформе.
- Согласуем с вами удобное время для практик.
- Если хотите индивидуальный график — обсудим и реализуем.
- Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
- отредактировать или создать с нуля резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.