2. 网络安全与入侵检测基础
在构建 IDS 规则与机器学习检测工程之前,必须先厘清一个根本问题:我们究竟在“检测什么”、检测系统“放在哪里”、以及它“凭什么判断这是攻击”。本章围绕 IDS/IPS 的定义、分类、部署位置、检测原理与典型应用场景展开,为后续规则编写与模型训练建立共同语言。
一、IDS 与 IPS 的定义与本质差异
IDS(Intrusion Detection System,入侵检测系统)是一类对网络流量或主机行为进行监控、分析并产生告警的安全系统。它的核心职责是“发现”,即识别出偏离正常基线的行为或匹配已知攻击特征的事件,并通知管理员。IDS 通常以旁路方式接入,不改变原始流量路径,因此不会成为业务链路的单点故障。
IPS(Intrusion Prevention System,入侵防御系统)在检测能力之上增加了“阻断”动作。它串联部署在流量必经路径上,一旦命中高危规则,可实时丢弃数据包、重置连接或封禁源 IP。IPS 的检测逻辑与 IDS 高度相似,但引入了在线时延与误杀风险两个额外约束:判断错误不再只是“多一条告警”,而可能直接中断正常业务。
二、分类维度:从数据源到检测方法
IDS/IPS 的分类通常从两个正交维度展开:数据来源与检测方法。
- 按数据源:NIDS(网络型)监听网卡流量,覆盖广、对主机无侵入;HIDS(主机型)采集系统调用、文件完整性、日志与进程行为,能发现加密流量内部的异常,但需在每台主机部署 Agent。
- 按检测方法:特征检测(Signature-based)依赖已知攻击模式库,准确率高、误报低,但无法发现未知攻击;异常检测(Anomaly-based)先建立正常行为基线,偏离即告警,可发现 0day,但误报率较高。
- 按响应方式:IDS 为被动告警,IPS 为主动阻断,二者常以“检测引擎 + 响应策略”组合出现。
三、部署位置:决定“看得见什么”
部署位置直接决定检测系统的可见范围与价值。常见位置包括:
| 部署位置 | 可见流量/数据 | 典型用途 |
|---|---|---|
| 互联网边界(DMZ 外侧) | 南北向流量、外部扫描与攻击 | 阻断外部入侵、发现扫描行为 |
| 核心交换机镜像口 | 东西向内部流量 | 发现横向移动、内网渗透 |
| 服务器主机 | 系统调用、文件、进程、日志 | 检测提权、WebShell、持久化 |
| 云负载均衡/虚拟网卡 | 租户 VPC 流量 | 云原生环境东西向检测 |
需要特别注意的是:加密流量会让 NIDS 的载荷特征检测失效,此时要么在可控节点做 TLS 解密,要么转向基于流统计特征(包长、时序、方向)的检测方法。
四、检测原理:从规则匹配到行为建模
无论 IDS 还是 IPS,其检测引擎都可抽象为“采集 → 解析 → 匹配/建模 → 判定 → 响应”的信号链。下图展示了这一核心数据流与各环节的关键对象。
特征检测的典型实现是 Snort/Suricata 规则,其结构可简化为“动作 + 协议 + 方向 + 源/目的 + 选项”。例如一条检测 HTTP 路径穿越的规则:
alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS (
msg:"WEB-ATTACKS path traversal attempt";
flow:to_server,established;
content:"../"; http_uri;
classtype:web-application-attack;
sid:1000001; rev:1;
)
异常检测则先对正常流量建模,例如统计单位时间内某源 IP 的失败登录次数、DNS 查询熵值或 TLS 握手包长分布,再以阈值或模型打分判定偏离程度。两者并非互斥,工程上常采用“规则兜底 + 模型补充”的混合架构。
五、典型应用场景
- 边界防护:在互联网出口部署 IPS,阻断扫描、暴力破解、已知漏洞利用。
- 内网横向检测:在核心交换机镜像口部署 NIDS,发现 SMB 爆破、端口扫描、C2 心跳。
- 主机入侵检测:在关键服务器部署 HIDS,监控 WebShell 写入、提权命令、计划任务持久化。
- 云与容器环境:以 DaemonSet 形式采集容器网络与运行时行为,检测逃逸与异常进程。
- 合规审计:满足等保、PCI-DSS 对入侵检测与日志留存的要求。
六、常见误区与复盘要点
误区一:把 IDS 当 IPS 用。旁路 IDS 无法阻断,若误以为已拦截,实际攻击仍在进行。需明确“检测”与“阻断”的边界。
误区二:只依赖特征库。面对 0day、加密 C2、Living-off-the-Land 攻击,纯特征检测会大面积漏报,必须引入行为基线。
误区三:忽视部署位置。镜像口配置错误、流量未覆盖东西向、Agent 未覆盖关键主机,都会导致“检测系统在线但看不见攻击”。
误区四:不调优误报。IPS 误杀正常业务比漏报更危险,上线前必须经过观察模式(IDS 模式)验证与白名单调优。
复盘建议:每次告警后追问三个问题——数据源是否覆盖该路径?检测方法是特征还是异常?响应动作是告警还是阻断?这三个问题分别对应“可见性、检测能力、响应策略”,是 IDS/IPS 工程化的核心三角。
理解本章内容后,后续编写 Snort/Suricata 规则、构建异常检测特征、设计告警分级与响应流程,都将围绕“数据源—检测方法—部署位置—响应动作”这条主线展开。只有先明确检测系统在架构中的位置与能力边界,规则与模型才能真正落地生效。