入侵检测系统(IDS)和入侵防御系统(IPS)

在前面,我们已经详细介绍了linux的安全机制的大致框架,我们以纵深防御体系作为切入点来进行谈论,从网络层-->系统层-->应用层来进行详细讲述,那么接下来就是来讲述在各个层面所要涉及的工具,在防御体系中,工具是必不可少的。我们这里先介绍网络层所涉及的工具。包括但是不限于iptables--网络防火墙,Tcp wrappers--构建应用访问控制列表,Denyhosts--防止对SSH服务进行暴力破解,堡垒机--也叫跳板机,堡垒机就是能够对其它的服务器进行管理和访问,入侵检测系统和入侵防御系统等等,这里我们先介绍入侵检测系统和入侵防御系统。

一、入侵检测系统(IDS:Intrusion Detection System)

IDS 的核心是 "发现入侵行为,不直接阻止",主要用于网络行为的监控、审计与告警,是安全体系中的 "眼睛"。

1. 介绍

通过采集网络流量或主机日志,对比预设规则或正常行为模型,识别出疑似入侵的操作(如端口扫描、异常数据传输),最终以告警形式通知管理员,全程不影响原始网络流量。

2. 主要作用
  • 实时监控:持续采集网络或主机数据,追踪异常行为(如陌生 IP 频繁访问敏感端口)。
  • 告警通知:检测到威胁时,通过邮件、系统弹窗等方式及时告知管理员,避免威胁被遗漏。
  • 事后审计:留存检测日志,方便攻击发生后追溯攻击路径、分析攻击手段,用于后续安全优化。
3. 工作原理
  1. 数据采集:从网络链路(如交换机镜像口)或主机(如操作系统日志、应用日志)获取原始数据。
  2. 行为分析:通过两种核心方式判断是否为入侵:
    • 异常检测:对比 "正常行为基线",偏离基线的操作(如某主机突然大量发送数据)判定为异常。
    • 误用检测:匹配 "已知攻击特征库"(如 SQL 注入、勒索病毒的特征码),命中特征则判定为入侵。
  3. 生成告警:确认疑似入侵后,生成包含攻击时间、来源 IP、攻击类型的告警信息,无其他干预动作。
4. 常见类别
分类维度 具体类型 特点
按检测方式 异常检测型 IDS 无需依赖特征库,能发现未知攻击,但误报率较高(易把正常异常行为判定为攻击)。
误用检测型 IDS 依赖已知攻击特征库,误报率低,但无法检测未收录的新型攻击。
按部署位置 网络型 IDS(NIDS) 部署在网络链路中(如核心交换机旁),监控整个网段的流量,覆盖范围广。
主机型 IDS(HIDS) 安装在单个主机上(如服务器、PC),监控该主机的日志和进程,检测精度高。

二、入侵防御系统(IPS:Intrusion Prevention System)

IPS 是在 IDS 基础上发展的 "检测 + 阻断" 一体化设备,核心是 "发现威胁的同时,主动阻止其破坏",是安全体系中的 "盾牌"。

1. 核心介绍

部署在网络主链路中,所有流量需经过 IPS 检测后才能通行;一旦识别出恶意流量,会立即按预设规则阻断(如丢弃数据包、封禁来源 IP),同时生成告警,实现 "实时防御"。

2. 主要作用
  • 实时阻断:检测到攻击时(如恶意代码传输、DDoS 攻击),直接拦截恶意流量,避免其到达目标设备。
  • 深度检测:除了 IDS 的特征匹配,还支持深度包解析(如分析应用层数据),能识别更隐蔽的攻击(如伪装成正常流量的恶意请求)。
  • 策略联动:可与防火墙、杀毒软件等设备联动,同步更新攻击特征库,提升整体防御效率。
3. 工作原理
  1. 流量接入:采用 "串联部署" 接入网络主链路,所有进出流量必须经过 IPS(区别于 IDS 的 "旁路复制")。
  2. 多层检测:先通过 "特征匹配" 检测已知攻击,再通过 "行为分析" 识别异常,部分高端 IPS 还支持 AI 分析未知威胁。
  3. 主动响应:确认攻击后,立即执行防御动作(如阻断当前连接、拉黑攻击 IP),同时生成告警并记录日志。
4. 常见类别
  • 网络型 IPS(NIPS):部署在网络出口或核心链路,拦截网段级别的恶意流量(如企业互联网出口的 IPS)。
  • 主机型 IPS(HIPS):安装在主机上,直接监控进程、文件和系统调用,阻断针对该主机的攻击(如服务器上的主机防护软件)。
  • 深度防御型 IPS:融合防火墙、VPN 等功能,支持多层检测与联动防御,适用于对安全性要求极高的场景(如金融、政务网络)。

三、IDS 与 IPS 的核心区别

为了能够更好地区分这两种检测系统,这里我做了一个详细的区分表格来进行两者的对比

对比维度 入侵检测系统(IDS) 入侵防御系统(IPS)
核心定位 监控者(发现威胁) 防御者(发现 + 阻断威胁)
流量干预能力 无,仅复制流量分析,不影响原流量 有,串联接入主链路,可阻断恶意流量
工作原理 采集数据→分析→告警 接入流量→检测→阻断 + 告警
响应方式 仅告警,需人工后续处理 自动阻断 + 告警,无需人工实时介入
误报影响 误报仅产生无效告警,无业务影响 误报可能阻断正常流量,导致业务中断
部署位置 旁路部署(如交换机镜像口) 串联部署(网络主链路中)
适用场景 核心主机监控、不允许中断业务的场景 网络出口、重要业务前端的防御场景

