freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

如何单机实时分析日均数亿安全日志?
2024-11-25 12:39:00
所属地 上海

一、前言

在甲方做安全建设的时候,不可避免遇到大数量级的数据进行处理、分析的任务,比如分析整个公司的WAF日志、进程派生数据、K8s日志等等去发现风险,尤其在初期做反入侵的策略的时候,需要及时告警但又频繁修改策略,我们就需要一个能够编写策略而且可以顺利平滑发布新策略的系统。

这个系统是ELKEID HUB(由字节跳动开发并且开源),一个策略编写和分析平台,可以满足上面的需求,并且经过了几个月实践下来,对其比较满意。

二、搭建处理日均数亿的系统

ELKEID HUB需要搭配其他系统使用,需要自行配置Kafka、Elasticsearch、Kibana。

Kafka:它主要用于构建实时数据管道和流处理应用程序。在大数据生态系统中,数据的产生和处理往往是持续不断的,像网站的用户行为日志。

Elasticsearch:是一个分布式的、基于 RESTful API 的搜索和数据分析引擎。

Kibana:让用户能够更直观地理解和分析存储在 Elasticsearch 中的数据(后面用来查询分析数据)。

2.1、ELKEID HUB

Elkeid HUB 是一款由 Elkeid Team 维护的规则/事件处理引擎,支持流式/离线(社区版尚未支持)数据处理。 初衷是通过标准化的抽象语法/规则来解决复杂的数据/事件处理与外部系统联动需求。

参考文档:https://github.com/bytedance/Elkeid/blob/main/elkeidup/deploy_hub-zh_CN.md

这里也说一下这里的优缺点

先说下优点:性能高如json解码、正则都做了特殊优化(跟大佬交流得知)、平滑策略修改、可视化不错。

其实也有一些不足:比如ELKEID HUB很久没更新了(一些前端bug不修复),如果要使用分布式和编写插件的话需要购买商业版本(不能分布式的话,我觉得坑优点稍微大)。

推荐系统:ubtun20(ubuntu22会报不兼容)

# 配置可密钥登录
echo -e '\nPubkeyAuthentication yes' >> /etc/ssh/sshd_config
systemctl restart sshd


# 生成密钥
cd ~/.ssh/
ssh-keygen -t rsa -b 4096
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 


# 测试是否密钥是否可用
ssh 127.0.0.1
# 下载
mkdir -p /root/.elkeidup && cd /root/.elkeidup


wget https://github.com/bytedance/Elkeid/releases/download/v1.9.1.4/elkeidup_package_v1.9.1.tar.gz.00
wget https://github.com/bytedance/Elkeid/releases/download/v1.9.1.4/elkeidup_package_v1.9.1.tar.gz.01
wget https://github.com/bytedance/Elkeid/releases/download/v1.9.1.4/elkeidup_package_v1.9.1.tar.gz.02
cat elkeidup_package_v1.9.1.tar.gz.* > elkeidup_package_v1.9.1.tar.gz


tar -xf elkeidup_package_v1.9.1.tar.gz
chmod a+x /root/.elkeidup/elkeidup


# ./elkeidup init --host {ip} --hub_only 生成配置文件config_example.yaml
./elkeidup init --host 10.234.170.51 --hub_only
cp config_example.yaml config.yaml 


# 部署
./elkeidup deploy --hub_only

2.2、Kafka

通过容器部署Kafka,注意下面的方式无法远程访问(只能在容器内进行访问),如果有需求自行修改。

参考文档:https://github.com/bitnami/containers/tree/main/bitnami/kafka

version: "2"


services:
zookeeper:
image: docker.io/bitnami/zookeeper:3.9
ports:
- "2181:2181"
volumes:
- "zookeeper_data:/bitnami"
environment:
- ALLOW_ANONYMOUS_LOGIN=yes
kafka1:
image: docker.io/bitnami/kafka:3.4
ports:
- "9092:9092"
volumes:
- "kafka1_data:/bitnami"
environment:
- KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181
depends_on:
- zookeeper
kafka2:
image: docker.io/bitnami/kafka:3.4
ports:
- "9092:9092"
volumes:
- "kafka2_data:/bitnami"
environment:
- KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181
depends_on:
- zookeeper


volumes:
zookeeper_data:
driver: local
kafka1_data:
driver: local
kafka2_data:
driver: local
# 黑客 # 系统安全 # 企业安全
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录