在本节课中,你将了解入侵防御系统(IPS)。
完成本部分后,你应该能够实现这张幻灯片上显示的目标。
通过展示IPS的能力,你将能够在企业网络中部署、调优和排除IPS故障。
介绍IPS检测在企业网络中的部署和调优方法。
IPS使用特征库来检测已知的攻击。还可以通过IPS签名检测网络错误和异常。
与反病毒特征库一样,IPS特征库也通过FortiGuard进行升级。
部署IPS解决方案没有单一的正确方法。这在很大程度上取决于网络和应用程序的需求。然而,在大多数情况下,你将遵循这张幻灯片上显示的步骤。
IPS方案的部署通常分为三个阶段:
● 分析:管理员定义保护的内容和位置。
● 评估:IPS初始配置完成后,管理员根据IPS日志进行进一步调整。在此阶段,只对流量进行监控,不进行阻断。
● 维护:IPS配置正常后,管理员将IPS配置为“保护”。管理员必须继续监视日志,并在出现任何误报或误报时进行进一步调整。
在这一课中你会学到更多关于每个阶段的知识。
在分析阶段,你必须确定:
● 需要保护的服务
● 这些服务面临的威胁
● 在哪里开启IPS检测
设定切合实际的期望。重点保护需要保护的服务。从最关键的服务开始,并将威胁分类为组。
在评估阶段,一次只启用一组签名,从更关键的开始。请等待并分析日志。如果发现有问题,请对IPS配置进行微调。当你对其中一个签名组感觉舒适后,可以对下一个签名组启用IPS保护。这个过程可能需要一到两周。
为了减少误报的数量,请将设置为阻止的签名列表设置为小而精确的。这个列表应该包括对关键服务最危险的攻击。
部署IPS解决方案后,需要继续监控IPS事件。
检查IPS事件时,请从产生次数最多的事件或优先级高的事件开始。
针对每种事件类型,分析IP地址、服务和攻击类型。分析应该帮助你确定事件是真正的攻击还是误报。
尽可能多地消除误报。对于每个误报,首先尝试在流量的源或目标中进行更改,从而解决问题。你也可以使用IPS豁免。
在本节中,介绍IPS的高级配置。
全局IPS配置会影响整个FortiGate设备的IPS引擎运行。大多数情况下,你不需要修改这些值,因为默认值在大多数情况下都可以很好地工作。然而,在某些情况下,更改这些设置可能是有益的。
intelligent-mode命令用来控制IPS的自适应扫描行为。
启用自适应扫描功能后,IPS会在安全的情况下停止扫描每条会话的流量。当禁用时,IPS扫描每个会话中的每个字节。
在本节中,你将学习如何创建自定义签名。
Fortinet IPS签名分为两类:
● 预定义签名是由FortiGuard分析人员开发的,它们作为常规FortiGuard更新包的一部分分发
● 自定义签名是由用户为特定的应用程序创建的
自定义签名由类型头和一系列选项和值对组成。
所有自定义签名都需要F-SBID头。选项以“--”开头,后面接选项名,有时还会接一个值。有些选项不需要值。必须将选项和值对的字符串括在圆括号中。此外,关键字不区分大小写,值是区分大小写的。
你可以在规则中包含多个选项,用分号分隔它们。自定义签名最大长度为1024字节,预定义签名最大长度为4096字节。
现在,你将了解支持的选项类型。这些选项根据其用途分为四类。
在创建自定义签名时,必须定义必需的选项,即名称、服务和流。
每个自定义签名的签名名不能重复。签名名最大长度为64个字符。
service选项用于指定会话类型,如HTTP、FTP等。一个签名中只能使用一次服务关键字。如果签名中既没有服务关键字也没有端口关键字,则签名将被添加到包括unknown_service在内的所有服务树中。
与service选项类似,flow选项在签名中只能出现一次,它定义了检测数据包的流向。
使用协议相关的选项来匹配协议头。
使用与有效负载相关的选项来匹配包有效负载的部分。
为各种目的使用特殊选项,以实现更细粒度的过滤。
在本例中,指定“应用类别”后,该签名将出现在“应用控制”下,而不是“IPS配置”下。
如果你计划创建自定义签名,请收集尽可能多的流量样本。好的示例帮助你识别模式,例如,源端口、目标端口、数据包负载中的特定字符串模式,等等。
除了协议模式之外,还要尝试匹配有效负载模式,因为有效负载模式对于你想要匹配的特定流量往往是唯一的。通过这种方式,你可能能够减少自定义签名的误报数量。
在本节中,你将了解IPS检测的硬件加速选项。
CP是CPU的协处理器。它加速了许多常见的资源密集型、与安全相关的过程。
从第一个FortiGate型号开始,Fortinet就在设计中加入了CP。CP工作在系统级。
CP8和CP9为IPS流量检测提供了快速通道,包括基于流量检测的会话。
CP处理器还可以加速密集的基于代理的任务:
● 加密和解密(SSL)
● 反杀毒
网络处理(NP)提供以下特性:
● IPS前异常过滤和日志记录
● 数据包传输
● 链路聚合
● IPsec加密和解密
SoC将通用CPU、NP和CP组合到一个单一的芯片中。它加速IPS检查流量。
SoC被应用于桌面或小型办公室型号。
通过本节的介绍,你可以了解IPS的故障处理。
处理IPS相关任务的守护进程有两种重要类型:
● ipsengine是处理所有检查和检测任务的主要守护进程类型
● ipshelper处理的操作的结果可以被不同的ipsengine守护进程共享
在一些FortiGate型号中,可以看到ipsengine守护进程运行的多个实例。
当IPS socket缓冲区没有足够的可用内存来接收新数据包时,IPS进入打开失败模式。当FortiGate处于保护模式时,IPS也进入打开失败模式。该状态下发生什么取决于IPS的配置。如果启用了fail-open设置,一些新数据包(取决于系统负载)可能会在没有检查的情况下通过。如果它被禁用,新的数据包可能会被丢弃。
IPS打开失败事件会在崩溃日志中记录。该日志指示是否有新的数据包被丢弃或通过。
IPS打开失败进入和退出事件也会产生事件日志。
频繁的IPS打开失败事件通常表明IPS无法满足流量需求。所以,试着识别模式。最近交通量增加了吗?吞吐量需求增加了吗?
调整和优化IPS配置:根据需要检测的流量类型,创建IPS配置文件,对不需要的策略禁用IPS配置文件。
IPS进程CPU占用率短峰值可能是由防火墙策略或配置文件的变化引起的。这些峰值通常是正常的。当FortiGate拥有数百个策略和配置文件或许多虚拟域时,可能会发生峰值。IPS引擎CPU持续高使用率不是正常现象,需要排查。
如果出现了IPS导致的高CPU使用问题,可以使用带选项5的诊断测试应用程序ipsmonitor命令来隔离问题可能在哪里。选项5启用IPS旁路模式。在该模式下,IPS仍在运行,但不进行流量检测。如果CPU使用率在此之后下降,通常表明正在检查的通信量对于特定的FortiGate模型来说太高了。如果启用IPS旁路模式后CPU使用率仍然很高,这通常表明IPS引擎存在问题,必须向Fortinet的支持部门报告。
如果启用了IPS旁路模式,请记得在排除故障后使用选项5禁用IPS旁路模式。
另一个需要记住的建议是:如果你需要重启IPS,不要使用diagnose sys top kill命令。相反,使用选项99,如这张幻灯片所示。这样可以保证所有与IPS相关的进程能够正常重启。
如果IPS产生了误报,首先确定是哪个签名产生了误报。你可以使用IP豁免作为解决方案。此外,你可以向FortiGuard团队提供嗅探样本和匹配日志,以便进一步调查。
误报更难发现和排除。检查以下几点:
● 流量是否命中了正确的策略或IPS配置文件?必要时使用嗅探器和调试流。
● CPU和内存使用率正常
● IPS引擎不会崩溃
● IPS配置是否正确
同样,在验证了所有这些因素之后,你可以收集嗅探器样本,以及应用程序流量的详细信息,将所有信息提供给Fortinet IPS团队进行调查。
这张幻灯片展示了你在这节课中所学到的目标。