Как установить Bro на Ubuntu 16.04 Часть 1 |

Как установить Bro на Ubuntu 16.04 Часть 1

Мануал

Описание

Bro – это система анализа с открытым исходным кодом и приложение для мониторинга безопасности. Он объединяет некоторые из лучших функций OSSEC и osquery в один красивый пакет.

В длинный список функций Bro входят следующие возможности:

  • Обнаружение нападений брутфорс на сетевые службы, такие как SSH и FTP
  • Выполнять мониторинг и анализ трафика HTTP
  • Обнаружение изменений в установленном программном обеспечении
  • Выполнение проверки сертификата SSL / TLS
  • Обнаружение атак SQL-инъекций
  • Выполнять мониторинг целостности файлов всех файлов
  • Отправлять активность, сводки и отчеты о сбоях и оповещения по электронной почте
  • Выполнение геолокации IP-адресов на уровне города
  • Работайте в автономном или распределенном режиме
Bro может быть установлен из исходников или через диспетчера пакетов.
Установка из из исходников более сложная, но это единственный метод, поддерживающий геолокацию IP, если библиотека геолокации установлена до ее компиляции.
Установка Bro создает дополнительные команды, такие как bro и broctl, доступными для системы.
bro может использоваться для анализа файлов трассировки, а также для анализа трафика в реальном времени;

broctl – это интерактивная утилита командной оболочки и командной строки, используемая для управления автономными или распределенными установками Bro.

В этой статье вы установите Bro на Ubuntu 16.04 в автономном режиме.

Предпосылки

Вам необходимо иметь следующее:

Сервер Ubuntu 16.04 с брандмауэром и учетной записью пользователя без полномочий root с привилегиями sudo. Поскольку мы будем выполнять некоторые задачи, требующие дополнительной ОЗУ, вам нужно будет развернуть сервер с объемом памяти не менее 1 ГБ.
Postfix установлен как почтовый агент передачи (MTA) только на серверею. MTA, например Postfix, должен быть установлен для Bro для отправки уведомлений по электронной почте.

Шаг 1 – Установка зависимостей

Прежде чем вы сможете установить Bro, вам необходимо установить его зависимости.

Сначала обновите базу данных пакетов. Невыполнение этого требования перед установкой пакетов может привести к ошибкам диспетчера пакетов.

 # sudo apt-get update 

Зависимости Bro включают в себя ряд библиотек и инструментов, таких как Libpcap, OpenSSL и BIND8.

Для BroControl дополнительно требуется Python 2.6 или выше.

Поскольку мы собираем Bro из исходников, нам понадобятся дополнительные зависимости, такие как CMake, SWIG, Bison и компилятор C / C ++.

Вы можете установить все необходимые зависимости сразу:

# sudo apt-get install bison cmake flex g ++ gdb сделать libmagic-dev libpcap-dev libgeoip

Шаг 2 – Загрузка базы данных GeoIP

Здесь мы загрузим базу данных GeoIP, которую Bro будет использовать для геолокации IP-адреса.

Мы загрузим два сжатых файла, содержащих IPv4 и базу данных IPv6, распакуем их, а затем переместим их в каталог / usr / share / GeoIP.

# wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
# wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCityv6-beta/GeoLiteCityv6.dat.gz 

Затем перейдите в соответствующий каталог, переименовав их в процессе:

 # sudo mv GeoLiteCity.dat /usr/share/GeoIP/GeoIPCity.dat

# sudo mv GeoLiteCityv6.dat /usr/share/GeoIP/GeoIPCityv6.dat 

С базой данных GeoIP мы можем установить Bro на следующем этапе.

Шаг 3 – Установка Bro из исходников

Чтобы установить Bro из истосходников, сначала нужно клонировать репозиторий GitHub.

Git уже установлен по умолчанию на Ubuntu, поэтому вы можете клонировать репозиторий с помощью следующей команды.

Файлы будут помещены в каталог с именем bro.

 # git clone --recursive git://git.bro.org/bro 

Смените каталог:

 # cd bro 

Запустим конфигурацию bro. Это займет меньше минуты:

 # ./configure

Затем используйте make для сборки программы.

Это может занять до 20 минут, в зависимости от вашего сервера

 # make 

Далее выполните:

 # sudo make install 

Bro будет установлен в каталоге / usr / local / bro.

Теперь вам нужно добавить каталог / usr / local / bro / bin в ваш $ PATH. Чтобы убедиться, что он доступен.

Наилучшим подходом для этого является указание пути в файле /etc/profile.d. Мы назовем этот файл 3rd -party.sh.

Создайте и откройте файл 3rd -party.sh.

 

 # sudo nano /etc/profile.d/3rd-party.sh

Скопируйте и вставьте в нее следующие строки. Первая строка – пояснительный комментарий.

 # Expand PATH to include the path to Bro's binaries

export PATH=$PATH:/usr/local/bro/bin

Сохраните файл и закройте его. Теперь активируйте изменения с помощью source.

 # source /etc/profile.d/3rd-party.sh 

Теперь, когда установлен Bro, нам нужно внести некоторые изменения в конфигурацию, чтобы он работал правильно.

