如何使用Bro IDS和Intel Critical Stack分析网络活动

简介:

越来越多的网络攻击迫使企业将其网络活动作为安全策略的一部分加以控制。

众多供应商已经设计了多种入侵检测系统(IDS)来帮助企业保护网络基础设施。但是,由于商业IDS通常需要花费数千美元,因此该软件对于小型企业而言可能是经济上的负担。幸运的是,开源IDS也可以很有效地达成目的。他们提供可修改的插件,可以动态扫描网络并确保检测来自互联网的入侵。

在本文中,我们提供了一份使用免费Bro IDS和Intel Critical Stack分析网络活动的研究的详细报告。研究证明了这些系统实时检测网络入侵者的有效性。此外,我们还使用ELK Stack来可视化仅对网络入侵分析有用的数据。本文对安全管理员和正在寻找检测网络入侵和可疑活动的替代方案的DevSecOps非常有用。

一、研究目标

本研究的目标是使用开源工具的组合来建立一个有效的网络入侵分析环境。

作为主要的监测工具,我们选择了Bro IDS,它是一种有效的开源解决方案,可收集有关企业内所有网络活动的信息。同时,它会生成大量的日志,这些日志没有过滤或可视化,因而系统管理员很难开展分析。因此,我们需要定义哪些网络活动的日志可能指示可疑活动,以及如何便利的可视化这些数据以便于进一步网络入侵分析。

二、途径

我们想要构建一个组件数量最少的监控系统。

在测试环境中运行系统并获取结果后,我们将调查这些结果,并为系统在真实网络环境中的部署提供建议。

我们测试的监控系统包含以下组件:

· 主机——生成网络活动的监视对象

· 网络入侵检测系统IDS——对主机流量进行分布式分析的软件

· 分析和可视化数据的系统

· 在物理硬件上运行的操作系统(OS),用于运行IDS的操作系统以及R数据分析和可视化工具

我们在包含多个虚拟机(复制企业环境)的测试实验室中进行了所有实验:

如何使用Bro IDS和Intel Critical Stack分析网络活动

三、软件简介

为构建监测系统,我们选择了以下软件:

· IDS: Bro Network Security Monitor 和Intel Critical Stack

· 数据可视化: ELK Stack, 由Elasticsearch, Logstash和Kibana组成

· OS: Ubuntu 16.04 虚拟机,配置为internet 网关

什么是Bro IDS?

Bro Network Security Monitor是一种Unix风格的入侵检测系统,可监控网络流量并检测入侵和异常活动。

Bro通过提取其应用层语义来解析网络流量。之后,它通过执行面向事件的Bro IDS协议分析器来检测入侵,将当前流量与潜在的有害模式进行比较。作为这一分析的结果,Bro可以通过查找特定签名或根据事件和特定条件自定义攻击来检测网络攻击。

该系统还可用于检测异常活动,例如多个主机与某些服务的连接或失败的连接尝试模式。

请记住,Bro不是干涉网络活动的内联IDS。Bro与网络活动并行进行分析,并在发生攻击或未经授权的访问时发送警报(如果配置正确)。

为什么我们使用其他软件?

Intel Critical Stack是对Bro IDS的补充,它拥有检测恶意软件网站的签名。我们安装了Intel Critical Stack以及Bro IDS,然后收集了互联网使用情况的数据,并将这些数据发送到Intel Critical Stack数据库。因此,我们配置了Bro和Critical Stack Agent以便了解访问了哪些恶意网站。

ELK Stack由三个产品(Elasticsearch,Logstash和Kibana)组成,是收集、归一化、存储、可视化和分析由Bro IDS生成的日志数据所必需的。网络监控的结果写在不同的日志中,管理员并不一定总能理解这些日志。因此,我们使用ELK Stack来显示图表数据,便于进行分析和制定决策。

我们使用的所有软件都是公开的。

四、测试流程

我们通过以下方式对监测系统进行了测试:

