紧贴服务器:F5应用安全与提速之道

有一则笑话,一位母亲告诫临上战场的儿子:“一定要紧跟将军,那里是最安全的地方。”虽然是笑话,但这位母亲对安全的理解没错:越是靠近重要的地方,就越安全。服务器,这个IT系统中的将军,离它最近的地方是负载均衡设备,负载均衡恰恰又是F5的发家之路,基于这个位置,F5提供了多款用于Web应用安全与提速的产品,以保证服务器的安全与性能。

F5是一家以应用交付网络著称的公司,所谓应用交付网络,就是以安全、快速和高可用的方式把应用交付到使用者手上,其中负载均衡保证高可用,Web应用安全与提速则保证安全与快速。提到安全与快速,很多人都会说这是防火墙与带宽的事嘛,又何来F5的事呢?抱着这个疑问,记者采访了F5北方区技术经理杨明非。

安全防范三阶段

如今,因特网已经成为一个非常重要的基础平台,很多企业都将应用架设在该平台上,为用户提供更为方便、快捷的服务支持,例如网上银行、网上购物等。这些应用在功能和性能上,都在不断的完善和提高,然而在非常重要的安全性上,却没有得到足够的重视。很多恶意攻击者出于不良的目的对Web 服务器进行攻击,想方设法通过各种手段获取他人的个人账户信息谋取利益。正是因为这样,Web业务平台最容易遭受攻击。同时,对Web服务器的攻击也可以说是形形色色、种类繁多,常见的有挂马、SQL注入、缓冲区溢出、嗅探、利用IIS等针对Webserver漏洞进行攻击。

针对这个现状,杨明非把目前的安全防范划分为三个阶段:第一阶段是传统的防火墙,第二阶段是IPS/IDS,第三阶段是Web应用安全防范。

在第一阶段,防火墙采用的是正向安全原则,它只允许符合安全原则的访问通过,采用的是一种白名单机制。但从技术上来看,防火墙工作在七层网络协议的第三-四层,采用状态检测技术检查和转发TCP/IP包,从而实现安全区域的隔离和访问控制。这就决定了防火墙只能判断TCP层面的网络攻击,而不能防Web应用攻击,因为它识别不了数据包的内容。黑客利用系统本身漏洞、程序漏洞,通过正常的连接完全可以取得Web权限,进而篡改网页,如常见的 SQL 注入攻击,其表现层面完全是正常的数据交互查询。对于防火墙而言,这是正常的访问连接,没有任何特征能够说明此种访问连接存在攻击,但其实系统已经受到攻击。

在第二阶段,IPS/IDS可以识别网络数据包的内容,进而判断是否安全,但IPS/IDS采用的是负向安全原则,是一种黑名单的机制,这就导致两个问题:一是难以跟上新的攻击手段,对于一些新的攻击手段或者变化的攻击手段,对IPS/IDS来说就很容易产生漏报;二是要判断的攻击行为太多的时候,会造成性能的急剧下降,从而导致实际使用IPS的时候更多的是采用抽样检查的模式,而这种模式在大多数情况下只能针对DDOS攻击有效,而对真正的黑客攻击无法有效进行防御。

在第三阶段,F5提供了一种可以采用白名单机制的Web应用安全防范手段。它采用四种类型来定义一个白名单:访问的URL是谁、文件类型是什么、参数是什么、cookie是什么。F5在这四种类型上设置了一系列安全规则,只有符合这些安全规则的访问才允许通过,这其实是结合了防火墙与IPS的优势,使安全与性能得到了两全。当然,F5也提供基于黑名单的安全防范,这就类似一个IPS,F5与著名安全组织WhiteHat合作,由其提供应用攻击代码来设置和更新攻击库。

紧贴服务器破解加密攻击

F5并非传统的安全厂商,众所周知,它是以负载均衡起家的,但杨明非很自信地告诉记者,F5目前在安全市场所占的份额位居前列,这源于F5安全设备特有的SSL加密内容攻击防护,而这个功能又基于F5的负载均衡设备的位置——它离服务器最近。

