概述
公司投入重多资源来研发应用程序和基础结构向员工,客户和生意上的伙伴传递所制定的经营模式。数据中心有责任确保绝对的安全性,快速响应时间,和这些企业级重要应用程序的高可用性。要全面保护企业级应用程序免受潜在威胁的攻击,就需要一个既能应用于网络层,又能应用于应用层安全保护的平台。基于反向代理技术的应用层控制器代表了一种新的产品,在此基础上设计的基于安全和控制的web 应用程序。代理可以保护那些传统的防火墙和基于数据信息包的入侵检测得系统不能保护的内容。不可思议的是,它同时还可以加快应用程序的响应时间和可用性。应用程序控制器已经成为一个当今web DMZ 结构和web 应用程序保护的一个基本组成部分。数据中心有责任确保数据的正确性。保护应用和高可用性的技术在企业级的DMZ结构已经成为一种“最优方法”。
评估最好的应用控制防火墙应该包括的保准:
安全
应用控制防火墙的体系结构是基于连接的代理还是基于数据包的阻断控制?
安全性能是否符合应用安全的标准,比如说WAFEC & OWASP?
真实性能
应用控制防火墙可以加快应用程序的响应时间吗?
应用控制防火墙有足够的吞吐量和处理空间来处理你的连接数吗?
部署简便
应用控制防火墙有灵活的选项来方便地部署在一个网络布局和环境中?
应用控制防火墙是否有向导的功能来快速安装,保护和操作?
管理简便
应用控制防火墙是否有诸如自动和手动等多种方法来应付应用程序的改变?
应用控制防火墙是否有能力来支持100s 应用程序?
应用控制防火墙是否有容错设计和fail-over 的能力?
应用控制防火墙是否有fail-open 的选项?
NetContinuum 提供了世界上最强大的应用控制防火墙,它是建立在NCOS所有的软件基础上。NetContinuum的产品终止,安全和加速HTTP(S) 功能基于应用程序的数据来给数据中心一个新的配置、保护和管理企业级应用程序的工具。如图1所示,应用控制防火墙处于DMZ区,配置在服务器的前端。
这个文档介绍了NetContinuum 应用防火墙产品系列。一个架构上的最优方法,NetContinuum 产品通过以下几点让你配置一个更快、更可靠、更安全和性能更高的应用程序:
全面控制所有用户到每个应用程序的连接
保护应用程序的安全完整的方案,包括确保执行密码系统,防攻击和身份和访问管理(IAM/ AAA)
完整的可用性方案来增强响应时间和确保正常运转时间
在任何网络环境中展开迅速的自身部署
快速的定义应用和适当的策略来保护他们
当应用程序开始服务后,对应用程序进行简便、灵活和持续的管理
强大的代理功能
全面保护web 应用程序免受所有潜在的威胁攻击,需要一个不仅能应用在网络层,同时还能应用在HTTP和应用会话内容的安全平台。只有基于会话的双向代理才能在不将内部服务器操作系统和TCP堆栈直接暴露在Internet的情况下提供这种安全功能。
图1: 应用控制防火墙配置在用户和应用程序服务器的中间
NetContinuum 提供了世界上最强大的应用控制防火墙产品线。基于NetContinuum专利的NCOS系统,产品对Web应用进行终止、保护和加速。集中化的GUI 控制界面可以让系统的配置和管理变得十分简单。最重要的是,
应用控制防火墙可以完全符合WAFEC & OWASP提出的标准。NetContinuum 应用控制防火墙是世界上唯一被ICSA在网络层和应用层上通过认证的产品。核心功能的介绍,包括终止,保护和加速将会在下面做详细的介绍。
体系结构和性能
NetContinuum已经建立并构造了一个完全由自己研发操作系统和协议栈。图2有做详细的介绍,NCOS (NetContinuum 操作系统)直接和x86 还有Cavium SSL处理器相连,以保证低延迟率和独一无二的连接传输率。所有应用的终止和执行都在NCOS(NetContinuum 操作系统)中进行。Linux 是用来做为管理框架和日志记录。
很多厂商试图通过同时报告TCP连接数和高带宽利用率来改进应用控制器的结构。这是一种对于安全应用的错误说法。重要的是应该把重点放在第七层HTTP应用的处理性能上。同时,更重要的是要明白延迟是由于现实的处理负荷和数据的大小所引起的。
NetContinuum 根据现实的“重负荷”应用环境生产出应用控制器,因此对于这点信心十足。从另一方面说,这个性能指标能够反映设备真正运行时的情况。更加详细的数据统计可以在以下功能都开启的情况下获得,它们包
括:第2层ACL、第7层ACL、Web地址转换、URL请求和响应、重写功能、实时动态应用调试和执行(DAP)、SSL、内容压缩、内容缓存、内容交换、负载均衡和TCP复用。
图2: NCOS高性能和高安全性的NetContinuum 操作系统
NetContinuum 应用防火墙功能
全面完善的功能力是NetContinuum产品的最重要的一个方面。
NetContinuum努力研发对于全面保护、加速和管理应用流量所需要的功能。我们将这些功能集中描述为“终止、保护和加速”。图3 对应用流量的管理控制做了概略的描述。
图3: 您可以选择是否应用会话控制, 安全保证和可用性保证等功能#p#副标题#e#
终止
所有NetContinuum 产品都有一个基本原则: 所有用户浏览器和应用程序服务器的连接会话都在此终止。这个技术的思路就是对应用流量(内向和外向)进行全面的检查和管理每一个会话。履行TCP握手同样可以切断任何基于TCP的DOS攻击。在终止会话的同时,应用防火墙可以提供网络层的NAT、PAT 、ACL 策略和SSL 密码系统。系统对于HTTP内容有着完全的访问权和控制权,检查所有的HTTP 内容,解释和建立规则。要特别指出的是,“终止”包含了以下一些功能:
TCP 会话终止
NetContinuum 应用防火墙进行完整的TCP 会话终止。TCP会话终止是唯一为私有网络来提供完全的安全性的方法, 因为它将隔所有用户(包括攻击者)都隔离在外网。唯一连接到服务器的数据都是来自于应用防火墙本身的。应用防火墙收集所有的数据包并重写每个用户的HTTP 会话。这样HTTP会话可以被进行安全筛选和加速并且可以进行内容交换和内容处理。
状态信息网络防火墙
NetContinuum 应用防火墙包含了一个基于状态信息的网络防火墙。网络管理员可以设置策略,NAT, PAT 和网络ACL的规定. 应用防火墙监控每个TCP连接的状况(IP 地址, 端口,3次握手等) 并在一个状态表中编辑信息。过滤决定不仅仅依靠管理员设置的规则(比如静态包过滤),同时也取决于之前已经通过防火墙的数据的状态记录。这个过程能够严格确保符合TCP/IP RFCs 规则,阻止大量的网络层攻击。NetContinuum应用防火墙的网络层安全性已经得到了ICSA的认证。
SSL 终止
NetContinuum应用控制防火墙有专利的ASIC 处理芯片来建立和加速用户的SSL会话,因此能够卸载应用服务器上的密码处理。应用防火墙提供了一套完善的SSL和传输层安全协议(TLS) 的功能。SSL可以用在任何应用层协议上(HTTP, SOAP, XML, FTP, SMTP, POP3,IMAP, 或自定义)。完全支持PKI管理和密钥管理。系统可以重新加密发送到后端服务器的流量,详细描述如下。
HTTP 协议符合和标准化
NetContinuum 应用防火墙应用一个全面的HTTP 标准化引擎来规范所有应用流量.。隐藏在HTTP 数据编码和国际编码字符后的攻击在到达真实服务器之前就会被这个进程识别和阻挡掉。
在世界不通的地方有很多不同的字符串和字符编码。在美国, 基于拉丁文的字母表, 所有的数字、标点符号使用7位ASCII 编码标准。相反,亚洲的语言包含很多书面的字节是16 bits 的数据,这些数据必须包含全部的字形。错误的处理国际编码字符见的细微差别可能导致安全漏洞,因为黑客可以将自己“隐藏”在国际编码字符后面。将所有输入简化为规范的字符串,用于准确的评判,这个过程就叫做标准化。
标准化还有第二个解释,它来自管理WEB应用的HTTP协议。一些字节对于web服务器、底层操作系统或HTTP协议有着特别的含义。为了区别这些字符的正常使用和特殊含义,于是就开发了不同的字节编码方案,比如“URL 编码”和“基于64位编码”。攻击者可以通过一回或多回隐藏编码来进行攻击。应用防火墙可以识别这些阴谋并将HTTP 协议元素标准化。
F T P 协议符合
FTP 生来就是一个脆弱的协议。
NetContinuum 的产品同样可以作到对文件传输协议(FTP)的终止。系统可以被配置在现有FTP 服务器的前端来代理进出的FTP流量。FTP 访问控制列表(ACL)可以封闭进来的FTP 端口, 阻挡某些FTP 命令和为FTP流量提供SSL 加密。此外, 也可以使用不同的算法在后端服务器之间进行FTP流量的负载均衡。
HTTP 报头重写
报头的请求和回应重写加深和更加细密的提供了安全构造。NetContinuum 应用防火墙可以在数据到达用户端前对HTTP 报头中的敏感内容进行重写或删除。报头重写技术可以更好的管理流量,或者为应用程序加入一些独特的功能. 比如说, 设置生成新报头来覆盖用户的一些验证信息、授权信息等敏感信息。另外一个比较常用的方法是移除浏览器插入的“Accept-Encoding:gzip”标记,这样可以避免服务器在压缩内容上花费太多的CPU处理时间。
URL 转换
将外部世界如何访问WEB应用与其物理构架分离开来是非常有用的。同时也叫Web 地址转换(WAT), URL转换本质上从内部到外部的DNS地址域名的转换。WAT 允许管理员在简单的外部名称规则后隐藏一个复杂并切变化快速的网络。
URL 速率控制
NetContinuum 应用防火墙可以识别某些URL并控制发送到应用程序的请求的速率。当应用结构因为超负荷而易于崩溃的情况,这种保护服务器免受超载的技术是至关紧要的。
安全
一旦一个会话被NetCont inuum应用防火墙终止并被控制,多种检查就会应用于进来和出去的会话和内容,以此阻止内嵌的攻击、数据窃取和身份窃取。精确的策略也可以应用于URL、参数和格式区域的检查。这个“确保安全”的功能在应用防火墙上提供了以下功能:
应用程序隐藏
NetContinuum 应用防火墙使用应用遮掩技术来使应用程序架构对于扫描服务器漏洞的黑客和蠕虫不可见。因为应用防火墙有一个全面的终止结构, 对于web服务器类型、应用服务器类型、操作系统和补丁的版本都是不可见的。NAT 和WAT 隐藏所有网路的URL 地址信息。最后, 通过隐藏URL 响应代码和HTTP 报头, 隐藏机制可以有效地隐蔽所有可能会被用于攻击应用程序和应用服务器的信息。
AAA—身份和访问管理
By virtue of sheer proximity,应用防火墙处在一个执行AAA服务的绝佳位置。应用防火墙可以进行验证和单点登陆服务,因为它可以与RADIUS, LDAP,Active Directory 和CA SiteminderTM(Netegrity)挂钩。其他方式的认证包括客户端证书、基本HTTP Web验证、源IP地址验证等方式。控制器能够执行已授权用户在应用和URL级别发起的访问。最后,控制器记录所有认证信息和访问时间,这些内容同时提供全面的内部监控的审计和安全规则的符合。
白名单
NetContinuum控制器使用一个绝对安全的模型来对访问进行定义并判断其是否为恶意连接。任何违背正常行为的会话会被认为是潜在的恶意连接并自动将其阻断。系统为每个应用创建并管理独立的白名单。白名单可以被动态创建,或在实时策略推荐向导的帮助下通过安全组手动设置。控制器使用访问控制列表(ACL)来设置和执行具有良好粒度的安全策略和特殊页面。
窗体保护
程序员常见的错误理解就是以为Web的形式是不变的,至少对于用户来说是如此。也就是说,如果一个区域被定义为单选按钮,来自用户的输入只能是事先规定的值,并且能够依靠用户的浏览器来执行这种约束。这种理解是错误的。浏览器确实会试图将用户输入限制在正常范围之内,但是一个恶意的用户能够在浏览器和应用程序之间放置一个攻击性的代理,在浏览器的可见范围之外彻头彻尾地修改区域的类型。这样单选按扭区域很有可能返回一个带有可执行的缓冲溢出代码。这就是臭名昭著窗口篡改。控制器记住针对每个用户会话所创建的区域类型,并且确保在程序员定义它们的时候将它们保留下来。
Cookie保护
在cookie代码的处理过程中对其弱点进行开发是另一种黑客常用的手段。因为cookies是对用户进行身份识别的最常用的方法,如果黑客能够猜到用户的cookie信息,那么这个黑客就从根本上化身为那个用户。许多应用程序仍然在使用易猜中的cookie。两种防止此攻击的技术是:cookie标记和cookie加密。(有两个步骤:控制器必须在cookie被创建时对其进行标记和加密。这样在下次请求到来时能够对其进行识别。如果cookie标记被激活,控制器就能够检查进来的cookie,防止被篡改。
篡改通过对两个cookie的比较进行判断。如果两个cookie一致,则没有篡改的行为,会话被允许进入。如果不匹配,则会话被认为是攻击性的,被控制器阻断。Cookie加密是一种万无一失的阻止身份窃取的方法,因为cookie是不可读的。
数据窃取保护
NetContinuum 控制器对于保密数据的窃取提供全面的保护,比如信用卡号,社保卡号等其他预先定义好的保密的数据结构。控制器扫描出去的数据,与用正则表达式定义好的数据模式进行匹配。这个技术对敏感的数据在离开Web服务器时进行鉴别并强制执行相应的策略:部分遮掩数据、完全遮掩数据或直接阻断会话。
动态学习/动态应用调试
NetContinuum的DAP能够自动学习应用程序的行为并“实时”执行策略。实时动态应用调试和策略执行(DAP)增加了强大的窗口保护机制。它能学习在用户访问WEB界面时应用程序创建的窗口,这样就能防止黑客的篡改行为。它保存每一个页面的链接,以此来确保用户仅在访问应用程序提供的合法的页面。
DAP跟踪单独的URL和参数,这些URL和参数被系统学习。用来有效阻断缓冲区溢出和参数篡改的攻击。
SQL & OS 命令注入,跨站脚本(XSS)攻击的保护
SQL 注入攻击和跨站脚本攻击(XSS或钓鱼攻击)是基于Java脚本的注入攻击。这些攻击危害性极大,因为它们真正地危急到Web站点的程序代码的安全,以此来窃取数据或诱骗用户泄露他们的身份。最终,攻击来自与程序的错误;忘记对用户的输入进行验证。
NetContinuum控制器时刻保持警惕并监控所有用户的SQL和Java脚本语法的输入。即使程序员忘记对输入进行验证,控制器也能够通过对异常数据正常化来自动保护应用程序。
自定义黑名单: 正则表达式
NetContinuum控制器同样提供自定义访问控制列表和正则表达式来匹配规则。任何模式匹配可以被存入控制器,用来扫描HTTP会话的任何部分。自定义数据类型同样能够被加入NetContinuum设备,利用诸如URL的ACL,参数ACL和/或报头ACL来阻断恶意流量。自定义数据类型也能够用来扫描外出流量,从而创建一个强大的防御体系。
加速
除了WEB应用的安全性,数据中心还负责应用的可用性和响应时间。将加速功能(TCP 池,缓存,GZIP压缩)和可用性功能(负载均衡,内容交换,健康检查)在一个单一的节点处结合起来会显著地简化数据中心的体系结构,以此来降低成本。“可用性保证”功能提供以下功能:
缓存
应用器的Web缓存功能为应用的提供者和使用者提供双赢的效果。当进入的流量通过扫描并未发现任何恶意行为时,NetContinuum控制器将这些流量转发到合适的Web服务器。然而,如果请求的内容能够从缓存中得到,控制器就会从缓存中给予相应的回应。内容缓存充分地提高响应的时间,同时又降低服务器的负荷。
GZIP 压缩
NetContinuum控制器支持当今先进的GZIP压缩技术并且能够卸载服务器CPU高强度的处理。GZIP能够提供90%的文本压缩率并降低30%的延迟。
TCP 连接池
通过在打开的TCP连接和后端服务器之间对TCP连接进行复用,应用控制器能够通过减少服务器的TCP握手次数来节省大量的时间。这个TCP连接池技术在降低服务器CPU负荷的同时大大缩减了客户端的响应时间。
SSL 加速和后端重加密
许多数据中心采用严格的要求,传输的数据必须被加密。这就要求控制器必须有解密会话、检查有效负荷,并在与应用程序连接前重新加密那个会话。
NetContinuum控制器可以为后端服务器重新加密会话。控制器提供完善的SSL设置和TLS功能。如果客户端证书在使用中,可以选择通过HTTP报头来通过后端服务器。同样支持PKI管理、安全密钥存储和管理。
第7层内容交换
NetContinuum控制器允许您设置规则来通过URL报头信息智能地将流量指向合适的服务器:Status-Code,Response-Header, Client-IP, Method, WEB-Dav,HTTP-Version, URI, Parameter, Pathinfo, 和Header value 等字段都能被检查出和匹配。负载均衡能够当会话被交换时执行相应的动作。
负载均衡
NetContinuum控制器的负载均衡功能配置十分简单。流量通过设置好的负载均衡算法被转发到指定的服务器。转发算法包括了轮加权轮讯和最少请求数。其他的到“不工作服务器”连接的重定向和粘滞连接同样支持。通过对流量的行为进行预先定义,负载均衡能够提高应用的可用性。控制器也让管理员轻松实现对服务器的使用和停用,以此来安排服务器的维护工作。
服务器& 应用程序健康检查
Out Of Band (OOB) 带外数据健康检查是监控服务器和应用程序健康度,独立于数据流量。可以设置规则在后端服务器不可用时将流量重定向。NetContinuum控制器可以在第4层和第7层对应用程序进行测试。第4层OOB默认开启,可以被禁用。第7层HTTP监控是根据Method 和URL实现的。
NetContinuum部署简单,详细信息下载《NetContinuum 技术白皮书》