在本课中,你将学习如何使用FortiGate来保护你的网络免受入侵,并监控和控制可能使用标准或非标准协议和端口的网络应用程序,而不仅仅是阻止或允许协议、端口号或IP地址。
在这节课中,你将学习上图显示的主题。
完成本部分后,你应该能够实现上图显示的目标。
通过展示IPS配置的能力,你将能够实施有效的IPS解决方案。
入侵防御系统(IPS)可以检测网络攻击,并防止威胁损害网络,包括受保护的设备。IPS利用签名、协议解码器、启发式(或行为监控)、威胁情报(如FortiGuard Labs)和高级威胁检测,可以防止利用已知和未知的零日威胁。FortiGate IPS可以执行深度数据包检查,以扫描加密的有效负载,以检测和防止来自攻击者的威胁。
IPS组件包括:
1. IPS签名:FortiGate上的IPS使用签名数据库来检测已知的攻击,如漏洞。基于速率的IPS签名还允许你检测异常,这些异常是网络中的异常行为,例如CPU使用率或网络流量高于正常水平。基于速率的IPS签名是行为分析的一部分,如DoS策略和协议约束检查,它们可以检测和监控(在某些情况下,阻止或缓解)异常,因为它们揭示了前所未有的新攻击的症状。
2. 协议解码器:协议解码器可以检测网络错误和协议异常。协议解码器根据协议规范解析每个数据包。通过了解协议,IPS可以识别异常或恶意活动,即使它们被封装在合法的协议行为中。如果流量不符合规范(例如,如果它向你的服务器发送格式错误或无效的命令),那么协议解码器会检测到错误。
3. IP引擎:除了应用控制、基于流的反病毒保护、Web过滤和电子邮件过滤外,IPS引擎还负责IPS和协议解码器。
FortiGate IPS传感器是IPS签名和过滤器的集合,定义了应用IPS传感器时IPS引擎将扫描的范围。IPS传感器中可能存在多组签名、过滤器或两者兼而有之。一组IPS签名由手动选择的签名组成,而一组IPS过滤器由基于目标、严重性、协议、操作系统和应用程序等签名属性的过滤器组成。每个签名都有预定义的属性和操作,如阻止、允许、监控(通过)、隔离和重置。也可以创建自定义IPS签名以应用于IPS传感器。
FortiOS包括具有相关预定义签名的预定义IPS传感器。例如default、all_default、protect_client、protect_hhtp_server等。
FortiGate下载了FortiGuard IPS软件包,新的签名将出现在签名列表中。在配置FortiGate时,你可以更改每个使用签名的传感器的操作设置。
默认动作设置通常是正确的,但以下情况除外:
● 你的软件供应商发布了安全补丁。继续扫描漏洞浪费FortiGate资源。
● 你的网络有一个自定义应用程序,其流量无意中触发了IPS签名。你可以更改操作设置,直到你通知Fortinet,以便FortiGuard团队可以修改签名以避免误报。
有两种方法可以将预定义的签名添加到IPS传感器中。
一种方法是单独选择签名。在列表中选择一个签名后,该签名将以其默认操作添加到传感器中。
为传感器添加签名的第二种方法是使用过滤器。FortiGate添加了与过滤器匹配的所有签名。
IPS功能的目的是保护网络内部免受外部威胁。
你还可以添加基于速率的签名,以便在超过阈值时阻止特定流量。
在CLI上,如果你设置命令rate-mode为periodical,当在配置的持续时间段内达到阈值时,FortiGate会触发操作。你应该仅将基于速率的签名应用于你使用的协议。这节省了系统资源,并可以阻止重复攻击。当该客户端暂时被列入黑名单时,FortiGate不会跟踪该客户端的统计数据。
当IPS引擎将流量与每个过滤器中的签名进行比较时,顺序很重要。这些规则类似于防火墙策略匹配;引擎首先评估列表顶部的过滤器和签名,然后应用第一个匹配。引擎会跳过后续的过滤器。
因此,将最有可能匹配的过滤器或签名放在列表的顶部。避免制作过多的过滤器,因为这会增加评估和CPU使用率。此外,避免在每个过滤器中建立非常大的签名组,这会增加RAM的使用。
如果发生假阳性爆发,你可以将触发的签名添加为单个签名,然后将操作设置为监视。这允许你使用IPS日志监控签名事件,同时调查假阳性问题。
有时,有必要将特定的源或目标IP地址从特定的签名中豁免。此功能在假阳性爆发期间很有用。你可以暂时绕过受影响的端点,直到你调查并纠正假阳性问题。
你只能对单个签名配置IP豁免。每个签名都可以有多个豁免。
创建新条目以添加签名或过滤器时,你可以通过单击动作来选择操作。
选择允许以允许流量继续到达其目的地。选择监视以允许流量继续到达其目的地并记录活动。选择阻断以静默丢弃与条目中包含的任何签名相匹配的流量。每当签名被触发时,选择重置以生成TCP RST数据包。选择默认以使用签名的默认操作。
隔离允许你在设定的时间内隔离攻击者的IP地址。你可以将隔离持续时间设置为任意天、小时或分钟。
当你启用数据包日志记录时,FortiGate 将存储与签名匹配的数据包的本地副本。这增强了错误或可疑数据包的视图。FortiGate的IPS数据包日志记录通过向网络流量提供准确的信息来帮助提供强大的安全操作,这对于检测、调查和减轻网络威胁至关重要。尽管启用数据包日志记录会消耗大量的存储、内存和处理资源,但你可以为不同的用例场景启用数据包日志记录,例如检测和预防零日攻击、故障排除、行为分析、威胁狩猎等。
你可以通过启用override-signaturehold-by-id CLI命令,为新的FortiGuard IPS签名设置暂停这些操作。在CLI命令signature-hold-time定义的时间内,然后将操作设置为监视以避免误报,并创建包含消息“signature is on hold”的日志。
对于整合僵尸网络保护,你可以在应用防火墙策略的IPS配置文件上启用僵尸网络扫描。
僵尸网络C&C有三种可能的动作:
● 禁用:不要扫描与僵尸网络服务器的连接
● 阻断:阻止与僵尸网络服务器的连接
● 监视:记录与僵尸网络服务器的连接
要应用IPS传感器,你必须启用IPS,然后在防火墙策略中选择传感器。
某些漏洞仅适用于加密连接,如果FortiGate无法解析有效负载,则无法可靠地识别威胁。出于这个原因,如果你想从IPS功能中获得最大收益,你必须使用SSL检查配置文件,通常是深度检查。
默认情况下,FortiGate会记录所有安全事件。这意味着你可以看到被IPS阻止或监控的任何流量。
如果你认为某些流量应该被阻止,但正在通过策略,你应该将日志记录允许流量方法更改为全部会话。这会记录该防火墙策略处理的所有流量,而不仅仅是被安全配置文件阻止或监控的流量。这可以帮助你识别假阴性事件。
非常好!你已经了解了FortiGate上的IPS。接下来你将了解了解IPS监视。
完成本部分后,你应该能够实现上图显示的目标。
通过展示故障排除能力,你应该能够识别、调查和管理FortiGate上IPS部署的一些常见问题。
如果你在应用 IPS 的防火墙策略中启用了安全事件日志记录,则日志可以在日志&报告页面上的安全事件面板上找到。你可以通过单击Intrusion Prevention来查看日志。
你应该经常查看 IPS 日志。日志是有关针对你的网络的攻击类型的重要信息来源。这可以帮助你制定行动计划,并专注于特定事件,例如,修补关键漏洞。
在使用IPS时,IPS进程的CPU使用率短暂峰值可能是由于防火墙策略或配置文件更改造成的。这些峰值通常是正常的。当FortiGate有数百个策略和配置文件或许多虚拟域时,可能会出现峰值。IPS引擎持续CPU高占用是不正常的,你应该调查一下。你可以使用上图显示的命令以及显示的选项来对这些问题进行故障排除。
如果IPS引擎导致高CPU使用问题,你可以使用带有选项5的diagnose test application ipsmonitor命令来隔离问题可能在哪里。选项5启用IPS旁路模式。在此模式下,IPS引擎仍在运行,但它没有检查流量。如果之后CPU使用量下降,这通常表明正在检查的流量对于该FortiGate型号来说太高。
如果在启用IPS旁路模式后CPU使用量仍然很高,这通常表明IPS引擎存在问题,你必须向Fortinet支持报告。你可以使用选项2完全禁用IPS引擎。如果你想在完成故障排除后恢复IPS流量检查,请再次使用选项2。你可以随时使用选项1检查IPS引擎的状态。
另一个需要记住的建议是,如果你需要重新启动IPS,请使用选项99。这保证了所有与IPS相关的进程都能正确重启。
当IPS套接字缓冲区充满新数据包时,IPS进入故障打开模式。IPS引擎在内存中没有空间来创建更多会话,需要决定是放弃会话还是在没有检查的情况下绕过会话。
在此状态下会发生什么取决于IPS配置。如果启用了fail-open设置,一些新数据包(取决于系统负载)将在不检查的情况下通过。默认情况下,它被禁用,新数据包被丢弃。
仅在网络可用性优先于网络安全的情况下(例如数据中心)建议使用IPS故障打开。
在故障打开的情景中,需要识别哪些内容?频繁的IPS故障打开事件通常表明IPS无法跟上流量需求。所以,试着识别模式。最近流量有增加吗?吞吐量需求有增加吗?在一天中的特定时间打开触发器失败吗?
一旦你确定了资源限制,请尝试调整和优化你的IPS配置。创建特定于所检查流量类型的IPS配置文件,并在不需要它们的策略上禁用IPS配置文件。
非常好!你已经了解了FortiGate上的IPS监视。接下来你将了解应用控制基础。
完成本部分后,你应该能够实现上图显示的目标。
通过展示应用控制基础的能力,你将能够了解应用程序控制如何在FortiGate上工作。
如前所述,IPS引擎也负责应用控制。你可以在基于代理和基于流的防火墙策略中配置应用控制。然而,由于应用控制使用IPS引擎,该引擎使用基于流的检查,因此检查始终是基于流的。
应用控制通过将已知模式与应用程序传输模式相匹配来识别应用程序,例如Google Talk。因此,只有当应用程序的传输模式是独一无二的时,才能准确识别应用程序。然而,并非每个应用程序都以独特的方式运行。许多应用程序重复使用预先存在的标准协议和通信方法。例如,许多视频游戏,如魔兽世界,使用BitTorrent协议来分发游戏补丁。尽管如此,在IPS引擎的帮助下,应用程序控制分析网络流量并检测应用程序流量,即使应用程序使用的是标准或非标准协议和端口。它不会使用内置的协议状态来运行。因此,应用控制更适合检测P2P协议,因为它们使用端口随机化、针孔和更改加密模式技术。
点对点(P2P)下载将每个文件划分为多个(理论上是无限的)对等。每个同行都交付了部分文件。虽然在客户端-服务器架构中拥有许多客户端是一个缺点,但对于P2P架构来说,这是一个优势,因为随着对等数量增加到n,文件的交付速度会加快n倍。
因为受欢迎程度提高了交付速度,与传统的客户端-服务器架构不同,受欢迎程度可能会有效地导致对服务器的拒绝服务(DoS)攻击,一些软件,如Linux的BitTorrent发行版和分发新补丁的游戏,利用了这一优势。即使每个客户端的带宽很少,它们一起也可以为下载提供比许多强大的服务器更多的带宽。
因此,为了下载文件,请求对等端每秒消耗的带宽要比仅从单个服务器消耗的带宽多得多。即使你的网络中只有一个对等点,它也会消耗异常大量的带宽。由于协议通常是规避性的,并且会有许多会话到许多对等体,因此很难完全阻止。
许多Web应用程序提供可以嵌入到第三方网站或应用程序中的功能。例如,你可以在文章末尾嵌入Meta Like按钮,或在教育网站上引用YouTube视频。FortiOS为管理员提供了检查子应用程序流量所需的所有工具。FortiGuard应用控制签名数据库以分层结构组织。这使你能够更精细地检查流量。你可以阻止Meta应用程序,同时允许用户使用Meta聊天进行协作。
在FortiGate下载FortiGuard应用控制签名包后,新的签名会出现在签名列表中。
在上图显示的示例中,签名使用LinkedIn进行过滤,显示其类别和相应的分层结构。
非常好!你已经了解了基本的应用控制功能。接下来你将了解应用控制配置。
完成本部分后,你应该能够实现上图显示的目标。
通过展示应用控制功能配置和监控的能力,你将能够在配置文件模式下使用和维护应用控制。
对于应用控制配置文件中的每个过滤器,你必须指示一个操作,当流量匹配时,FortiGate会做什么。
操作包括以下内容:
● 允许:流量通过,不生成日志
● 监视:流量通过,但也生成日志消息
● 阻断:丢弃检测到的流量并生成日志消息
● 隔离:阻断来自可疑来源的流量,直到达到过期时间,并生成日志消息
查看签名操作允许你仅查看特定类别的签名,而不是可配置的操作。查看云签名操作允许你查看特定类别的云应用程序的应用程序签名。
选择哪个操作是正确?
如果你不确定选择哪个操作,当你研究网络时,监视器最初可能会很有用。稍后,在你研究了网络流量后,你可以通过选择最合适的操作来微调你的过滤器选择。你选择的操作也取决于应用程序。如果应用程序需要反馈以防止不稳定或其他不良行为,那么你可以选择隔离而不是阻断。否则,最有效的使用FortiGate资源是阻断。
应用程序传感器还提供了额外的选项。
启用网络协议强制设置允许你在已知端口(例如21、80和443)上配置网络服务(例如FTP、HTTP和HTTPS),同时在其他端口上阻止这些服务。
该功能在以下场景中起作用:
● 当一个协议分析器确认网络流量的服务时,网络协议执行可以检查已确认的服务是否在服务器端口下被允许列出。如果不是,那么流量被视为违规,IPS可以采取配置中指定的操作(例如,阻断)。
● 当网络流量没有确认服务时。如果IPS剖析排除了其服务器端口下强制执行的所有服务,则将被视为服务违规,例如,如果端口21配置为FTP,并且协议分析器无法决定确切的服务,但确定它不是FTP。如果非FTP流量的端口为21,则将违反。
当启用阻止在非缺省端口上检测到的应用程序选项时,FortiGate会将应用程序使用的端口与FortiGuard应用程序签名中定义的端口进行比较。如果流量不匹配,则会被阻止。
对基于HTTP应用的替换信息设置允许你替换来自HTTP/HTTPS应用程序的被阻止的内容,并为用户的利益提供解释。对于非HTTP/HTTPS应用,FortiGate只会丢弃报文或重置TCP连接。
对于基于HTTP的应用程序,应用控制可以向用户提供有关其应用程序被阻断的原因的反馈。这被称为阻断页面,它类似于你可以使用FortiGuard Web过滤为阻断的URL配置的页面。
同样值得一提的是,如果在防火墙策略中启用了深度检查,所有基于HTTPS的应用程序都会提供此阻断页面。
阻断页面包含以下信息:
● 检测应用程序的签名(本例中,Dailymotion)
● 签名类别(本例中,视频/音频)
● 被专门阻止的URL(本例中,www.dailymotion.com的索引页面),因为一个网页可以从多个URL中组装起来
● 用户名(如果启用了身份验证)
● 组名(如果启用了身份验证)
● 管理流量的策略的通用唯一标识符(UUID)
此列表中的最后一个项目可以帮助你识别FortiGate上的哪个策略阻断了页面,即使你有大量的策略,许多FortiGate设备保护不同的细分市场。
对于这些多个过滤器,哪一个具有优先级?
当IPS引擎检测流量中签名是否匹配后,FortiGate按照以下顺序对数据包进行扫描,以获取应用控制配置文件:
1. 应用程序和过滤器覆盖:如果你配置了任何应用程序覆盖或过滤器覆盖,应用控制配置文件会首先考虑这些。它从列表顶部开始寻找匹配的覆盖,象防火墙策略。
2. 类别:最后,应用控制配置文件应用了你为所选类别中的应用程序配置的操作。
在上图显示的示例配置文件中,应用控制配置文件阻止了游戏和视频/音频类别。所有其他类别都设置为监视,但未知应用程序除外,未知应用程序设置为允许。
在应用程序&过滤覆盖部分,你可以看到指定了一些例外。而不是设置为阻断,Battle.Net(游戏)和Dailymotion(视频/音频)设置为监视。由于应用程序覆盖首先在扫描中应用,因此允许这两个应用程序并生成日志。
接下来,扫描检查应用和过滤覆盖。由于过滤器覆盖被配置为阻止使用过多带宽的应用程序,因此它阻止所有使用过大带宽的应用程序,无论允许这些应用程序的其他类别如何。
上图展示了一个示例,说明了多个安全配置文件功能如何在同一流量上一起工作、重叠或作为替代工作。
在FortiGate完成应用程序配置文件扫描后,它开始其他扫描,例如Web过滤。Web过滤扫描可能会阻止Battle.Net和Dailymotion,但它会使用自己的阻断消息。此外,Web过滤不会检查应用控制覆盖的列表。因此,即使应用控制覆盖允许应用程序,Web过滤仍然会阻止它。
同样,静态URL过滤有自己的免除操作,可以绕过所有后续的安全检查。然而,应用控制发生在Web过滤之前,因此Web过滤免除无法绕过应用控制。
在上图显示的示例配置文件中,过滤器覆盖已移到应用程序覆盖之上。在这种情况下,过滤器覆盖(过度带宽)被阻止,由于Dailymotion属于过度带宽类别,即使Dailymotion在应用程序和过滤器覆盖部分设置为监视,Dailymotion也会被阻止。
应用程序和过滤器覆盖的优先级优先。
配置应用控制配置文件后,你必须将其应用于防火墙策略。这指示FortiGate开始扫描受防火墙策略约束的应用程序流量。
当你在防火墙策略上启用安全事件或所有会话的日志记录时,应用控制事件也会被记录。它允许你监控应用控制使用情况。
FortiGate在日志&报告>安全事件页面上记录所有应用控制事件。你可以通过单击应用控制来查看日志。
在上图显示的示例中,默认的应用控制配置文件阻止了对Dailymotion的访问。你可以在日志详细信息部分查看此信息,以及有关日志源、目标、应用程序和操作的信息。
你还可以在转发流量日志页面上查看详细信息,其中防火墙策略记录了活动。你还可以找到 FortiGate应用应用控制的流量摘要。同样,这是因为应用控制是由防火墙策略应用的。要了解哪个策略应用了应用控制,你可以查看日志消息的策略ID或策略UUID字段。
由于并非所有流量都需要应用控制扫描,因此你必须监控安全事件日志。如果流量匹配不正确,你必须首先找到相关的防火墙策略来修改你的配置。此防火墙策略引用在安全事件日志和转发流量日志中可用。
你还可以在仪表板>FortiView应用页面上检查与应用控制配置文件匹配的流量。然后,你可以选择一个特定的应用程序,并深入查看与该应用程序匹配的流量的会话和字节信息。
答案:B
答案:A
恭喜你!你已经完成了这节课。
现在,你将回顾本课所涉及的目标。
上图展示了你在本课中所涉及的目标。
通过掌握本课中涵盖的目标,你学会了如何配置、维护和排除FortiGate IPS解决方案的故障。你还学习了如何使用简单的阻止协议、端口号或IP地址以外的方法来监控和控制标准和非标准网络应用程序。