网站地图    收藏   

主页 > 后端 > 网站安全 >

解读Web应用防火墙 - 网站安全 - 自学php

来源:自学PHP网    时间:2015-04-17 15:08 作者: 阅读:

[导读] 作为一家第三方互联网支付公司的CIO,Dave为公司近期发生的一系列安全事件忙得焦头烂额。虽然已经在公司的网络出口处部署了防火墙、入侵检测系统等安全设备,但是几个月前,公司...

作为一家第三方互联网支付公司的CIO,Dave为公司近期发生的一系列安全事件忙得焦头烂额。虽然已经在公司的网络出口处部署了防火墙、入侵检测系统等安全设备,但是几个月前,公司网站和支付服务器还是遭受到拒绝服务攻击导致业务瘫痪。拒绝服务攻击事件还没处理完,Dave又接到员工报告,公司门户网站被Google报出含有恶意软件。

来自Web的安全挑战

Dave的烦恼其实是日前众多IT管理者遭遇的缩影之一。随着机构的计算及业务资源逐渐向数据中心高度集中,Web成为一种普适平台,上面承载了越来越多的核心业务。Web的开放性带来丰富资源、高效率、新工作方式的同时,也使机构的资产暴露在越来越多的威胁中。现今Web安全问题对我们来说已屡见不鲜,以下是收录于国际安全组织WASC WHID项目中的几起安全事件:

2009年5月26日,法国移动运营商Orange France提供照片管理的网站频道有SQL注入漏洞,黑客利用此漏洞获取到245,000条用户记录(包括E-mail、姓名及明文方式的密码)。

2009年1月26日,美国军方两台重要的服务器被土耳其黑客渗透,网页被篡改,黑客采用的是SQL注入攻击手段。

2009年1月26日,印度驻西班牙使馆网站被挂马(通过iFrame攻击植入恶意代码)。

Web应用安全防护解决思路

Web应用安全问题本质上源于软件质量问题。但Web应用相较传统的软件,具有其独特性。Web应用往往是某个机构所独有的应用,对其存在的漏洞,已知的通用漏洞签名缺乏有效性;需要频繁地变更以满足业务目标,从而使得很难维持有序的开发周期;需要全面考虑客户端与服务端的复杂交互场景,而往往很多开发者没有很好地理解业务流程;人们通常认为Web开发比较简单,缺乏经验的开发者也可以胜任。

针对Web应用安全,理想情况下应该在软件开发生命周期遵循安全编码原则,并在各阶段采取相应的安全措施。然而,多数网站的实际情况是:大量早期开发的Web应用,由于历史原因,都存在不同程度的安全问题。对于这些已上线、正提供生产的Web应用,由于其定制化特点决定了没有通用补丁可用,而整改代码因代价过大变得较难施行或者需要较长的整改周期。

针对这种现状,专业的Web安全防护工具是一种合理的选择。Web应用防火墙(以下简称WAF)正是这类专业工具,提供了一种安全运维控制手段:基于对HTTP/HTTPS流量的双向分析,为Web应用提供实时的防护。与传统防火墙/IPS设备相比较,WAF最显著的技术差异性体现在:

对HTTP有本质的理解:能完整地解析HTTP,包括报文头部、参数及载荷。支持各种HTTP 编码(如chunked encoding、request/response压缩);提供严格的HTTP协议验证;提供HTML限制;支持各类字符集编码;具备response过滤能力。

提供应用层规则:Web应用通常是定制化的,传统的针对已知漏洞的规则往往不够有效。WAF提供专用的应用层规则,且具备检测变形攻击的能力,如检测SSL加密流量中混杂的攻击。

提供正向安全模型(白名单):仅允许已知有效的输入通过,为Web应用提供了一个外部的输入验证机制,安全性更为可靠。

提供会话防护机制:HTTP协议最大的弊端在于缺乏一个可靠的会话管理机制。WAF为此进行有效补充,防护基于会话的攻击类型,如cookie篡改及会话劫持攻击。

如何正确选择WAF

并非对Web服务器提供保护的“盒子”都是WAF。事实上,一个真正满足需求的WAF应该具有二维的防护体系:

纵向提供纵深防御:通过建立协议层次、信息流向等纵向结构层次,构筑多种有效防御措施阻止攻击并发出告警。

横向:满足合规要求;缓解各类安全威胁(包括网络层面、Web基础架构及Web应用层面);降低服务响应时间、显著改善终端用户体验,优化业务资源和提高应用系统敏捷性。

在选择WAF产品时,建议参考以下步骤:

结合业务需求明确安全策略目标,从而定义清楚WAF产品必须具备的控制能力

评估每一家厂商WAF产品可以覆盖的风险类型

测试产品功能、性能及可伸缩性

评估厂商的技术支持能力

评估内部维护团队是否具备维护、管理WAF产品的必需技能

权衡安全、产出以及总成本。“成本”不仅仅意味着购买安全产品/服务产生的直接支出,还需要考虑是否影响组织的正常业务、是否给维护人员带来较大的管理开销

WAF应用场景

相信通过前文的介绍,大家对WAF产品已经有了初步了解。但也可能存在疑问,部署WAF,实际到底可以解决什么问题?下面将介绍几个典型的应用场景。

WAF支持完全代理方式,作为Web客户端和服务器端的中间人,避免Web服务器直接暴露在互联网上,监控HTTP/HTTPS双向流量,对其中的恶意内容(包括攻击请求以及网页内容中被植入的恶意代码)进行在线清洗。

网页篡改在线防护

按照网页篡改事件发生的时序,提供事中防护以及事后补偿的在线防护解决方案。事中,实时过滤HTTP请求中混杂的网页篡改攻击流量(如SQL注入、XSS等)。事后,自动监控网站所有需保护页面的完整性,检测到网页被篡改,第一时间对管理员进行短信告警,对外仍显示篡改前的正常页面,用户可正常访问网站。

网页挂马在线防护

网页挂马为一种相对比较隐蔽的网页篡改方式,本质上这种方式也破坏了网页的完整性。网页挂马攻击目标为各类网站的最终用户,网站作为传播网页木马的“傀儡帮凶”,严重影响网站的公信度。

当用户请求访问某一个页面时,WAF会对服务器侧响应的网页内容进行在线检测,判断是否被植入恶意代码,并对恶意代码进行自动过滤。

敏感信息泄漏防护

WAF可以识别并更正Web应用错误的业务流程,识别并防护敏感数据泄漏,满足合规与审计要求,具体如下:

可自定义非法敏感关键字,对其进行自动过滤,防止非法内容发布为公众浏览。

Web站点可能包含一些不在正常网站数据目录树内的URL链接,比如一些网站拥有者不想被公开访问的目录、网站的Web管理界面入口及以前曾经公开过但后来被隐藏的链接。WAF提供细粒度的URL ACL,防止对这些链接的非授权访问。

网站隐身:过滤服务器侧出错信息,如错误类型、出现错误脚本的绝对路径、网页主目录的绝对路径、出现错误的SQL语句及参数、软件的版本、系统的配置信息等,避免这些敏感信息为攻击者利用、提升入侵的概率。

对数据泄密具备监管能力。能过滤服务器侧响应内容中含有的敏感信息,如身份证号、信用卡号等

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论