四、常见的开源的入侵检测系统和入侵防御系统

这里介绍一些常见的开源的IDS和IPS

一、开源入侵检测系统(IDS)

开源 IDS 工具主要聚焦 "发现威胁",核心优势是日志分析能力强、可自定义检测规则,以下是 3 款主流工具:

1. Snort
  • 特点:开源 IDS 领域的 "标杆工具",支持网络层实时检测,拥有庞大的官方规则库(如检测 SQL 注入、DDoS 攻击),也支持用户自定义规则。
  • 场景:需要对网络流量进行深度检测的场景,如企业内网核心链路监控、互联网出口的威胁探测。
2. Suricata
  • 特点 :基于 Snort 发展而来,支持多线程并行处理(性能优于传统 Snort),能同时分析网络流量和文件(如检测恶意附件),还支持与威胁情报平台联动。
  • 场景:高带宽网络环境(如 10G 以上链路)、需要同时检测流量和文件的场景,比如云服务器集群的网络监控。
3. Zeek(原 Bro)
  • 特点 :不依赖 "攻击特征匹配",更侧重流量行为分析,能生成结构化日志(如记录 HTTP 请求、DNS 查询详情),适合通过日志追溯攻击路径。
  • 场景:需要对网络行为进行审计和事后分析的场景,如高校校园网、科研机构的流量监控,便于后续溯源。
4. OSSEC
  • 特点 :开源主机型 IDS(HIDS),安装在单个主机上,监控系统日志、进程变化、文件篡改(如 /etc/passwd 被修改),支持跨平台(Linux/Windows)。
  • 场景:核心服务器的主机层防护,如数据库服务器、Web 服务器的本地行为监控,防止内部或已突破网络的攻击者篡改文件。
二、开源入侵防御系统(IPS)

开源 IPS 工具核心是 "主动阻断威胁",通常通过拦截流量、封禁 IP 等方式实现,以下是 3 款实用工具:

1. Snort(IPS 模式)
  • 特点:在 IDS 基础上启用 "inline 模式"(串联接入网络链路),检测到恶意流量时可直接丢弃数据包,或联动防火墙封禁攻击 IP。
  • 场景:中小规模网络的 "检测 + 防御" 一体化需求,如中小企业互联网出口的防护,无需额外部署独立 IPS 设备。
2. Suricata(IPS 模式)
  • 特点:同样支持 "inline 模式",且多线程性能更强,能在高带宽场景下快速阻断恶意流量,还支持 "协议异常检测"(如拦截不符合 TCP 规范的数据包)。
  • 场景:高带宽网络的实时防御,如电商平台大促期间的流量防护,防止 DDoS 攻击或恶意爬虫。
3. Fail2ban
  • 特点 :轻量级 IPS 工具,不分析网络流量,而是监控应用日志(如 SSH 登录日志、Nginx 访问日志),当发现异常行为(如 5 分钟内 10 次 SSH 登录失败)时,自动封禁来源 IP(通过 iptables)。
  • 场景:防御针对服务的暴力攻击,如服务器 SSH 端口防护、Web 服务的恶意登录拦截,配置简单,资源占用低(适合云服务器轻量防护)。
4. Shorewall
  • 特点:基于 Linux iptables 的防火墙工具,集成基础 IPS 功能,可通过规则拦截特定流量(如阻断来自某 IP 段的 HTTP 请求),支持按端口、协议、IP 地址制定防御策略。
  • 场景:需要结合防火墙和基础 IPS 功能的场景,如 Linux 服务器的本地防护,通过简单规则阻断常见攻击端口(如 135、445 端口)。
相关推荐
小白银子4 小时前
零基础从头教学Linux(Day 43)
linux·运维·服务器·nginx
The star"'4 小时前
Nginx 服务器
运维·服务器·nginx
慌糖4 小时前
自动化接口框架搭建分享-pytest第三部分
运维·自动化·pytest
迎風吹頭髮4 小时前
UNIX下C语言编程与实践12-lint 工具使用指南:C 语言源代码语法与逻辑错误检查实战
服务器·c语言·unix
迎風吹頭髮4 小时前
UNIX下C语言编程与实践11-UNIX 动态库显式调用:dlopen、dlsym、dlerror、dlclose 函数的使用与实例
服务器·c语言·unix
迎風吹頭髮4 小时前
UNIX下C语言编程与实践5-C 语言编译器 cc(gcc/xlc)核心参数解析:-I、-L、-D 的使用场景与实例
服务器·c语言·unix
weixin_307779135 小时前
通过AWS IAM Policy Simulator进行权限验证和模拟测试
运维·系统安全·aws·安全架构·安全性测试
安审若无5 小时前
PMON failed to acquire latch 的报错及sqlplus / as sysdba 无法连接
linux·运维·数据库
9毫米的幻想5 小时前
【Linux系统】—— 环境变量
linux·服务器·c语言·c++