QNSM(IQIYI Network Security Monitor) 是一个旁路部署的全流量,实时,高性能网络安全监控引擎,基于DPDK开发,集成了DDOS检测和IDPS模块。
DDOS检测
DDOS检测功能包括:
全流量检测,可以部署在IDC环境,支持SYN,ACK,RST,FIN,SYNACK,ICMP,UDP FLOOD以及反射攻击(DNS/NTP/SSDP反射…).
实时多维度聚合数据
流采样数据,提供攻击事件未检出后的fall back机制.
随时停启的聚合数据输出
数据以json格式输出,便于数据分析.
针对UDP反射攻击,提供DFI/DPI机制(MEMCACHE,TFTP,CHARGEN,CLDAP,QOTD…).
事件过程中dump攻击数据包.
支持IPv4和IPv6
IDPS
IDPS模块基于Suricata,并新增了如下特性,
支持lib化编译安装,基于Suricata 4.1.0版本
支持事件以Kafka方式输出,提升事件吞吐量,便于进一步数据分析
架构描述
整体功能模块图如下:
基础模块
包含PORT,CPU 消息、配置文件、表项管理接口、调度框架等基础功能模块。
流水线模块
SESSM:DDOS检测,负责IPv4和IPv6数据包解析,采样FLOW数据聚合,应用层DFI解析,ACL策略下发。
SIP_AGG:DDOS检测攻击源聚合和输出。
VIP_AGG:DDOS检测VIP自学习,数据聚合和输出。
DUMP:DDOS攻击数据包DUMP并保存为pcap文件。
EDGE:类似于broker,输出多维数据至KAFKA。
DETECT:IDPS检测。
控制面和工具
主要包括Master组件以及相关配置文件。
Master负责接收分析中心的攻击事件策略并下发至相应的转发面组件,包含dump数据包,攻击源,攻击源端口,反射攻击proto DFI。
IDPS管理服务
FM/FR:IDPS 资源管理和回收
CS:IDPS 统计数据
项目地址
开源地址:https://github.com/iqiyi/qnsm