入侵检测系统(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 端口)。
相关推荐
浪潮IT馆9 分钟前
Alibaba Cloud Linux 3 安装 Tomcat
linux·运维·tomcat
yuniko-n21 分钟前
【Linux】CentOS 部署 IPFS
linux·服务器·centos·ipfs
二进制星轨1 小时前
科研人如何使用ubantu服务器
运维·服务器
tobybo1 小时前
【BUG调查日记】用于压测的机器人进程内存压不住且脱离分配器的管理
服务器·bug·压力测试
网宿安全演武实验室1 小时前
【技术观察】反检测浏览器Camoufox 技术解构与思考
运维·安全
不吃鱼的羊3 小时前
ZSAR配置CANSM模块
服务器·网络
isaki1373 小时前
arm day1
linux·运维·arm开发
Dovis(誓平步青云)3 小时前
《场景化落地:用 Linux 共享内存解决进程间高效数据传输问题(终篇)》
linux·运维·服务器
java_logo3 小时前
PERL Docker 容器化部署指南
linux·运维·docker·容器·eureka·centos·perl
一直向钱3 小时前
Ubuntu 服务器的无法使用WinSCP低版本连接登录
linux·服务器·ubuntu