1. 客户向互联网发送请求。由此,主机生成网络活动。

2. Bro使用tcpdump分析来自enp0s8 (eth1)接口的流量,并使用其插件(包括Intel Critical Stack)在日志中分配记录。

3. Elasticsearch使用Logstash分析Bro日志并将其收集到本地数据库中。

4. Kibana从数据库中提取数据并构建模式。

五、数据可视化

为了以最方便的方式分析网络数据,我们选择了Kibana,它可以清楚地揭示网络中的可疑活动。

我们选择了以下图表来显示数据:

如何使用Bro IDS和Intel Critical Stack分析网络活动

Connections Count per Minute Chart

Connections count per minute chart显示每分钟连接总数。非工作时间内连接数量的增加可能是活动异常的标志。

如何使用Bro IDS和Intel Critical Stack分析网络活动

Top Protocols Chart

Top protocols chart显示了通过网络传输的流量和流量类型。

如何使用Bro IDS和Intel Critical Stack分析网络活动

Top 10 Talkers Chart

Top 10 talkers chart显示了最有可能被感染的电脑。

如何使用Bro IDS和Intel Critical Stack分析网络活动

Top 10 HTTP Requests Chart

Top 10 HTTP requests chart显示没有加密的请求,因此这些网站可能会感染恶意软件。

如何使用Bro IDS和Intel Critical Stack分析网络活动

Top 10 Remote Ports Chart

Top 10 remote ports chart显示请求数量最多的端口。到一些端口的连接和请求数量每分钟不断增加可能表明可疑活动。

如何使用Bro IDS和Intel Critical Stack分析网络活动

Bro Log Files

Bro log files显示Bro文件中的记录数量以及Bro IDS的整体状态。

如何使用Bro IDS和Intel Critical Stack分析网络活动

Top 10 Malware Domains Chart

Top 10 malware domains chart包含Intel Critical Stack提供的恶意软件数据库的源数据。

六、数据库清理

如上所述,在正常操作过程中,Bro产生大量的日志文件。

但是,如果数据库存储空间有限,则可以在指定的时间段内清理它们。为了删除不必要的数据,使用Logstash中的Curator并将每日任务添加到Crontab以删除旧的ELK数据。

以下是actionfile.yml的内容,根据该内容,Curator选择数据进行清理。

0 1 * * * curator /root/actionfile.yml
actionfile.yml:
actions:
 1:
 action: delete_indices
 description: >-
 options:
 ignore_empty_list: True
 timeout_override:
 continue_if_exception: False
 disable_action: False
 filters:
 - filtertype: pattern
 kind: prefix
 value: logstash-
 exclude:
 - filtertype: age
 source: name
 direction: older
 timestring: '%Y.%m.%d'
 unit: days
 unit_count: 30
 exclude:

七、在真实网络上部署系统

在分析实验室环境下的测试结果之后,我们得出结论,将系统部署在真实的网络上需要以下几点:

· 具有端口镜像的交换机

· 具有32+ GB RAM和6-10 TB硬盘的服务器

请注意,需要的系统配置取决于网络服务提供商的带宽。如果有几个1 Gbps的通道,则需要安装Arista,Cisco,Myricom或类似的高性能网络设备。

八、安装和配置组件的指南

1.安装Bro IDS

配置虚拟机

在研究中,我们使用了一个带有两块网卡的虚拟机:一个用于互联网连接,另一个用于Intranet连接。

要执行以下所有命令,需要root(超级用户)权限。从安装DHCP服务器开始:

apt-get install isc-dhcp-server

执行以下操作来配置它:

添加

INTERFACES="enp0s8"

打开文件/etc/sysctl.conf 并注释掉到文件/etc/default/isc-dhcp-server

#net.ipv4.ip_forward=1

执行以下命令

sysctl -p /etc/sysctl.conf

在文件 /etc/network/interfaces中,需要指定以下内容:

auto lo
iface lo inet loopback
 
