康玉虎
(兰州城市学院信息网络中心,兰州 730070)
对学校门户网站、各类校内网站等Web应用的保护是高校网络安全工作的重点,在传统模式下,Web应用都是独立部署在物理服务器上,此时Web应用防火墙只需以透明代理串接模式部署在Web应用服务器接入交换机之前,对此交换机下接入的各个Web应用服务器进行保护。然而,在虚拟化环境下,多台物理服务器构成服务器资源池,通过数据中心接入交换机接入到校园网核心设备,Web应用服务器是与其他各类应用一起以虚拟机的形式运行在云计算虚拟化平台上,无法从物理链路上去很好的区分、归类Web应用服务器。在尚没有经费投入来购买支持虚拟化的虚拟Web应用防火墙的情况下,如何正确的部署传统硬件Web应用防火墙来保护这些Web应用是虚拟化环境下Web应用防护工作中遇到的重要问题。
Web 应用防火墙(Web Application Firewall,WAF),是指通过执行一系列针对HTTP/HTTPS的安全策略专门对Web 应用提供保护的产品。WAF可应对Web 应用面临的各类安全威胁,如SQL 注入、跨站脚本攻击(XSS)、跨站请求伪造攻击(CSRF)、Cookie篡改以及应用层DDoS等,能有效解决网页篡改、网页挂马、敏感信息泄露等安全问题,充分保障Web应用的高可用性和可靠性[1]。WAF的产品形态包括硬件WAF、软件WAF 以及云WAF 等,本文讨论的主要是硬件WAF[2]。
在传统模式下,Web应用是以物理服务器的形式独立部署的,物理链路可区分,因此,WAF的部署模式相对简单,可采用透明代理串接模式。如果只有单台Web应用服务器,只需将WAF串接在服务器接入交换机与Web应用服务器之间即可。如果有多台Web应用服务器,那么可以先将各个Web应用服务器全部连接至一台接入交换机,与其他业务服务器在链路上独立出来,然后将这台接入交换机连接至核心交换机,最后将WAF串接在接入交换机与核心交换机之间即可。图1为多台Web应用服务器环境下WAF的透明代理串接模式部署拓扑。
图1 多台Web应用服务器环境下WAF的透明代理串接模式部署拓扑
在虚拟化环境下,多台物理服务器作为计算节点构成了服务器虚拟化资源池,各类应用不再是直接部署在物理服务器上,而是在云计算虚拟化平台上以虚拟机的形式部署,虚拟机会根据物理服务器的负载情况在多个物理服务器之间动态迁移。因此,无法通过物理链路来区分出Web应用服务器所在的物理服务器。如果把WAF部署在核心交换机和数据中心接入交换机之间,云计算虚拟化平台上的所有应用的流量都将通过WAF,这样WAF的负载很高,而且造成单点故障,即WAF出现故障,不仅影响Web应用,其他应用也将受到影响。
因此,如图2所示,我们将各类Web应用服务虚拟机都绑定到计算节点1,使其不再迁移。将计算节点1原来分别连接至两个数据中心接入交换机的两条链路分别接入到WAF的两个IN口,再将WAF对应的两个OUT口连接至两台数据中心接入交换机上。在WAF中将这两对IN、OUT接口放入到一个保护组。这样WAF仍然以透明代理串接的模式部署在计算节点1和数据中心接入交换机之间,做为一个透明设备,它不影响计算节点两个网口的绑定及主备关系,计算节点和虚拟化平台感受不到WAF的存在。当WAF出现故障时,只影响计算节点1上的虚拟机业务,而且可以通过设置WAF为Bypass模式迅速恢复故障。
WAF部署好后,计算节点1上所运行的Web应用的上下行流量都将受到WAF的检测,可以很好的保障Web应用的安全、稳定运行。而对计算节点1上的其他应用,可以在WAF中不做保护配置,其流量经过WAF也不会进行任何处理,不影响其他应用的正常运行。其他计算节点的流量由于无需流经WAF,因此保持原有模式不变。
图2 虚拟化环境下WAF的透明代理串接模式部署拓扑
本文介绍的虚拟化环境下WAF的透明代理串接模式部署方案解决了传统硬件WAF在虚拟化环境下的部署问题,对于在虚拟化环境下运行的Web应用的保护,提供了参考方案。但是,由于此方案将Web应用绑定到特定的计算节点上,当该计算节点故障时,Web应用无法自动迁移至其他计算节点,需要手动迁移来恢复业务并暂时脱离WAF的保护。要进一步解决这个问题,需要采购并部署虚拟Web应用防火墙,这也是以后需要研究的内容。