教程篇(5.4) 17. 入侵防御 ❀ FortiGate 安全 ❀ Fortinet 网络安全专家 NSE 4

在这节课中你将学习如何使用FortiGate来保护你的网络不受入侵和拒绝服务攻击。

在完成这一课程之后,你应该具备使用IPS、拒绝服务(DoS)策略和web应用防火墙配置文件来检测和阻止已知的攻击和网络异常的实际技能。

  这一课还包括了一个单臂嗅探器的部署。

在我们开始之前,了解异常和攻击之间的区别是很重要的。同样重要的是要知道哪些FortiGate提供了对这两种类型的威胁的保护。

  攻击是已知的攻击,已知的模式可以通过IP、web应用防火墙或反病毒签名来匹配。

  异常在网络中是不寻常的行为,例如高于通常的CPU使用率或网络流量。异常必须被检测和监测(在某些情况下,被阻断或减轻),因为它们可能是一种新的、从未发生过的攻击的症状。行为分析通常可以更好地检测异常情况,例如基于评级的IPS签名、DoS策略和协议约束检查。

所谓的“零日攻击”的漏洞,在黑市上被大量出售。由于这些漏洞对他们的供应商或安全专家来说都是未知的,所以没有可用的补丁或签名来检测。这就是他们如此危险的原因。

  一些公司和组织,如Facebook和谷歌,已经为这些漏洞的披露提供了赏金,但是黑帽黑客们却有一个非常有利可图的市场,可以把这些发现卖给从秘密政府监视到有组织犯罪集团的每一个人。

  零日攻击是你网络王国的关键。

如果你发现了一个零日攻击,你的第一反应可能是立即将服务器离线,然后格式化它以清除所有的恶意软件。但通过这样做,你就会提醒攻击者,并摧毁法医证据。这只会培养有动机的攻击者,他们的下一次攻击将更加难以察觉,而且更加复杂。请确保你的PSIRT团队理解最适当的方式来应对每种不同类型的入侵。

现在我们将讨论保护你的网络不受异常和攻击的FortiGate功能。让我们从入侵预防系统(IPS)开始。

IPS使用签名数据库来检测已知的攻击。IPS签名也可用于检测网络错误和异常。

  与AV签名数据库一样,IPS签名数据库也通过增FortiGuard进行了更新。

IPS引擎是做什么的?

  IPS引擎负责本课程中所展示的大部分特性:入侵保护、协议解码等等。它还负责应用程序控制、基于流程的防病毒保护、网络过滤、电子邮件过滤和DLP。

IPS引擎如何确定一个包是否包含攻击或异常?

  协议解码器根据协议规范对每个数据包进行解析。一些协议解码器需要一个端口号规范(在CLI中配置),但通常情况下,协议会被自动检测到。如果流量不符合规范,例如,如果它向你的服务器发送错误的或无效的命令,那么协议解码器将检测到错误。

  在每一个FrotiGate固件版本中都包含了一个默认的、初始的IPS签名集。FortiGuard IPS服务更新IPS签名,有时每天都有新的签名。这样,IPS对新的攻击仍然有效。除非协议规范或RFC更改(通常不太常见),协议解码器很少更新。IPS引擎本身的变化更频繁,但仍然不经常发生。

  IPS的哪一部分经常更新?IPS签名。新签名是由FortiGuard研究小组识别和建立的,就像反病毒签名一样。因此,如果你的FortiGate服务合同到期,你仍然可以使用IPS。然而,就像反病毒扫描一样,如果没有更新你的签名,IPS扫描将变得越来越无效,因为旧的签名将无法抵御新的攻击。

常规的签名数据库包含一些签名,这些签名会导致罕见的或没有错误的误报。它是一个较小的数据库,它的默认操作是阻止被检测到的攻击。

  扩展的签名数据库包含用于阻止攻击的额外签名:

  • 造成显著的性能影响

  • 不要因为他们的天性而支持他们

  实际上,由于它的大小,扩展的数据库不能用于具有较小的磁盘或RAM的FrotiGate型号。但是,对于高安全性网络,你可能需要启用扩展签名数据库。