auto enp0s8
iface enp0s8 inet static
address 10.10.0.1
netmask 255.255.255.0

配置路由

配置路由以便连接到内部网的计算机可以访问互联网。从打开防火墙开始:

ufw enable

然后运行rc-local。在计算机重启后恢复iptables规则是必要的。

systemctl enable rc-local.service

打开文件 /etc/rc.local并添加

/sbin/iptables-restore < /etc/iptables/rules.v4

然后运行以下命令:

iptables -t nat -A POSTROUTING -o enp0s3 -j MASQUERADE
iptables -A FORWARD -i enp0s8 -o enp0s3 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i enp0s8 -o enp0s3 -j ACCEPT
iptables -A INPUT -p tcp --dport 5601 -j ACCEPT
iptables -A INPUT -p udp --dport 5601 -j ACCEPT
iptables-save > /etc/iptables/rules.v4

接下来,将DHCP服务器配置为自动接收IP地址。打开文件/etc/dhcp/dhcpd.conf并添加以下内容:

subnet 10.10.0.0 netmask 255.255.255.0 {
 range 10.10.0.50 10.10.0.150;
 option broadcast-address 10.10.0.255;
 option routers 10.10.0.1;
 option domain-name-servers 10.10.0.1, 8.8.8.8;
}

安装Bro所依赖的库

为使Bro正常运行,需要安装某些应用程序。因此运行以下命令:

apt-get install cmake make gcc g++ flex bison libpcap-dev libgeoip-dev libssl-dev python-dev zlib1g-dev libmagic-dev swig libgoogle-perftools-dev
mkdir -p /nsm/bro

安装Bro IDS

要安装Bro IDS,请运行以下命令:

cd ~

下载Bro IDS:

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

解压:

tar -xvzf bro-2.4.1.tar.gz
cd bro-2.4.1

配置安装文件并安装Bro IDS:

./configure --prefix=/nsm/bro
make
make install
export PATH=/nsm/bro/bin:$PATH

配置Bro IDS

要配置Bro IDS,请指定将在node.cfg文件中监控网络流量的接口:

nano /nsm/bro/etc/node.cfg

指定应该监视哪个子网络在networks.cfg:

nano /nsm/bro/etc/networks.cfg

启动Bro IDS

要启动Bro,请运行以下命令:

/nsm/bro/bin/broctl
install
exit

编辑rc.local:

sudo nano /etc/rc.local

加上

/nsm/bro/bin/broctl start

然后重新启动虚拟机

shutdown -r now

Bro IDS的WatchDog

WatchDog会在指定的时间段后自动启动Bro以防崩溃:

crontab -e
# add: */5 * * * * /nsm/bro/bin/broctl cron

Intel Critical Stack

为了将Intel Critical Stack添加到Bro IDS,需要访问https://intel.criticalstack.com/, 创建传感器并订阅feed。之后,在安装了Bro IDS的虚拟机上运行以下命令:

curl https://packagecloud.io/install/repositories/criticalstack/critical-stack-intel/script.deb.sh | sudo bash

使用以下命令配置传感器:

apt-get install critical-stack-intel
critical-stack-intel api <your API key>

检查并安装接收到的更新:

broctl check
broctl install
broctl restart

2.安装ELK

apt-get update

安装Java开发工具包:

apt-get install -y openjdk-8-jdk
apt-get install -y wget apt-transport-https
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
echo "deb https://artifacts.elastic.co/packages/5.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elk.list
apt-get update

安装ElasticSearch:

apt-get install -y elasticsearch
systemctl enable elasticsearch
systemctl start elasticsearch

安装Logstash:

apt-get install -y logstash
systemctl start logstash
systemctl enable logstash

安装并配置Kibana:

apt-get install -y kibana
nano /etc/kibana/kibana.yml
server.host: "0.0.0.0"
systemctl restart kibana
systemctl enable kibana

使用以下命令配置Logstash:

