浅谈WEB应用安全问题及防范
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
浅谈WEB应用安全问题及防范
摘要:随着web应用技术的发展,越来越多的企业或学校使用web 应用来进行企业或学校信息开放性管理,使机构管理信息暴露在越来越多的威胁中。由于web应用具有一定的运行特点,传统防火墙对于其存在的安全问题缺少针对性和有效性,新的防护工具——web应用防火墙应运而生。
关键词:web应用开放性安全问题 web防火墙
随着信息资源逐渐向数据高度集中的模式,web成为一种普适平台,web应用成为了越来越多的企业或学校进行核心业务及信息管理的承载者。web应用提供了丰富的开放资源和高效率的新工作方式,但它的开放性、易用性和易开发性同样也使web应用的安全问题日益突出,已成为了网络安全核心问题之一。
1 web应用的工作原理和特点
web应用程序首先是“应用程序”,和用标准的程序语言,如c、c++等编写出来的程序没有什么本质上的不同。然而web应用程序又有自己独特的地方,就是它是基于web的,而不是采用传统方法运行的。
目前广泛使用的web应用程序一般是b/s模式,使用标准的三层架构模型:第一层是客户端;使用动态web内容技术的部分属于中间层;数据库是第三层。在b/s模式中,客户端运行浏览器软件。浏览器以超文本形式向web服务器提出访问数据库的要求,web服务器接受客户端请求后,将这个请求转化为sql 语法,并交给数据
库服务器,数据库服务器得到请求后,验证其合法性,并进行数据处理,然后将处理后的结果返回给web服务器,web服务器再一次将得到的所有结果进行转化,变成html文档形式,转发给客户端浏览器以友好的web页面形式显示出来。
因此,web应用具有以下特点:
1.1 易用性
web应用所基于的web浏览器的界面都很相似,对于无用户交互功能的页面,用户接触的界面都是一致的,因此web应用的操作简单易上手。
1.2 开放性
在web应用的b/s模式下,除了内部人员可以访问,外部的用户亦可通过通用的浏览器进行访问,并且不受浏览器的限制。
1.3 易扩展性
由于web的平台无关性,b/s模式结构可以任意扩展,可以从一台服务器、几个用户的工作组级扩展成为拥有成千上万用户的大型系统。
2 web应用主要安全问题
由于web应用的特点,其受到的网络安全问题也与日俱增,根据统计,主要的安全问题有以下几种:
2.1 web平台软件的不安全性
web平台软件包括web应用使用的操作系统、http底层服务器软件和第三方应用程序等,这些软件配置中往往存在很多安全问题,
攻击者使用扫描工具检测到漏洞并加以利用,导致后端系统的攻陷,包括数据库和企业内部网络。
2.2 拒绝服务攻击
因为ip地址不能作为请求来源的判断依据,没有可靠的办法判断出一个http请求从哪里来,难以过滤恶意的访问,所以很容易受到拒绝服务攻击,攻击者发送多个类似请求,使数据库链接池消耗,导致合法用户不能使用服务,也就是拒绝服务攻击。
2.3 sql注入
sql注入,是指通过把sql命令插入到web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的sql命令。主要是针对web应用在数据被输入程序前忽略对数据合法性的检验这样一个常见的编程漏洞,以此操纵sql代码来套取用户的用户名、密码等信息,或对后台数据进行窃取和破坏。
2.4 跨站脚本攻击
跨站脚本,是指一种迫使web站点回显可执行代码的攻击技术,而这些可执行代码由攻击者提供,最终为用户浏览器加载。不同于大多数攻击(一般攻击只设计攻击者和受害者),跨站脚本设计到三方,即攻击者、客户端与网站。主要是针对web应用服务器端的通用网关接口(cgi)程序没有对用户提交的变量中的html代码进行有效的过滤或转换并允许往web页面插入html代码这样一个漏洞,从而盗取客户端的cookie或者其他网站用于识别客户端身份的敏感信息。
3 web应用的防范
对于web应用常见的安全问题,一般的防范方法主要是通过web 应用的网站管理人员进行设置。例如,设置对用户输入数据的合法性进行检验,通过正则表达式,限制数据提交长度;或是对数据库连接进行权限分类设置,为每个应用使用单独的有限数据库连接。作为常用的网络安全防护工具,传统防火墙在web应用安全问题中无法起到有效作用。因为传统防火墙的工作原理是,对于web服务器对外部网络开放的http应用端口方式防护效果甚微。
同时,随着对web应用安全的日益关注,越来越多的厂商在进行针对web应用安全问题的专用防火墙——web应用防火墙(waf)的研发,市面上也已出现多种web应用防火墙产品,并投入使用检验效果。
不同于传统防火墙在网络层通过地址转换、访问控制以及状态检测等功能进行防护的工作原理,waf位于web客户端和web服务器之间,分析应用程序层的通信,从而发现违反预先定义好的安全策略的行为,具备事前预防、事中防护及事后补偿的综合能力。web应用防火墙针对web应用安全问题具有以下特点:
3.1 异常检测协议
web应用防火墙会对http的请求进行异常检测,拒绝不符合http 标准的请求,并且它也可以只允许http协议的部分选项通过,从而减少攻击的影响范围。甚至,一些web应用防火墙还可以严格限定http协议中那些过于松散或未被完全制定的选项。
3.2 增强的输入验证
增强输入验证,可以有效防止网页篡改、信息泄露、木马植入等恶意网络入侵行为,从而减小web服务器被攻击的可能性。
3.3 及时补丁
修补web安全漏洞,是web应用开发者最头痛的问题,没人会知道下一秒有什么样的漏洞出现,会为web应用带来什么样的危害。现在waf可以为我们做这项工作了——只要有全面的漏洞信息waf 能在不到一个小时的时间内屏蔽掉这个漏洞。
3.4 基于规则的保护和基于异常的保护
基于规则的保护可以提供各种web应用的安全规则,waf生产商会维护这个规则库,并时时为其更新。用户可以按照这些规则对应用进行全方面检测。还有的产品可以基于合法应用数据建立模型,并以此为依据判断应用数据的异常。但这需要对用户企业的应用具有十分透彻的了解才可能做到,可现实中这是十分困难的一件事情。
3.5 状态管理
waf能够判断用户是否是第一次访问并且将请求重定向到默认登录页面并且记录事件。通过检测用户的整个操作行为我们可以更容易识别攻击。状态管理模式还能检测出异常事件(比如登陆失败),并且在达到极限值时进行处理。这对暴力攻击的识别和响应是十分有利的。
3.6 其他防护技术