当你的FortiGate下载了一个FortiGuard IPS包时,新的签名可能会出现在签名列表中。在配置你的FortiGate时,你可以更改每个使用签名的传感器的动作设置。

  默认的操作设置通常是正确的,除了这些情况:

  • 你的软件供应商发布了一个安全补丁。继续对漏洞进行扫描将会浪费FortiGate的资源。

  • 你的网络有一个自定义应用程序,它在无意中触发了一个IPS签名。你可以禁用设置,直到你通知Fortinet,这样,FortiGate可以修改签名,以避免误报。

  每个签名的严重程度也列在IPS签名列表中。严重性指标是什么意思?

  FortiGate的严重程度是基于CVSS 2的等级系统。有许多因素在起作用。有关细节,请访问first.org网站。

  所有的严重程度是否完全符合CVSS?不。

  Fortinet总是将远程代码执行标记为高或严重的严重程度,而不考虑CVSS的级别。详情可以在FortiGuard网站上解释。

如果你不确定是否应该在你的FortiGate上启用IPS签名,你可以在FortiGuard网站上搜索百科全书。

  百科全书包含有用的信息,如受影响的系统和推荐的纠正措施。因此,如果你不使用该协议,或者没有一个脆弱的系统,你可以安全地禁用相应的签名。但是,如果你很脆弱,百科全书可以提供关于如何保护自己的信息。

  FortiGuard的百科全书只包含了公开披露的漏洞。它不包含任何不可靠的漏洞,不管原因是什么。

除了使用FortiGuard预定义签名,你还可以创建自己的自定义签名。在编写自定义签名之前,你应该使用包捕获来记录包示例。你可以使用包示例来帮助你理解和避免网络上的普通数据包的不匹配。

  记住,Fortinet不提供对错误配置的定制签名所造成的问题的支持。因此,如果可能的话,你应该在实验室中测试你的自定义签名。