cd /etc/logstash/conf.d/
wget https://raw.githubusercontent.com/fakrul/bro-elk/master/bro-conn_log.conf
wget https://raw.githubusercontent.com/fakrul/bro-elk/master/bro-dns_log.conf
wget https://raw.githubusercontent.com/fakrul/bro-elk/master/bro-files_log.conf
wget https://raw.githubusercontent.com/fakrul/bro-elk/master/bro-http_log.conf
wget https://raw.githubusercontent.com/fakrul/bro-elk/master/bro-intel_log.conf
wget https://raw.githubusercontent.com/fakrul/bro-elk/master/bro-notice_log.conf
wget https://raw.githubusercontent.com/fakrul/bro-elk/master/bro-ssh_log.conf
wget https://raw.githubusercontent.com/fakrul/bro-elk/master/bro-ssl_log.conf
wget https://raw.githubusercontent.com/fakrul/bro-elk/master/bro-tunnel_log.conf
wget https://raw.githubusercontent.com/fakrul/bro-elk/master/bro-weird_log.conf
wget https://raw.githubusercontent.com/fakrul/bro-elk/master/bro-x509_log.conf

注:在conf文件中更改日志文件的路径。

然后安装Logstash的Filter Translate插件:

cd /usr/share/logstash/bin/
logstash-plugin install logstash-filter-translate
systemctl restart logstash

3.配置Kibana可视化

将以下JSON文件导入到Kibana中,获取之前提到的可视化可疑网络活动的图表。

[
 {
 "_id": "AWHWhw9vuiCz3jvXS1Sb",
 "_type": "visualization",
 "_source": {
 "title": "TOP 10 REMOTE PORTS",
 "visState": "{\"title\":\"TOP 10 REMOTE PORTS\",\"type\":\"table\",\"params\":{\"perPage\":10,\"showPartialRows\":false,\"showMeticsAtAllLevels\":false,\"sort\":{\"columnIndex\":null,\"direction\":null},\"showTotal\":false,\"totalFunc\":\"sum\",\"type\":\"table\"},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"id_resp_port.keyword\",\"exclude\":\"0\",\"size\":10,\"order\":\"desc\",\"orderBy\":\"1\",\"customLabel\":\"Remote Port\"}}],\"listeners\":{}}",
 "uiStateJSON": "{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":null,\"direction\":null}}}}",
 "description": "",
 "version": 1,
 "kibanaSavedObjectMeta": {
 "searchSourceJSON": "{\"index\":\"AWHWHTYfuiCz3jvXGox0\",\"query\":{\"match_all\":{}},\"filter\":[{\"meta\":{\"index\":\"AWHWHTYfuiCz3jvXGox0\",\"negate\":false,\"disabled\":false,\"alias\":null,\"type\":\"phrase\",\"key\":\"type.keyword\",\"value\":\"bro-conn_log\"},\"query\":{\"match\":{\"type.keyword\":{\"query\":\"bro-conn_log\",\"type\":\"phrase\"}}},\"$state\":{\"store\":\"appState\"}}]}"
 }
 }
 },
 {
 "_id": "AWHXprt1uiCz3jvX3lHz",
 "_type": "visualization",
 "_source": {
 "title": "TOP 10 MALWARE DOMAINS",
 "visState": "{\"title\":\"TOP 10 MALWARE DOMAINS\",\"type\":\"table\",\"params\":{\"perPage\":10,\"showPartialRows\":false,\"showMeticsAtAllLevels\":false,\"sort\":{\"columnIndex\":null,\"direction\":null},\"showTotal\":false,\"totalFunc\":\"sum\",\"type\":\"table\"},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"seen.node.keyword\",\"size\":10,\"order\":\"desc\",\"orderBy\":\"1\",\"customLabel\":\"Malware Domains\"}}],\"listeners\":{}}",
 "uiStateJSON": "{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":null,\"direction\":null}}}}",
 "description": "",
 "version": 1,
 "kibanaSavedObjectMeta": {
 "searchSourceJSON": "{\"index\":\"AWHWHTYfuiCz3jvXGox0\",\"query\":{\"match_all\":{}},\"filter\":[]}"
 }
 }
 },
 {
 "_id": "AWHWRzB1uiCz3jvXLjB9",
 "_type": "visualization",
 "_source": {
 "title": "TOP PROTOCOLS",
 "visState": "{\"title\":\"TOP PROTOCOLS\",\"type\":\"pie\",\"params\":{\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"isDonut\":false,\"type\":\"pie\"},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"segment\",\"params\":{\"field\":\"proto.keyword\",\"size\":5,\"order\":\"desc\",\"orderBy\":\"1\",\"customLabel\":\"Protocol\"}}],\"listeners\":{}}",
 "uiStateJSON": "{}",
 "description": "",
 "version": 1,
 "kibanaSavedObjectMeta": {
 "searchSourceJSON": "{\"index\":\"AWHWHTYfuiCz3jvXGox0\",\"query\":{\"match_all\":{}},\"filter\":[{\"meta\":{\"index\":\"AWHWHTYfuiCz3jvXGox0\",\"negate\":false,\"disabled\":false,\"alias\":null,\"type\":\"phrase\",\"key\":\"type.keyword\",\"value\":\"bro-conn_log\"},\"query\":{\"match\":{\"type.keyword\":{\"query\":\"bro-conn_log\",\"type\":\"phrase\"}}},\"$state\":{\"store\":\"appState\"}}]}"
 }
 }
 },
 {
 "_id": "AWHWq6wBuiCz3jvXXqYo",
 "_type": "visualization",
 "_source": {
 "title": "BRO LOGS",
 "visState": "{\"title\":\"BRO LOGS\",\"type\":\"table\",\"params\":{\"perPage\":3,\"showMeticsAtAllLevels\":false,\"showPartialRows\":false,\"showTotal\":true,\"sort\":{\"columnIndex\":null,\"direction\":null},\"totalFunc\":\"sum\",\"type\":\"table\"},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{\"customLabel\":\"# OF RECORDS\"}},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"type.keyword\",\"include\":\"\",\"size\":5,\"order\":\"desc\",\"orderBy\":\"1\",\"customLabel\":\"LOG FILES\"}}],\"listeners\":{}}",
 "uiStateJSON": "{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":null,\"direction\":null}}}}",
 "description": "",
 "version": 1,
 "kibanaSavedObjectMeta": {
 "searchSourceJSON": "{\"index\":\"AWHWHTYfuiCz3jvXGox0\",\"query\":{\"match_all\":{}},\"filter\":[{\"meta\":{\"index\":\"AWHWHTYfuiCz3jvXGox0\",\"type\":\"phrases\",\"key\":\"type\",\"value\":\"bro-conn_log, bro-http_log, bro-intel_log\",\"params\":[\"bro-conn_log\",\"bro-http_log\",\"bro-intel_log\"],\"negate\":false,\"disabled\":false,\"alias\":null},\"query\":{\"bool\":{\"should\":[{\"match_phrase\":{\"type\":\"bro-conn_log\"}},{\"match_phrase\":{\"type\":\"bro-http_log\"}},{\"match_phrase\":{\"type\":\"bro-intel_log\"}}],\"minimum_should_match\":1}},\"$state\":{\"store\":\"appState\"}}]}"
 }
 }
 },
 {
 "_id": "AWHWTDyouiCz3jvXMHmd",
 "_type": "visualization",
 "_source": {
 "title": "TOP 10 TALKERS",
 "visState": "{\"title\":\"TOP 10 TALKERS\",\"type\":\"histogram\",\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"},\"valueAxis\":\"ValueAxis-1\"},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":false,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":0},\"title\":{\"text\":\"\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"Count\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"histogram\",\"mode\":\"normal\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false,\"type\":\"histogram\",\"orderBucketsBySum\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"id_orig_host.keyword\",\"size\":10,\"order\":\"desc\",\"orderBy\":\"1\",\"customLabel\":\"Host\"}}],\"listeners\":{}}",
 "uiStateJSON": "{}",
 "description": "",
 "version": 1,
 "kibanaSavedObjectMeta": {
 "searchSourceJSON": "{\"index\":\"AWHWHTYfuiCz3jvXGox0\",\"query\":{\"match_all\":{}},\"filter\":[{\"meta\":{\"index\":\"AWHWHTYfuiCz3jvXGox0\",\"negate\":false,\"disabled\":false,\"alias\":null,\"type\":\"phrase\",\"key\":\"type.keyword\",\"value\":\"bro-conn_log\"},\"query\":{\"match\":{\"type.keyword\":{\"query\":\"bro-conn_log\",\"type\":\"phrase\"}}},\"$state\":{\"store\":\"appState\"}}]}"
 }
 }
 },
 {
 "_id": "AWHWRA0BuiCz3jvXLG2E",
 "_type": "visualization",
 "_source": {
 "title": "CONNECTIONS COUNT PER MINUTE",
 "visState": "{\"title\":\"CONNECTIONS COUNT PER MINUTE\",\"type\":\"line\",\"params\":{\"addLegend\":true,\"addTimeMarker\":false,\"addTooltip\":true,\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"labels\":{\"show\":true,\"truncate\":0},\"position\":\"bottom\",\"scale\":{\"type\":\"linear\"},\"show\":true,\"style\":{},\"title\":{\"text\":\"@timestamp per minute\"},\"type\":\"category\"}],\"grid\":{\"categoryLines\":true,\"style\":{\"color\":\"#eee\"},\"valueAxis\":\"ValueAxis-1\"},\"legendPosition\":\"top\",\"seriesParams\":[{\"show\":true,\"mode\":\"normal\",\"type\":\"line\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"data\":{\"id\":\"3\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"times\":[],\"type\":\"line\",\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"labels\":{\"filter\":false,\"rotate\":0,\"show\":true,\"truncate\":100},\"name\":\"LeftAxis-1\",\"position\":\"left\",\"scale\":{\"mode\":\"normal\",\"type\":\"linear\"},\"show\":true,\"style\":{},\"title\":{\"text\":\"Count\"},\"type\":\"value\"}]},\"aggs\":[{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"@timestamp\",\"interval\":\"m\",\"customInterval\":\"2h\",\"min_doc_count\":1,\"extended_bounds\":{}}},{\"id\":\"3\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}}],\"listeners\":{}}",
 "uiStateJSON": "{}",
 "description": "",
 "version": 1,
 "kibanaSavedObjectMeta": {
 "searchSourceJSON": "{\"index\":\"AWHWHTYfuiCz3jvXGox0\",\"query\":{\"match_all\":{}},\"filter\":[{\"meta\":{\"index\":\"AWHWHTYfuiCz3jvXGox0\",\"negate\":false,\"disabled\":false,\"alias\":null,\"type\":\"phrase\",\"key\":\"type.keyword\",\"value\":\"bro-conn_log\"},\"query\":{\"match\":{\"type.keyword\":{\"query\":\"bro-conn_log\",\"type\":\"phrase\"}}},\"$state\":{\"store\":\"appState\"}}]}"
 }
 }
 },
 {
 "_id": "AWHWefVTuiCz3jvXRbLT",
 "_type": "visualization",
 "_source": {
 "title": "TOP 10 HTTP REQUESTS",
 "visState": "{\"title\":\"TOP 10 HTTP REQUESTS\",\"type\":\"histogram\",\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"},\"valueAxis\":\"ValueAxis-1\"},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":false,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":0,\"filter\":false},\"title\":{\"text\":\"\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"Count\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"histogram\",\"mode\":\"normal\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false,\"type\":\"histogram\",\"orderBucketsBySum\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"referrer.keyword\",\"exclude\":\"-\",\"size\":10,\"order\":\"desc\",\"orderBy\":\"1\",\"customLabel\":\"HTTP Host\"}}],\"listeners\":{}}",
 "uiStateJSON": "{}",
 "description": "",
 "version": 1,
 "kibanaSavedObjectMeta": {
 "searchSourceJSON": "{\"index\":\"AWHWHTYfuiCz3jvXGox0\",\"query\":{\"match_all\":{}},\"filter\":[{\"meta\":{\"index\":\"AWHWHTYfuiCz3jvXGox0\",\"negate\":false,\"disabled\":false,\"alias\":null,\"type\":\"phrase\",\"key\":\"type.keyword\",\"value\":\"bro-http_log\"},\"query\":{\"match\":{\"type.keyword\":{\"query\":\"bro-http_log\",\"type\":\"phrase\"}}},\"$state\":{\"store\":\"appState\"}}]}"
 }
 }
 }
]