Шаг 4 – Настройка Bro

На этом этапе мы настроим несколько файлов, чтобы убедиться, что Bro работает правильно.

Все файлы находятся в каталоге / usr / local / bro / etc, и вот их описание:

node.cfg, который используется для настройки узлов для мониторинга.
network.cfg, который содержит список сетей в нотации CIDR, которые являются локальными для узла.
broctl.cfg, который является глобальным конфигурационным файлом BroControl для почты, логирования и других параметров.

Давайте посмотрим, что нужно изменить в каждом файле.

Настройка узлов для мониторинга

Чтобы настроить узлы Bro, которые будут отслеживаться, нам необходимо изменить файл node.cfg.

Из коробки Bro сконфигурирован для работы в автономном режиме.

Поскольку это автономная установка, вам не нужно изменять этот файл, но хорошо бы проверить правильность значений.

Откройте файл для редактирования.

 # sudo nano /usr/local/bro/etc/node.cfg 

В разделе bro найдите параметр интерфейса.

По умолчанию это eth0, и это должно соответствовать общему интерфейсу вашего сервера Ubuntu 16.04.

Если это не так, обязательно обновите его.

 [bro]
type=standalone
host=localhost
interface=eth0 

Сохраните и закройте файл, когда закончите редактирование.

Настройка узлов частных сетей

Файл network.cfg – это где вы настраиваете, какие IP-сети принадлежит узлу (т. е. IP-сеть любого из интерфейсов вашего сервера, который вы хотите контролировать).

Давайте откроем этот файл:

 # sudo nano /usr/local/bro/etc/networks.cfg 

 

По умолчанию файл поставляется с тремя частными IP-блоками, уже настроенными как пример того, как вам нужно указывать.

 # List of local networks in CIDR notation, optionally followed by a
# descriptive tag.
# For example, "10.0.0.0/8" or "fe80::/64" are valid prefixes.

10.0.0.0/8 Private IP space
172.16.0.0/12 Private IP space
192.168.0.0/16 Private IP space

 

Удалите существующие три записи, затем добавьте свои собственные.

Вы можете использовать ip addr show для проверки сетевых адресов для ваших интерфейсов сервера.

Окончательная версия вашего network.cfg должна выглядеть примерно так: ваши сетевые адреса заменены на:

 203.0.113.0/24 Public IP space
198.51.100.0/24 Private IP space

Сохраните и закройте файл, когда вы закончите его редактирование.

Затем мы настроим параметры почты и ведения журнала.

Настройка настроек почты и ведения журнала

Файл broctl.cfg – это тот конфиграционный файл, где вы настраиваете, как BroControl обрабатывает свои отчеты по электронной почте и логгирование.

Большинство параметров по умолчанию не нужно изменять.

Вам просто нужно указать целевой адрес электронной почты.

Откройте файл для редактирования.

 # sudo nano /usr/local/bro/etc/broctl.cfg 

В разделе Mail Options в верхней части файла найдите параметр MailTo и измените его на реальный адрес электронной почты.

Все оповещения по электронной почте Bro будут отправлены на этот адрес.

 . . .
# Mail Options

# Recipient address for all emails sent out by Bro and BroControl.
MailTo = urmommy@example.com
. . .

Сохраните файл и закройте его.

Шаг 5 – Управление Bro с BroControl

BroControl используется для управления установками Bro – запуск и остановка службы, развертывание Bro и выполнение других задач управления.

Если broctl вызывается с помощью sudo / usr / local / bro / bin / broctl, он запустит интерактивную оболочку:

Output
Welcome to BroControl 1.5-21

Type "help" for help.

[BroControl] 

Вы можете выйти из интерактивной оболочки с помощью команды exit.

Из оболочки вы можете запустить любую  команду Bro.

Одни и те же команды можно запускать непосредственно из командной строки без вызова оболочки.

Запуск команд в командной строке часто является более полезным, потому что он позволяет вам вывести вывод команды broctl в стандартную команду Linux.

Для остальной части этого раздела мы будем вызывать команды broctl в командной строке.

Во-первых, используйте broctl deploy для запуска Bro и убедитесь, что файлы, необходимые BroControl и Bro, обновлены на основе конфигураций на шаге 4.

 # sudo /usr/local/bro/bin/broctl deploy 

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

Примечание. Если Bro не запускается, вывод команды подскажет причину. Например, вы можете увидеть следующее сообщение об ошибке, даже если у вас установлен MTA:

Output
bro not running (was crashed)
Error: error occurred while trying to send mail: send-mail: SENDMAIL-NOTFOUND not found
starting ...
starting bro ... 

Решение заключается в редактировании файла конфигурации BroControl, /usr/local/bro/etc/broctl.cfg и добавлении записи для Sendmail в конце раздела Mail Options:

. . .
# Added for Sendmail
SendMail = /usr/sbin/sendmail
#########################################
# Logging Options
. . . 

Затем переустановите Bro с помощью sudo / usr / local / bro / bin / broctl.

Вы можете проверить статус Bro, используя команду status.

 # sudo /usr/local/bro/bin/broctl status 

 

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий