如何使用Bro IDS和Intel Critical Stack分析网络活动-阿里云开发者社区

开发者社区> 技术小能手> 正文

如何使用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

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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Android使用pull解析xml
一、理论准备     Pull解析器的运行方式与 SAX 解析器相似。它提供了类似的事件,如:开始元素和结束元素事件,使用parser.next()可以进入下一个元素并触发相应事件。跟SAX不同的是, Pull解析器产生的事件是一个数字,而非方法,因此可以使用一个switch对感兴趣的事件进行处理。
929 0
PostgreSQL · 特性分析 · 统计信息计算方法
一条SQL在PG中的执行过程是: ----> SQL输入 ----> 解析SQL,获取解析后的语法树 ----> 分析、重写语法树,获取查询树 ----> 根据重写、分析后的查询树计算各路径代价,从而选择一条成本最优的执行树 ----> 根据执行树进行执行 ----> 获取结果并返回
1581 0
container_of分析--可用good【转】
转自:http://blog.csdn.net/tigerjibo/article/details/8299589 版权声明:本文为博主原创文章,未经博主允许不得转载。   1.container_of宏 1> Container_of在Linux内核中是一个常用的宏,用于从包含在某个结构中的指针获得结构本身的指针,通俗地讲就是通过结构体变量中某个成员的首地址进而获得整个结构体变量的首地址。
880 0
【开年Hi购季】网络产品优惠活动看板
2019年3月4日阿里云网络产品3月Hi购季正式开始!网络8款产品全力放价,部分产品低至5折。https://www.aliyun.com/acts/product-section-2019/products?spm=5176.
10898 0
使用IntelliJ IDEA 14和Maven创建java web项目
原文:使用IntelliJ IDEA 14和Maven创建java web项目 http://mark.leanote.com/post/%E4%BD%BF%E7%94%A8IntelliJ-IDEA-14%E5%92%8CMaven%E5%88%9B%E5%BB%BAjava-web%E9%A1%B9%E7%9B%AE 安装Maven 下载安装 去maven官网下载最新版。
1283 0
Android使用SAX解析xml
一、理论准备     SAX采用事件驱动机制来解析XML文档,每当SAX解析器发现文档开始、元素开始、文本、元素结束、文档结束等事件时,就会向外发送一次事件,而开发者则可以通过编写事件监听器处理这些事件,以此来获取XML文档里的信息。
733 0
使用 Intel HAXM 为 Android 模拟器加速,媲美真机
转自:http://www.cnblogs.com/beginor/archive/2013/01/13/2858228.html 使用 Intel HAXM 为 Android 模拟器加速,媲美真机 Android 模拟器一直以运行速度慢著称, 本文介绍使用 Intel HAXM 技术为 Android 模拟器加速, 使模拟器运行度媲美真机, 彻底解决模拟器运行慢的问题。
1104 0
深入K8S Job(三):cronJob controller源码分析
源码流程图 概述 cronJob controller 的实现比较简单,使用 Cron - Wikipedia 的方法,确定调度规则,底层的调度对象就是依赖了 job,它不会去检查任何 Pod。 该 controller 也没有依赖各种 informer,就简单创建了一个循环运行的协程,每次遍历现有的 jobs & cronJobs,整理它们的关系并进行管理。
1235 0
+关注
技术小能手
云栖运营小编~
7208
文章
9
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载