4. 配置Kibana仪表板

[
 {
 "_id": "AWHXaEbeuiCz3jvXvitY",
 "_type": "dashboard",
 "_source": {
 "title": "Statistics Dashboard",
 "hits": 0,
 "description": "",
 "panelsJSON": "[{\"col\":1,\"id\":\"AWHWRA0BuiCz3jvXLG2E\",\"panelIndex\":1,\"row\":1,\"size_x\":12,\"size_y\":3,\"type\":\"visualization\"},{\"col\":1,\"id\":\"AWHWRzB1uiCz3jvXLjB9\",\"panelIndex\":2,\"row\":4,\"size_x\":4,\"size_y\":3,\"type\":\"visualization\"},{\"col\":5,\"id\":\"AWHWTDyouiCz3jvXMHmd\",\"panelIndex\":3,\"row\":4,\"size_x\":4,\"size_y\":3,\"type\":\"visualization\"},{\"col\":9,\"id\":\"AWHWefVTuiCz3jvXRbLT\",\"panelIndex\":4,\"row\":4,\"size_x\":4,\"size_y\":3,\"type\":\"visualization\"},{\"col\":1,\"id\":\"AWHWhw9vuiCz3jvXS1Sb\",\"panelIndex\":5,\"row\":7,\"size_x\":4,\"size_y\":5,\"type\":\"visualization\"},{\"col\":5,\"id\":\"AWHWq6wBuiCz3jvXXqYo\",\"panelIndex\":6,\"row\":7,\"size_x\":4,\"size_y\":5,\"type\":\"visualization\"},{\"col\":9,\"id\":\"AWHXprt1uiCz3jvX3lHz\",\"panelIndex\":7,\"row\":7,\"size_x\":4,\"size_y\":5,\"type\":\"visualization\"}]",
 "optionsJSON": "{\"darkTheme\":false}",
 "uiStateJSON": "{\"P-5\":{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":null,\"direction\":null}}}},\"P-6\":{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":null,\"direction\":null}}}},\"P-7\":{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":null,\"direction\":null}}}}}",
 "version": 1,
 "timeRestore": false,
 "kibanaSavedObjectMeta": {
 "searchSourceJSON": "{\"filter\":[{\"query\":{\"match_all\":{}}}],\"highlightAll\":true,\"version\":true}"
 }
 }
 }
]