定制签名是什么样子的?

  所有的自定义签名都以F-SBID(开始。

  在此之后,特定于协议的关键字定义了用于搜索匹配的包的哪个部分,以及组成匹配的值。通常,一个关键字后面跟着一个对应的值来表示它的设置,除了几个独立的关键字,例如-nocase。每个键值对都以分号和空格结束。你可以在签名中包含多个键值对。签名以结束括号结束。

  可以在Fortinet文档站点上找到自定义的IPS签名的语法。受支持的关键字不同于协议解码器。例如,SMTP协议支持VRFY命令,因此它有一个协议解码器标志。

在本例中,第一个示例自定义签名称为ping.Death。它搜索的ICMP流量超过了32 KB。

  下一个示例自定义签名称为block.http.post。它在包中搜索特定位置的模式。在正常的HTTP POST请求中,该方法应该位于这个特定的位置。在签名中使用特定的位置可以防止IPS扫描整个HTTP负载,这可能包含一个不小心匹配模式的web页面(例如,邮政编码)。你的签名应该是具体的,但不要太具体,额外的比较会降低性能。

一旦你创建了你的自定义签名,将它与一个IPS传感器中的一个动作配对,然后在防火墙策略中引用那个IPS传感器。

  配置IPS传感器的步骤是相同的,不管你是否想使用自定义签名或预定义的签名。单个IPS传感器可以组合多个预定义的和自定义的签名。

有两种方法可以向IPS传感器添加预定义的签名。一种方法是分别选择签名。当你使用该方法时,你可以基于源或目标IP地址创建一个豁免列表。一旦从列表中选择了一个签名,它就会被添加到传感器中,并使用它的默认动作。在此之后,你可以右键单击签名并更改操作。

向传感器添加签名的第二种方法是使用过滤器。FortiGate将添加所有与过滤器匹配的签名。

  在本例中,我们创建了一个过滤器,其中包含保护Apache severs在Linux操作系统上运行的所有签名。该操作将阻塞所有与这些签名相匹配的流量。

  每个单独的签名都可以包含多个标记,如HTTP、Microsoft、IIS和TCP。你的过滤器越具体,你的流量就会越少。这是因为签名的部分很少与流量匹配,因此IPS引擎可以快速地继续进行下一个比较或扫描。

  如果与流量匹配的签名都在IPS签名列表和IPS筛选列表中,那么该FortiGate将应用于前一项中指定的操作。

基于分级的签名(以前称为异常)在配置的时间段中超过一个阈值时阻塞特定的通信量。基于分级的签名只适用于你实际使用的协议。然后对恶意客户进行长时间的阻塞。这可以节省系统资源,并且可以阻止重复攻击:在临时被列入黑名单时,FortiGate不会跟踪该客户的统计数据。

要应用一个IPS传感器,你必须启用IPS,然后在防火墙策略中选择传感器。

让我们谈谈拒绝服务(DoS)攻击和DoS策略。

到目前为止,我们已经展示了匹配非法命令和无效协议实现的签名。这些都很容易被确认为攻击。

  那么,如何利用非对称处理来攻击客户端和服务器之间的带宽呢?有很多方法可以实现DoS攻击。例如,一些DoS攻击耗尽了服务器端带宽或套接字。除非你知道网络的带宽是不正常的,否则你可能无法确认攻击。

  DoS攻击的目标是压倒目标,消耗资源,直到目标无法响应合法的流量。这可以通过多种方式实现。高带宽使用只是DoS攻击的一种类型。许多复杂的DoS攻击,比如慢速操作系统,不需要高带宽。

要阻止DoS攻击,请在攻击者和你希望保护的所有资源之间的FortiGate上应用DoS策略。

DoS保护可以应用于四种协议:TCP、UDP、ICMP和SCTP。四种不同类型的异常检测可以应用于每一种协议:

  • 洪水传感器检测到该协议的高容量,或协议中的信号。

  • 扫描/扫描检测到试图映射主机端口的响应,因此可能很容易受到攻击。

  • 源签名查找来自单个IP的大量通信量。

  • 目标签名查找用于单个IP的大量通信量。

  如果你的网络没有准确的基线,当你第一次实现DoS时,请注意不要完全阻塞网络服务。为了防止这一点,首先要配置DoS策略来记录日志,而不是阻塞。使用日志,你可以分析和确定每个协议的正常和峰值级别。然后,适当调整阀值,但不要太松,允许通常的峰值。

  过高的阈值可以让你的资源在DoS策略触发之前耗尽。太低的阈值会导致FortiGate降低正常的流量。

现在我们来看看一些常见的DoS攻击。第一个被称为“SYN洪水攻击”。

  在TCP中,客户端发送一个SYN信号来发起连接。服务器必须响应,然后在RAM等待客户端确认(或ACK)时,要记住连接的开始。正常的客户会快速地发送数据并开始传输数据。但是恶意客户端继续发送更多的SYN包,半开的连接,直到服务器的表满了。一旦服务器的表满了,它就不能接受更多的连接,并且开始忽略所有的新客户端。

  为了防御这种类型的攻击,FortiGate作为伪代理。它等待客户端完成连接构建以形成后端连接。如果连接的构建不能很快完成,那么FortiGate将开始从表中删除攻击者的连接请求。

另一种类型的异常,或攻击,是一种ICMP扫描。ICMP在故障诊断期间使用:设备响应成功或错误消息。但是攻击者可以使用ICMP来探测有效路由和响应主机的网络。

  通过进行ICMP扫描,攻击者可以获得关于你的网络的信息,然后再进行更严重的攻击。

DoS攻击是来自单一地址的大量流量。它可以来自互联网,甚至来自你的内部网络。通常,单个设备可以进行许多连接或会话,并可能使用大量带宽连接到单个位置。

  DoS配置文件中的所有四个协议(ICMP、TCP、UDP、SCTP)都有一个异常传感器。这些构建用于检查每个IP生成的流量,并将该流量与阈值值进行比较。

  这是分布式拒绝服务攻击或DDoS攻击。它有许多与DoS攻击相同的特性,但主要的区别在于,多个设备同时攻击一个目标。

本节讨论的是web应用防火墙,称为WAF。

什么是WAF,你为什么需要它?

  一些FortiGate的功能是为了保护客户端而不是服务器。例如,基于服务器web页面的分类,FortiGuard web过滤阻止请求。防病毒阻止客户不小心下载间谍软件和蠕虫。既不保护无辜的服务器(不发送请求,也接收送请求)从脚本kiddy或SQL注入。

  保护web服务器需要一种不同的方法,因为它们受到其他类型的攻击。

让我们看一些专门针对web应用程序的攻击示例。

  一种类型的攻击称为跨站点脚本编制(XSS)。如果web应用程序没有对其输入进行审查并拒绝JavaScript,那么它最终将在其数据库中存储XSS攻击。然后,当其他客户机请求重新使用该数据的页面时,JavaScript就会嵌入到页面中。

  JavaScript可以在页面上做很多事情,包括重写整个页面并发出自己的请求。这是AJAX应用程序的基本机制。在这种情况下,XSS会导致无辜的客户端传输到由攻击者控制的不同服务器。例如,这可以将信用卡信息或密码从HTTP表单发送给攻击者。

另一个常见的web攻击是SQL注入。就像XSS攻击一样,SQL注入的根本原因是web应用程序没有对输入进行审查。如果攻击者将SQL查询输入到诸如HTML表单之类的输入中,web应用程序就会简单地接受它,并将其传递给数据库引擎,后者会意外地运行查询。

  SQL语言可以对数据做任何事情。例如,它可以下载用户的表,这样攻击者就可以运行一个密码破解程序。一个查询可以为新的管理员登录添加新的条目,或者修改登录,阻止管理员登录。

web应用程序防火墙配置文件的一个组件是WAF签名。WAF签名的工作方式与IPS签名相同。FortiGate可以在与任何一个人匹配的流量上采取行动。

  一些WAF的签名被归类为扩展。它们更容易造成误报,但有时在高安全性的环境中是必需的。

HTTP约束可以监视和控制许多HTTP头信息的数量、类型和长度,它们也是输入。这可以防止恶意客户端出意外的输入,从而损害你的服务器。

  限制可以根据你的服务器的软件,也可以通过硬件来改变。例如,如果一个服务器的RAM有限,那么使用过多的头信息就可能更容易超载或崩溃,因为解析头并将它们存储在缓冲区中需要RAM。

FortiWeb是一种特殊的web应用防火墙设备。

  你为什么需要它?防火墙不包括web应用防火墙保护吗?

  这是真的。它的功能。但是,对于web服务的保护至关重要的环境,你可以使用一个FortiGate来补充FortiWeb设备。

  FortiWeb提供了一个更完整的HTTP协议理解和状态攻击保护。它可以执行漏洞扫描和渗透测试。它还可以重写HTTP包,并根据HTTP内容路由通信。

在大多数情况下,FortiWeb是作为一个独立的设备安装的,通常位于FortiGate和受保护的web服务器之间。FortiWeb可以安装成在线(网络流量通过设备),也可以离线(设备被连接成一个单臂嗅探器)。

  或者,你可以配置FortiGate,将web流量转发到外部的FortiWeb,在那里进行WAF检查。这很有用,例如,当你需要保护位于多个站点的服务器时,使用一个单一的FortiWeb。为了做到这一点,你首先需要使用FortiWeb IP地址(身份验证是可选的)来配置每一个FortiGate。在此之后,你将在WAF配置文件中选择外部,以指示FortiGate使用FortiWeb。

如果你已经配置了一个带有外部FortiWeb IP地址的FortiGate,在创建WAF配置文件的时候,你可以选择在哪里进行WAF检查:要么在FortiGate内,要么在外部的FortiWeb。如果你选择了FortiGate(或者如果没有外部的FortiWeb),你必须配置不同的签名和约束来使用。在此之后,WAF配置文件被分配到一个或多个防火墙策略。

本节的最后一部分将介绍一个单臂嗅探器的部署。

到目前为止,我们所展示的一切都是内联扫描:流量通过一个接口从一个接口传递到另一个接口。但是,你也可以在包的直接路径之外部署FortiGate,在单臂拓扑结构中,只有一个监视机制。这也被称为嗅探模式,因为它检测到但不阻塞。

  要做到这一点,可以将FortiGate连接到交换机的SPAN或镜像端口。该开关将发送一份重复使用的数据包到FortiGate进行检查。请注意,因为FortiGate正在检查一个副本,而不是原始数据包,它不能修改或阻塞连接。

  什么时候该用单臂嗅探器?

  从历史上看,当IPS扫描第一次被发明时,它是缓慢的。老IPS可能会带来高延迟。因此,单臂部署是很常见的,但是内联防火墙的IPS却不是。

  现在,硬件性能好得多,单臂嗅探器有一个很大的限制:不能阻止流量。因为它是在交换机上的镜像端口上,而不是在攻击者和受保护的网络之间,所以FortiGate没有进行干预。所以今天,大多数人只在测试或评估时使用单臂嗅探器。

单臂嗅探器是在FortiGate的物理接口上启用的,而不是在一个逻辑接口上,比如VLAN。

  在界面上选择了一个单臂嗅探器之后,你就可以选择安全配置文件了。

再来回顾一下我们学习的内容:

  • 攻击和异常之间的区别

  • 零日攻击

  • 如何配置IPS传感器和自定义签名

  • 拒绝服务攻击

  • Web应用程序防火墙配置文件

  • 单臂嗅探器部署

 

飞塔技术 - 老梅子   QQ:57389522


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值