postman关闭ssl验证_使用Elasticsearch与TheHive构建开源安全应急响应平台

概述

通过开源软件可以构建一个安全应急响应平台,该平台可以进行日志整合、告警生成、IoC 丰富与事件管理。

在上面的流程图中,作为 HIDS 的 Wazuh 将数据发送回 Wazuh Manager 与 Elasticsearch。ElastAlert 观测到新事件并在 TheHive 中相应生成告警。然后通过 Cortex 与 MISP 查询额外信息丰富该事件,之后自动关闭该事件或提交给分析师。

请注意,系统中的任何端点服务或者可以生成日志传送给 Elasticsearch 的 Agent 都可以被替代。该套系统的好处在于绝大多数的组件都可以替换。

Wazuh

Wazuh 是一个开源安全监控解决方案,用于收集、分析主机安全数据。Wazuh 是 OSSEC 项目的分支。Wazuh 组件与 Elasticsearch 和 Kibana 的整合度很高,可以用来执行许多与安全相关的任务,如日志分析、Rootkit 检测、监听端口检测、文件完整性检测等。

Elasticsearch

Elasticsearch 将充当整个系统的日志存储库。Elasticsearch 非常强大,具备很多功能。常与 Logstash(日志收集)和 Kibana(可视化)结合使用。Elasticsearch 为所有类型的数据存储都提供了一个强大的平台。

ElastAlert

ElastAlert 是由 Yelp 发起的项目,为 Elasticsearch 提供告警机制。ElastAlert 通过 REST API 查询 Elasticsearch 并有多个输出来匹配告警。

TheHive

TheHive 是一个可扩展的、开源、免费安全应急响应平台,旨在让任何安全从业人员能够轻松地处理安全事件,并快速地采取行动。本质上讲 TheHive 是一个告警管理平台,用于管理全部事件告警。

Cortex

Cortex 与 TheHive 是一个团队开发的产品。Cortex 使用分析器获取日志中有关指标信息的其他数据。允许在第三方服务中查询 IP、URL 与文件哈希等指标,并将第三方返回的结果作为附加信息丰富告警事件。

MISP

MISP 是 CIRCL 维护的开源威胁情报共享平台,其 Feed 可以是某个组织提供的付费订阅,也可以是社区维护的开源订阅,这也是数据丰富的主要来源。

Elasticsearch 安装

首先部署 Elasticsearch 集群,系统使用 Ubuntu 16.04(文章使用虚拟机安装,DHCP 为该虚拟机预留了地址,确保其始终使用相同的 IP 地址)。

作者提供了 Vagrantfile 帮助配置构建 Elasticsearch 虚拟机。

ELK 安装

注意:TheHive 正在进行一些后端重构,这会导致设置复杂化。TheHive 背后的开发团队认为 Elasticsearch 已经不再满足它们的需求了,4.0 版本后将在后端使用 GraphDB。当前稳定版本 3.2.1 版本以及我们在此使用的 beta 版本 3.3.0 都是用 Elasticsearch 5.6 作为后端。因此,在虚拟机中需要部署 Elasticsearch、Logstash 和 Kibana 6.6.1 作为日志存储仓库,另一个 Elasticsearch 5.6.15 部署在 TheHive 虚拟机中作为后端。

虽然我总结了安装步骤,但是如果需要进一步了解细节可以查看安装指南。# 首先安装 Java,选择使用 OpenJDK 安装

sudo apt-get install openjdk-8-jre

# 添加密钥与仓库

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

echo "deb https://artifacts.elastic.co/packages/6.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-6.x.list

sudo apt-get update

# 为了防止更新破坏 SearchGuard,选择安装固定版本的 Elasticsearch

apt-cache policy elasticsearch

sudo apt-get install elasticsearch=6.6.1 logstash=1:6.6.1-1 kibana=6.6.1

# 阻止软件更新

sudo apt-mark hold elasticsearch logstash kibana

# 将 Elasticsearch、Logstash 和 Kibana 设置为自启动

sudo systemctl daemon-reload

sudo systemctl enable elasticsearch.service

sudo systemctl enable logstash.service

sudo systemctl enable kibana.service

# 未来确定好兼容性,可以进行升级

sudo apt-mark unhold elasticsearch

优化

默认情况下,Elasticsearch 依赖的 Java 堆的大小为 1 GB。可以通过修改 /etc/elasticsearch/jvm.options 中的 Xms1g 与 Xmx1g 参数,将其增加到总内存的 50-80%。我的虚拟机只有 4GB 内存,所以我保留了默认值。

编辑配置文件 /etc/elasticsearch/elasticsearch.yml:取消 cluster.name 和 node.name 的注释,并设置为不同的名字

设置 bootstrap.memory_lock 为 True

设置 network.host 为 0.0.0.0

设置 discovery.type 为 single-node

编辑服务 sudo systemctl edit elasticsearch.service:[Service]

LimitMEMLOCK=infinity

然后继续执行:# 重新加载

sudo systemctl daemon-reload

# 重新启动

sudo systemctl start elasticsearch.service

# 检查确保 Elasticsearch 可用

curl http://localhost:9200/_cat/health

应该可以看到类似的响应:1551641374 19:29:34 demo-cluster green 1 1 0 0 0 0 0 0 - 100.0%

Kibana

编辑 Kibana 的配置文件:sudo nano /etc/kibana/kibana.yml

设置 Kibana 来响应外部接口:server.host: 0.0.0.0

启动服务:sudo systemctl start kibana.service

打开浏览器:http://:5601 应该可以看到 Kibana 控制台

Logstash

按照如下命令执行:sudo apt install logstash

sudo systemctl enable logstash.service

sudo systemctl daemon-reload

注意:此时 Logstash 没有运行。

Wazuh 安装

这部分将讲述如何安装 Wazuh Manager,并将 Wazuh 与 Elasticsearch 进行集成。

使用 Wazuh 的 Agent 及其规则集来识别端点的行为并生成告警。这些告警从 Wazuh 的 Agent 转发到 Wazuh Manager 写入 /var/ossec/logs/alerts/alerts.json。Filebeat 的服务不断监视该文件的更改,然后转发给 Elasticsearch。

Wazuh Manager# 为 Wazuh 仓库安装 GPG 密钥

curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH | apt-key add -

# 添加仓库

echo "deb https://packages.wazuh.com/3.x/apt/ stable main" | tee -a /etc/apt/sources.list.d/wazuh.list

# 升级

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值