引言
当前网络安全威胁呈现多样化、高频化的趋势。中小企业在预算有限的情况下,可通过开源技术栈构建高性价比的流量检测体系。本方案采用Suricata(实时入侵检测系统)作为流量分析引擎,结合ELK(Elasticsearch/Logstash/Kibana)构建日志分析平台,实现从流量检测、告警存储到可视化分析的全流程闭环。对于高并发场景,可通过Kafka消息队列实现流量削峰,结合Flink进行实时告警分析,形成完整的威胁检测与响应链条。
本期导读
本文为《企业级流量检测实战》系列首篇,重点讲解基础环境的快速搭建:
-
Suricata检测引擎标准化安装
-
ELK日志平台容器化部署
-
威胁检测规则集快速启用
-
基础告警流水线验证测试
下期预告:开源告警规则分类与规则优化
系统架构设计
核心组件拓扑
这是架构最终形态
架构说明:
流量采集层:通过网卡镜像或网络分光获取未加密原始流量
检测引擎层:Suricata实现多线程流量解析与规则匹配
数据处理层:Kafka队列缓冲告警数据,Flink进行实时聚合分析
存储分析层:Elasticsearch分布式存储,Kibana可视化仪表盘
联动扩展层:通过Webhook对接SOAR平台实现自动化响应(可选)或对接告警群通知等。
硬件选型建议:生产环境建议采用双机热备架构,核心检测节点根据实际情况采用双端口25G网卡或其他,可以配合DPDK提升吞吐性能。
本期实现的架构如下
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
sudo yum copr enable @oisf/suricata-7.0
sudo yum install suricata
执行完成后可以输入suricata来验证是否安装成功
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
使用docker ps查看状态是否正常
访问http://部署地址:5601,这里我的地址是http://192.168.47.134:5601
初始用户名:elastic,密码:changeme
suricata插件集成
搜索栏中搜索suricata,并点击添加
点击集成,在点击独立运行。
接下来按照如下步骤进行
-
点击创建API秘钥
-
点击下载策略
-
输入命令下载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
-
cd elastic-agent-8.17.1-linux-x86_64
上传下载的配置文件,修改elastic-agent.yml文件的host地址为es地址 -
执行安装命令
sudo ./elastic-agent install
-
成功后可以在discover查看到agent上传的日志
威胁检测规则集快速启用
-
规则集下载,使用ET-OPEN开源规则集
-
上传至默认规则地址/var/lib/suricata/rules
-
修改suricata.yaml配置文件,选择监听的网卡与启用的规则内容。
suricata配置文件地址/etc/suricata/suricata.
-
启动suricata
systemctl start suricata
使用systemctl status suricata查看启动状态
基础告警流水线验证测试
-
生成测试流量
yum update
-
查看告警日志
-
进入/var/log/suricata中查看fast.log日志
-
kibana查看日志
部署自检清单
检查项 | 检测命令 | 预期结果 |
---|---|---|
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(#换成@)