#!/bin/bash # Configure Elasticsearech for Odin # echo -e "\e[93m" log() { echo -e "\t\e[96m[*]${1}\e[93m" } export CRITSTACK_KEY=f9bc6af4-5cc6-4fa5-623b-b0906572d703 export BRO_FACE=eth1 export BRO_URL=https://www.bro.org/downloads/bro-2.5.2.tar.gz export BROPKG_URL=https://github.com/bro/package-manager/archive/master.zip export LIBKAFKA_URL=https://github.com/edenhill/librdkafka/archive/master.zip export FSF_URL=https://github.com/EmersonElectricCo/fsf/archive/master.zip export NCPU=$(grep processor /proc/cpuinfo |tail -1 |awk '/:/{print $3}') && let NCPU=$NCPU+1 export IP=$(ip route | awk '/src/{print $9}') echo "bro" >/etc/hostname echo -e "${IP}\tbro" >> /etc/hosts deluser -q --remove-home ubuntu apt-get update || exit 1 apt-get --purge remove snapd lxd mdadm -y apt-get upgrade -y apt-get clean apt-get install -y htop wget cmake make gcc g++ flex bison libpcap-dev libssl-dev python-dev swig zlib1g-dev unzip python-pip linux-headers-`uname -r` useradd -r -c "Bro IDS" -m -d /opt/bro -s /bin/bash bro cd /opt wget -O fsf.zip ${FSF_URL} unzip fsf.zip && rm fsf.zip mv fsf-master/fsf-client /opt/fsf rm -rf /opt/fsf-master /opt/master.zip sed -i 's/127.0.0.1/fsf/g' /opt/fsf/conf/config.py chown -R bro:bro /opt/fsf cd /usr/local/src wget -O bro.tgz ${BRO_URL} tar xzf bro.tgz rm bro.tgz mv bro-2* bro cd bro ./configure --prefix=/opt/bro make -j${NCPU} make install cd ../ wget -O librdkafka.zip ${LIBKAFKA_URL} unzip librdkafka.zip rm librdkafka.zip mv librdkafka-* librdkafka cd librdkafka ./configure && make && make install cd /usr/local/src/bro/aux/plugins/kafka ./configure && make && make install chown -R bro:bro /opt/bro #pip install bro-pkg -- currently out of date? cd /usr/local/src wget -O bropkg.zip ${BROPKG_URL} unzip bropkg.zip rm bropkg.zip mv package-manager* bro-pkg cd bro-pkg python setup.py install echo 'PATH="/opt/bro/bin:$PATH"' >> /etc/profile export PATH="/opt/bro/bin:$PATH" sudo -i -u bro env PATH=/opt/bro/bin:$PATH bro-pkg --verbose autoconfig sudo -i -u bro env PATH=/opt/bro/bin:$PATH bro-pkg --verbose refresh --aggregate sudo -i -u bro env PATH=/opt/bro/bin:$PATH bro-pkg --verbose install bro-af_packet-plugin --force sed -i 's/MailConnectionSummary = 1/MailConnectionSummary = 0/g' /opt/bro/etc/broctl.cfg sed -i 's/MinDiskSpace = 5/MinDiskSpace = 0/g' /opt/bro/etc/broctl.cfg sed -i 's/MailHostUpDown = 1/MailHostUpDown = 0/g' /opt/bro/etc/broctl.cfg sed -i 's/LogRotationInterval = 3600/LogRotationInterval = 86400/g' /opt/bro/etc/broctl.cfg sed -i 's/LogExpireInterval = 0/LogExpireInterval = 60/g' /opt/bro/etc/broctl.cfg sed -i 's/StatsLogExpireInterval = 0/StatsLogExpireInterval = 1/g' /opt/bro/etc/broctl.cfg cat >> /opt/bro/share/bro/site/local.bro < /opt/bro/etc/node.cfg < /etc/network/interfaces.d/60-ids.cfg </dev/null; done post-up echo 1 > /proc/sys/net/ipv6/conf/${BRO_FACE}/disable_ipv6 EOF ifup eth1 cat >/etc/systemd/system/bro.service <