什么是SSL加密攻击?SSL是Secure Socket Layer(安全套接层协议)的缩写,可以在Internet上提供内容加密传输。随着计算机网络技术的发展,方便快捷的互连网使人们渐渐习惯了从Web页上收发E-mail、购物和交易,这时Web页面上需要传输重要或敏感的数据,例如用户的银行帐户、密码等。现行网上银行和电子商务等大型的网上交易系统普遍采用HTTP和SSL相结合的方式。服务器端采用支持SSL的Web服务器,用户端采用支持SSL的浏览器实现安全通信。

但SSL只是起到保护Web传输的保密性。换句话说,我们不能信任Web浏览器所做的安全检查工作,通过SSL加密连接不会对提交到应用程序的数据内容造成任何的影响。黑客完全可以把攻击代码以SSL加密的形式畅通无阻地通过防火墙、IPS等安全设备,因为它们要么是不能识别Web应用,要么就是不能识别在加密状态下的Web应用,这就是所谓的SSL加密攻击。

SSL只能在服务器上解密,而F5的设备是离服务器最近的。F5通过内置的硬件SSL芯片把SSL卸载,就是明码了,这时再做应用安全就可行了,这是由F5的位置决定的。

应用提速无需增加带宽

目前很多企业部署了不少IT应用,如SAP、微软、Siebel、Oracle等公司出产的应用套件,当这些IT应用被部署到Web架构上,会出现速度迟缓的现象。很多公司把这归咎于带宽不够高,却不知这是因为应用自身的复杂阻碍了其在网络的传输速度,单纯增加带宽,就如单纯增大水管,却不增加水的流速一样无济于事。

据杨明非介绍,F5可以在4个方面对Web应用提速:

一是降低网络传输的压力,其中最典型的一个技术就是压缩。F5的加速技术可以把100K的页面压缩到20K在广域网上传输,一些标准的浏览器如IE、火狐可以自动解压,这一过程都在后台进行,前台浏览者感觉不出任何变化。该项技术也适用于手机浏览,如UCWEB,对于低带宽高延迟的Web应用加速特别有效。

二是降低服务器的压力,比较典型的技术是连接聚合。每个人访问网站都会建立一个TCP连接,这个TCP连接是不断建立又关闭的,当快速建立又关闭的时候,对服务器的压力很大。而且服务器能够维持的并发连接是有限的,比如IIS服务器,它的标准并发连接是2048个,阿帕奇服务器是1024个,如果一个网站有几万个并发连接,单个服务器就崩溃了。但是把这些短连接汇聚到一起,集中F5的设备上,通过F5与服务器建立平滑的长连接,就解决了不断增大的并发连接。比如说前台有15万个并发连接,经过F5的优化,在服务器上只有不到5000个并发连接,而且在此过程中,每个人的请求是不会被丢掉的。

三是降低应用的压力,典型技术是动态页面缓存。这个主要是针对新闻发布类的网站,比如请求一个新闻页面news.jsp?id=1,2,3……F5可以限定ID参数只能为数字,且在3位数之内,这又跟之前的应用安全白名单机制结合在了一起,这样就防止了攻击者随意改变参数让服务器疲于奔命。而且F5可以根据ID参数缓存已经访问过的新闻页面在自身的硬盘设备里,如果下一个访问者的请求ID参数跟曾经访问过的一致,那么该新闻页面的打开速度就明显加快了。

四是利用客户端的浏览器做缓存来提升速度。当浏览网页的时候,网页会自动缓存到浏览器中,然而在每次重新打开该网页的时候,都会向服务器发送请求判断该网页的内容是否有更新,这一来一去耗费不少时间,而实际上大多数时候网页的内容是不变的。F5可以在每个缓存在浏览器的网页中打上标签,默认半年内无需向服务器发送判断请求,对内容更新的判断则由F5代替,这样就节省了网页打开时间并降低了服务器的压力。

结语

很多企业在局域网中使用一些IT应用,如ERP、CRM、OA等等,没有什么问题,但是这些应用一旦放在广域网,首先就会发现速度慢,不可用,进而发现还会带来很多安全问题。而大多数企业首先想到的都是传统的增加带宽,添置服务器,加防火墙等等,但其实这些问题并不是IT基础设施不够用,它们的根源在于IT应用本身在广域网传输中所造成的问题,因此,只有对症下药,针对IT应用进行各种优化或防护,才能从根源上解决以上这些问题,这正是F5所提倡的应用交付网络的意义所在。