万事俱备,开始监控网络吧!

九、总结

本文描述了使用开源工具分析网络活动的方法,特别是通过集成BRO IDS和Intel Critical Stack。

这种方法对于检测受感染的计算机是有效的,并且除了劳动力成本之外不需要小企业的其他投入。

此外,还提供了关于如何配置Bro和Intel Critical Stack进行网络监控和数据收集的建议。最后,解释了如何使用ELK Stack来显示数据和解释图表。


原文发布时间为:2018-05-22

本文来自云栖社区合作伙伴“嘶吼网”,了解相关信息可以关注“嘶吼网”。

相关文章
|
10月前
|
数据采集 监控 网络安全
VMware Cloud Foundation Operations for Networks 9.0.1.0 发布 - 云网络监控与分析
VMware Cloud Foundation Operations for Networks 9.0.1.0 发布 - 云网络监控与分析
506 3
VMware Cloud Foundation Operations for Networks 9.0.1.0 发布 - 云网络监控与分析
|
10月前
|
机器学习/深度学习 大数据 关系型数据库
基于python大数据的青少年网络使用情况分析及预测系统
本研究基于Python大数据技术,构建青少年网络行为分析系统,旨在破解现有防沉迷模式下用户画像模糊、预警滞后等难题。通过整合多平台亿级数据,运用机器学习实现精准行为预测与实时干预,推动数字治理向“数据驱动”转型,为家庭、学校及政府提供科学决策支持,助力青少年健康上网。
|
12月前
|
数据采集 存储 数据可视化
Python网络爬虫在环境保护中的应用:污染源监测数据抓取与分析
在环保领域,数据是决策基础,但分散在多个平台,获取困难。Python网络爬虫技术灵活高效,可自动化抓取空气质量、水质、污染源等数据,实现多平台整合、实时更新、结构化存储与异常预警。本文详解爬虫实战应用,涵盖技术选型、代码实现、反爬策略与数据分析,助力环保数据高效利用。
634 0
|
监控 安全 Linux
Arista CloudVision 2025.1 - 多云和数据中心网络自动化、监控和分析
Arista CloudVision 2025.1 - 多云和数据中心网络自动化、监控和分析
581 2
Arista CloudVision 2025.1 - 多云和数据中心网络自动化、监控和分析
|
运维 监控 安全
如何高效进行网络质量劣化分析与流量回溯分析?-AnaTraf
在数字化时代,网络质量分析与流量回溯对保障业务运行至关重要。网络拥塞、丢包等问题可能导致业务中断、安全隐患及成本上升。传统工具常缺乏细粒度数据,难以溯源问题。流量回溯分析可还原现场,助力精准排障。AnaTraf网络流量分析仪作为专业工具,能高效定位问题,提升团队响应力,降低运营风险。
如何高效进行网络质量劣化分析与流量回溯分析?-AnaTraf
|
大数据
“你朋友圈的真面目,大数据都知道!”——用社交网络分析看透人情世故
“你朋友圈的真面目,大数据都知道!”——用社交网络分析看透人情世故
653 16
|
存储 人工智能 编解码
Deepseek 3FS解读与源码分析(2):网络通信模块分析
2025年2月28日,DeepSeek 正式开源其颠覆性文件系统Fire-Flyer 3FS(以下简称3FS),重新定义了分布式存储的性能边界。本文基于DeepSeek发表的技术报告与开源代码,深度解析 3FS 网络通信模块的核心设计及其对AI基础设施的革新意义。
Deepseek 3FS解读与源码分析(2):网络通信模块分析
|
机器学习/深度学习 运维 自然语言处理
VMware Cloud Foundation Operations for Networks 9.0 发布 - 云网络监控与分析
VMware Cloud Foundation Operations for Networks 9.0 发布 - 云网络监控与分析
207 0
|
存储 安全 物联网
浅析Kismet:无线网络监测与分析工具
Kismet是一款开源的无线网络监测和入侵检测系统(IDS),支持Wi-Fi、Bluetooth、ZigBee等协议,具备被动监听、实时数据分析、地理定位等功能。广泛应用于安全审计、网络优化和频谱管理。本文介绍其安装配置、基本操作及高级应用技巧,帮助用户掌握这一强大的无线网络安全工具。
2119 9
浅析Kismet:无线网络监测与分析工具
|
数据采集 机器学习/深度学习 人工智能
基于AI的网络流量分析:构建智能化运维体系
基于AI的网络流量分析:构建智能化运维体系
2521 13

热门文章

最新文章