Wazuh与bro对接相关API参数以及规则设置

释放双眼,带上耳机,听听看~!

本文接上篇:基于Wazuh的Ossec安全架构方案

Bro的安装

安装依赖(我们在安装wazuh-agent端的服务器上安装bro)

sudo yum install cmake make gcc gcc-c ++ flex bison libpcap-devel openssl-devel python-devel swig zlib-devel perl

LibgeoIP

在创建策略脚本的过程中,可能需要找到IP地址的地理位置。从版本1.3开始,Bro 在策略脚本级别支持GeoIP库以满足此需求。要使用此功能,您需要先安装libGeoIP软件,然后在构建Bro之前安装GeoLite城市数据库

安装LibgeoIP

sudo yum install GeoIP-devel

GeoIPLite安装时会包含的国家/地区数据库

下载GeoLite城市二进制数据库

wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz

gunzip GeoLiteCity.dat.gz

将数据库移动到所需的地方

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

安装gawk

sudo yum install gawk

安装gperftools(谷歌性能工具)

Gperftools是一个高性能多线程malloc()实现的集合,以及一些非常漂亮的性能分析工具

sudo yum install gperftools

Ipsumdump

所述ipsumdump程序从一个或多个数据源读取的IP包,然后这些包汇总成一个基于行的ASCII文件。使用基于文本的工具可以轻松处理生成的摘要转储

wget http://www.read.seas.harvard.edu/~kohler/ipsumdump/

ipsumdump-1.85.tar.gz

tar -xvf ipsumdump-1.85.tar.gz

cd ipsumdump-1.85

./configure –prefix=/usr/

make 

sudo make install

安装Bro

wget https://www.bro.org/downloads/release/bro-2.3.2.tar.gz 

tar -xvf bro-2.3.2

./configure

make 

sudo make install

默认情况下,bro将安装到/usr/local/bro/bin

现在我们已经在Wazuh-Agent端安装好了bro接下来要对Bro进行,在对接的时候我们需要对bro做一些基本设置

1、加载json_logs.bro配置,告诉ASCII编写器以JSON格式写输出。在centos系统中我们要进入以下/usr/local/bro/share/bro/site/local.bro目录添加如下内容

然后这里有一个坑,在/usr/local/bro/share/bro/policy下的tuning/目录下有一个json-logs.bro的文件,要改成跟我们添加local.bro目录的内容一致

@load tuning/json-logs.bro

@load tuning/owlh_types.bro

接下来,在tuning目录下新建一个文件,文件名为owlh_types.bro 并添加如下内容

redef record DNS::Info += {

      bro_engine:    string    &default=”DNS”    &log;

 };

redef record Conn::Info += {

      bro_engine:    string    &default=”CONN”    &log;

 };

redef record Weird::Info += {

      bro_engine:    string    &default=”WEIRD”    &log;

 };

redef record SSL::Info += {

      bro_engine:    string    &default=”SSL”    &log;

 };

redef record SSH::Info += {

      bro_engine:    string    &default=”SSH”    &log;

 };

配置完成后重新启动bro的服务。

Wazuh的代理配置

修改Wazuh-agent 文件读取Bro的logs文件

目录在/var/ossec/etc/ossec.conf添加以下内容使Wazuh-agent端能够接收到Bro的日志 添加如下内容

<localfile>

   <log_format>syslog</log_format>

   <location>/path/to/bro/logs/*.log</location>

</localfile>

当然如果需要只接收指定log文件只需要把<location>/path/to/bro/logs/*.log</location>的*.log更换为如conn.log即可

创建Wazuh Bro IDS规则

在/var/ossec/etc/rules/local-rules.xml目录文件中包含Wazuh规则以管理Bro日志,我们需要编写它

<group name=”bro”>

    <rule id=”99001″ level=”5″>

    <field name=”bro_engine”>SSH</field>

    <description>BRO: SSH Connection</description>

  </rule>

    <rule id=”99001″ level=”5″>

    <field name=”bro_engine”>SSL</field>

    <description>BRO: SSL Connection</description>

  </rule>

     <rule id=”99002″ level=”5″>

     <field name=”bro_engine”>DNS</field>

     <description>BRO: DNS Query</description>

  </rule>

     <rule id=”99004″ level=”5″>

     <field name=”bro_engine”>CONN</field>

     <description>BRO: Connection detail</description>

  </rule>

</group>

然后重启Agent代理

配置Logstash过滤器

需要修改Logstash过滤器(/etc/logstash/conf.d/)以允许从Bro到Wazuh-alert索引解析的JSON记录清理。 这是必要的,因为bro使用[id]字段对网络src和dest地址和端口信息进行分组 此外,我们可以将IP-PORT数据存储在wazuh索引的正确字段中

filter {

  if [data][id][orig_h] {

      mutate {

         add_field => [ “[data][srcip]”, “%{[data][id][orig_h]}” ]

         add_field => [ “[data][dstip]”, “%{[data][id][resp_h]}” ]

         add_field => [ “[data][srcport]”, “%{[data][id][orig_p]}” ]

         add_field => [ “[data][dstport]”, “%{[data][id][resp_p]}” ]

         remove_field => [ “[data][id]” ]

      }

   }

}

最后查看Kibana仪

人已赞赏
安全工具

ARP-基础-扫描-攻击-防范

2019-10-11 17:03:42

安全工具

渗透测试标准-情报收集-精品(下)

2019-10-11 17:03:48

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索