中小企业级流量检测实战(第一期)—— Suricata与ELK快速部署

2025-02-11 2 0

引言

当前网络安全威胁呈现多样化、高频化的趋势。中小企业在预算有限的情况下,可通过开源技术栈构建高性价比的流量检测体系。本方案采用Suricata(实时入侵检测系统)作为流量分析引擎,结合ELK(Elasticsearch/Logstash/Kibana)构建日志分析平台,实现从流量检测、告警存储到可视化分析的全流程闭环。对于高并发场景,可通过Kafka消息队列实现流量削峰,结合Flink进行实时告警分析,形成完整的威胁检测与响应链条。

本期导读

本文为《企业级流量检测实战》系列首篇,重点讲解基础环境的快速搭建:

  1. Suricata检测引擎标准化安装

  2. ELK日志平台容器化部署

  3. 威胁检测规则集快速启用

  4. 基础告警流水线验证测试

下期预告:开源告警规则分类与规则优化

系统架构设计

核心组件拓扑

这是架构最终形态
中小企业级流量检测实战(第一期)—— Suricata与ELK快速部署插图

架构说明:

流量采集层:通过网卡镜像或网络分光获取未加密原始流量

检测引擎层:Suricata实现多线程流量解析与规则匹配

数据处理层:Kafka队列缓冲告警数据,Flink进行实时聚合分析

存储分析层:Elasticsearch分布式存储,Kibana可视化仪表盘

联动扩展层:通过Webhook对接SOAR平台实现自动化响应(可选)或对接告警群通知等。

硬件选型建议:生产环境建议采用双机热备架构,核心检测节点根据实际情况采用双端口25G网卡或其他,可以配合DPDK提升吞吐性能。


本期实现的架构如下
中小企业级流量检测实战(第一期)—— Suricata与ELK快速部署插图1

Suricata检测引擎标准化安装

生产环境部署规范

以下配置供参考

流量规模 CPU核心数 内存容量 网卡规格
≤1Gbps 8核 32GB 10G双口
1-5Gbps 16核 64GB 25G双口
≥5Gbps 32核+ 128GB+ 100G光卡

安装部署实践

演示中使用的是4c8g,centos7,部署在虚拟机中。
根据官方文档,选择软件包的方式进行安装,部署步骤如下
sudo yum install epel-release yum-plugin-copr
中小企业级流量检测实战(第一期)—— Suricata与ELK快速部署插图2
sudo yum copr enable @oisf/suricata-7.0
中小企业级流量检测实战(第一期)—— Suricata与ELK快速部署插图3
sudo yum install suricata
中小企业级流量检测实战(第一期)—— Suricata与ELK快速部署插图4
执行完成后可以输入suricata来验证是否安装成功
中小企业级流量检测实战(第一期)—— Suricata与ELK快速部署插图5

ELK日志平台容器化部署

生产环境部署建议

指标 推荐配置
节点数量 1 master + 3 data
存储容量 告警量×1.5×保留天数
分片策略 按月创建索引

每100万条告警约占用1GB

Docker快速部署方案

方便演示我采用的是docker镜像的方式部署,实际生产环境中需要根据情况选择源码部署并搭建es集群。快速部署步骤如下
git clone https://github.com/deviantony/docker-elk.git
docker compose up setup
docker compose up
中小企业级流量检测实战(第一期)—— Suricata与ELK快速部署插图6
使用docker ps查看状态是否正常
中小企业级流量检测实战(第一期)—— Suricata与ELK快速部署插图7
访问http://部署地址:5601,这里我的地址是http://192.168.47.134:5601
中小企业级流量检测实战(第一期)—— Suricata与ELK快速部署插图8
初始用户名:elastic,密码:changeme

suricata插件集成

搜索栏中搜索suricata,并点击添加
中小企业级流量检测实战(第一期)—— Suricata与ELK快速部署插图9
点击集成,在点击独立运行。
中小企业级流量检测实战(第一期)—— Suricata与ELK快速部署插图10


接下来按照如下步骤进行

  1. 点击创建API秘钥

  2. 点击下载策略

  3. 输入命令下载elastic-agent
    curl -L -O https://artifacts.elastic.co/downloads/downloads/beats/elastic-agent/elastic-agent-8.17.1-linux-x86_64.tar.gz
    tar xzvf elastic-agent-8.17.1-linux-x86_64.tar.gz

  4. cd elastic-agent-8.17.1-linux-x86_64
    上传下载的配置文件,修改elastic-agent.yml文件的host地址为es地址
    中小企业级流量检测实战(第一期)—— Suricata与ELK快速部署插图11

  5. 执行安装命令
    sudo ./elastic-agent install
    中小企业级流量检测实战(第一期)—— Suricata与ELK快速部署插图12

  6. 成功后可以在discover查看到agent上传的日志

中小企业级流量检测实战(第一期)—— Suricata与ELK快速部署插图13

威胁检测规则集快速启用

  • 规则集下载,使用ET-OPEN开源规则集

  • 上传至默认规则地址/var/lib/suricata/rules
    中小企业级流量检测实战(第一期)—— Suricata与ELK快速部署插图14

  • 修改suricata.yaml配置文件,选择监听的网卡与启用的规则内容。

suricata配置文件地址/etc/suricata/suricata.
中小企业级流量检测实战(第一期)—— Suricata与ELK快速部署插图15
中小企业级流量检测实战(第一期)—— Suricata与ELK快速部署插图16

  • 启动suricata
    systemctl start suricata
    使用systemctl status suricata查看启动状态
    中小企业级流量检测实战(第一期)—— Suricata与ELK快速部署插图17

基础告警流水线验证测试

  1. 生成测试流量
    yum update

  2. 查看告警日志

  • 进入/var/log/suricata中查看fast.log日志
    中小企业级流量检测实战(第一期)—— Suricata与ELK快速部署插图18

  • kibana查看日志
    中小企业级流量检测实战(第一期)—— Suricata与ELK快速部署插图19

部署自检清单

检查项 检测命令 预期结果
Suricata服务状态 systemctl status suricata Active (running)
ELK容器状态 docker compose ps 3 services healthy
ES数据写入 curl -XGET ELK_IP:9200/_cat/indices?v 存在logs-suricata.eve-*索引
规则加载正确 grep 'rules successfully loaded' /var/log/suricata/suricata.log 大于0

小结

本期目标主要是实现suricata与elk环境的快速搭建与检测,后续将从遇到规则优化问题、告警削峰、告警分析问题出发一步一步修改完善系统。


4A评测 - 免责申明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。

不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。

本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!

程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。

侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)

相关文章

基于CIS框架的数据库安全防护方案设计
代码审计 | 某商城系统
Vulnhub靶场之Phineas
[Meachines] [Easy] Precious Ruby-pdfkit-RCE+Ruby YAML反序列化权限提升
美国医疗系统遭遇重大数据泄露,88.2万患者信息被曝光
DeepSeek应用未加密传输敏感用户和设备数据,引发安全担忧

发布评论