开始使用入侵检测系统(IDS)Bro:配置并运行(3/4)

来源:https://dallinwarne.com/uncategorized/getting-started-with-intrusion-detection-system-ids-bro-configure-and-run/

Bro IDS非常擅长分析网络流量,更不用说它非常擅长检测和记录在网络流量中发现的问题。令人惊讶的是,一个开源项目取得了这么大的进展。本文将介绍如何配置Bro并运行它。

让我们回顾一下我们在本指南的第一部分和第二部分中介绍的内容:

安装Bro IDS的先决条件包括:

          PF_RING

          其他需要包

调整操作系统设置,包括:

            防火墙/ IPTables

          调整内存/缓冲区设置

Bro被编译

已编译及安装的插件包括:

    PF_RING

      Setcap (which enables some permissions for non-root users)

本节将介绍在Bro中配置各种设置,然后启动Bro。我们还将探讨如何检查Bro的健康。

通过运行导航到以下目录:

cd /opt/bro/etc

您可以看到有几个.cfg文件。我们要修改的是network.cfg,broctl .cfg和node.cfg。

cfg文件网络告诉bro您希望在您的网络上看到什么子网。这通常包括私有子网(如10.0.0.0/8)和组织的公共IP地址。使用您最喜欢的文本编辑器(如vim)修改文件,以反映组织拥有和使用的子网。

该broctl.cfg文件包含一些设置,如电子邮件通知、将日志文件写入何处等。如果您遵循上一篇文章,您还修改了该文件以运行setcap插件。我建议修改这个文件,让Bro将日志和spool文件写入与操作系统不同的分区。

LogDir=/logparition/logs

SpoolDir=/logpartition/spool

一、Broctl.cfg设置

根据您的设置,大多数设置需要在文本编辑器(如vim)中进行调整。我将指出需要修改的设置,并描述每个节点函数的功能。

管理器在整个集群中运行并保持标签。如果没有单独的日志记录器进程,它还会收集日志并将其写入磁盘。小集群通常不需要日志记录器。

[manager]

type=manager

host=10.0.0.20

代理流程帮助协调工作人员之间的变量和状态等信息。有些人喜欢在与管理器相同的机器上运行代理。其他人喜欢在worker本身上运行一些代理。在大型集群中,代理将在它们自己的机器上运行。您需要根据优化设置调整代理的数量和位置。对于本例,两个代理进程将运行在与管理器相同的机器上。

[proxy-1]

type=proxy

host=10.0.0.20


[proxy-2]

type=proxy

host=10.0.0.20

现在我们来谈谈worker。它们处理它们接收到的流量,因此它们往往是非常结实的盒子。lb_method指定Bro将如何从NIC检索数据包,在本例中是pf_ring.lb_procs设置在机器上运行多少个进程。pin_cpu将指定进程将在哪个cpu上运行。因为在本例中,worker box有24个逻辑核,所以将22个核用于Bro,从而为操作系统和其他进程留下2个核。最后,接口指定要监听哪个网卡的接口Bro。

[worker-1]

type=worker

host=10.0.1.21

lb_method=pf_ring

lb_procs=22

pin_cpus=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21

interface=p1p1

保存文件并退出。

二、协议分析

现在您可以选择Bro将使用哪些脚本来分析和记录流量。默认设置非常好,但我也建议打开SMB脚本,以及SMB是臭名昭著的恶意软件攻击载体。打开本地市场。兄弟文件在一个文本编辑器通过运行:

vim /opt/bro/share/bro/site/local.bro

在底部附近,取消注释行

@load policy/protocols/smb

SSL脚本可能更占用cpu。如果稍后看到您的空闲CPU有限,可以考虑禁用这些脚本。

三、运行Bro

现在是你一直在等待的里程碑!是时候开始了,Bro。从Manager处跑出:

/opt/bro/bin/broctl

这将打开broctl CLI。help将提供一个可以运行的命令列表。下面我列出了一些常见的例子:

check。检查以确保您的配置是有效的。

status。检查管理员是否可以与集群中的其他机器通信,以及这些机器上的进程的状态。

deploy。从管理器复制Bro程序和配置文件,并将其安装到其他机器上,然后启动相应的Bro进程。

netstat。给出每个工作进程的数据包统计信息,包括网卡接收到数据包后丢弃的数据包数量。

capstats。给出每个worker的平均吞吐量。我将避免这种情况,因为它会消耗大量CPU并丢失大量数据包。

diag.提供关于系统的基本诊断输出,例如进程为什么不能启动。

Start、stop和restart也是常见的自描述标志。

从broctl提示符中运行

deploy

这将启动SSH连接,在远程主机上安装Bro,并将SSH连接初始化回管理器。如果一切顺利,在运行此命令时,您应该不会在管理器上看到任何错误。如果是这样,请检查“diag”输出,以缩小出错的范围。

从broctl提示符中,您可以运行“status”来查看管理员是否能够与worker进程通信。运行netstats可以告诉您网卡是否丢失了数据包。如果你得到了回复,那么worker就可以和manger沟通。

为了确保一切都在运行,导航到日志目录并通过以下方式列出文件:

cd /logpartition/logs/current

ls -lh

如果您看到诸如conn.log这样的文件,那么您已经成功启动了Bro并正在分析流量。恭喜你!

本指南的第四部分的第三部分到此结束。下一篇文章将帮助您完成一些故障排除步骤和其他调整。

你可能感兴趣的:(开始使用入侵检测系统(IDS)Bro:配置并运行(3/4))