摘要:如今java web技术的应用相当的广泛,其安全问题也广受关注。其实对于任何一种网络应用来讲,其安全问题都是相当重要的,而不仅仅是使用java web技术开发的应用才是如此。文中对java web技术所面临的安全威胁进行了分析,并在此基础上探讨了防范措施。
关键词:java web技术;安全威胁;防范
中图分类号:tp393.08文献标识码:a文章编号:1007-9599 (2013) 06-0000-02
java web技术指的是通过java技术来对相关的web互联网领域的问题的技术总和。web主要包括了web服务器与web客户端这两个部分。当前在客户端与服务器端java的应用相当的丰富,特别是在服务器端,例如jsp、第三方框架以及servlet等等。java技术的发展使得web领域有更加强劲的活力。 1java web技术概述
java web技术是利用java技术来解决web互联网领域的各种技术的总和,虽然java的web框架都存在不同的地方,但是都是按照着特定的路数来实现的:通过servlet或者是filter来对请求进行拦截,运用mvc的思想来对框架进行设计,使用约定,配置是通过xml或者是annotation来实现的,运用了java的面向对象的特点,面向抽象实现请求以及响应的流程,对jsp、freemarker、velocity等视图进行支持。当前常用的java web技术主要有jsp、
spring mvc、stripes、struts 2、tapestry、wicket等等。不同的java web技术有着其不同的优点与缺点。
jsp其优点主要有以下几方面:(1)java ee标准,这就代表着其有着很大的市场需求以及更多的工作机会;(2)上手的速度较快,并且相对较为容易;(3)有很多可用的组件库。其缺点也是较为明显的:(1)有很多的jsp标签;(2)对于rest以及安全的支持不是很好;(3)缺乏统一的实现,当前同时存在有sun的实现与apache的实现。
spring mvc的优点是:(1)能够对覆盖绑定以及验证等提供生命周期管理;(2)能够与很多的表示层技术/框架进行无缝集成;(3)测试相当方便。其缺点在于:(1)需要使用大量的xml配置文件;(2)过于灵活,缺乏公共的父控制器;(3)缺乏内置的ajax支持。 stripes的优点在于:(1)不用对xml配置文件进行书写;(2)有着姣好的学习文档;(3)社区成员都较为热心。其主要的缺点在于:(1)社区不够大;(2)和其他的项目相比不够活跃;(3)在actionbean中的url都是硬编码的。
struts2的优点在于:(1)其架构较为简单,容易进行扩展;(2)通过freemarker或者velocity可以很容定制标记库;(3)其导航是基于控制器或者基于页面的。其主要的缺点就在于文档组织不好,并且过于重视新特征。
tapestry的优点有以下几点:(1)有助于提高审查效率;(2)有html模板;(3)每一个新版本都有创新。其缺点就在于文档不够使
用,学习掌握较为困难,发行的周期较长。
wicket的优点在于:(1)对java开发者更加有利;(2)页面与显示之间的绑定更加的紧密;(3)社区较为活跃,并且有来自于创建者的支持。其缺点就在于html模板与java代码放在了一起,其逻辑是所有的东西都需要用java来进行。 2java web技术面临的安全威胁
web应用程序主要指的是基于web所开发出来的应用程序,主要是由服务器端与客户端这两个基本的组件所构成。http本就是没有国界的,因此web应用程序的安全性是所有的设计人员与开发人员都必须要面对的问题。web应用程序所面临的安全威胁主要来自于自客户端、服务端以及通信过程。其中客户端所面临的安全威胁主要包括了两个方面,一方面是客户端的开发技术本身具有的安全漏洞,另一方面就是客户端所使用的浏览器的bug。在服务器端所面临的安全威胁同样也来自于两方面,一方面是在服务器端程序的代码所隐藏的缺陷,例如sql注入漏洞以及url强制访问漏洞等的,在另一方面则是来自于服务器端代码所运行的支撑环境所具有的缺陷,例如操作系统的漏洞、数据库漏洞以及web服务器漏洞等等。而在通信过程中所存在的安全威胁则是信息的窃取以及信息的篡改这两方面,信息的窃取与信息的篡改都会对web应用程序的通信数据的完整性、正确性以及机密性产生巨大的影响。对于java web技术来讲这些威胁都是客观困在的,在进行开发的过程中,不能够忽视了这些威胁,否则其所开发出来的应用将会存在巨大的安全风
险。
3java web技术安全威胁防范措施 3.1web客户端可采取的防范措施
在web客户端其重点是需要对web程序组建的安全进行防护,必须要严格的限制从网络上所下载的程序在本地上的执行。为此可以对浏览器进行相应的设置,例如微软的ie浏览器中,可以将java相关选项进行关闭,并根据需要来对确定所需要开启的项目。同时还需要根据需要对cookie的级别进行悬着,或者是将系统的cookie相关文件进行删除。同时还必须要及时的打上相关的补丁,特别是系统漏洞,对于浏览器则是要尽可能的使用稳定版的浏览器,并且如有补丁则需要进行更新。 3.2注重对通信信道的安全防护
通信信道的安全防护是确保javaweb应用安全的重要环节。特别是在那些对安全性要求较高的环节中,可以通过https协议来对http协议进行替代。同时,可以通过安全套接层协议ssl来对传输文件的安全提供保证,ssl能够在客户端浏览器软件与web服务器之间构建起一个安全的通信通道,以此来保证信息能够在internet的传送过程中不会被窃取与篡改,保证其完整性与保密性。需要注意的是ssl会导致web服务器的性能出现下降。 3.3加强对web服务器端的安全防护
对web服务器中的账户数量进行限制,同时在web服务器上建立账户的过程中,必须要要求定期更改口令并对口令的复杂程度进行
限制,这样可以防止弱口令的现象出现。
对于在web服务器上所出现的一些安全上的漏洞,必须要及的进行版本的升级与更新。同时不同种类的服务器要与web服务器进行分开,在服务上的各种信息需要进行过加密后再存入到数据库中,并且最好是经过多重md5加密再进行存储。对于jsp页面所抛出的异常信息,可以自定义一个exception,将异常的信息进行包装,而不是直接的出现在用户的页面上,这样可以防止有经验的入侵者根据jsp程序中的异常进行攻击。需要定期的对服务器中的日志文件进行查看,对其中的可疑事件进行分析。对web服务器中的系统文件的权限与属性进行仔细的设置,让服务器系统无懈可击,为web应用服务器提供良好的运行环境。对可访问的用户ip或者是dns进行限制,这样可以防止来自其他可疑ip的攻击。注重对后台管理漏洞的清除,例如java web容器默认配置漏洞,如tomcat后台管理漏洞,就有一个默认的用户名和密码,而且默认用户名与密码登录后可以通过直接上传war文件来获取webshell。对于这种情况,最好的处理方法是删除,当然如果需要用来进行管理维护,则可以更改默认路径以及口令和密码。
总之,我们需要认识到,随着发展java web技术的使用越来越广泛,通过java web技术所开发出的应用也相当的多。但是同时,其所面临的威胁也是我们需要正视的,因此我们需要认清其所存在的威胁,并通过各种方法来消除这些威胁。 参考文献:
[1]张亚林,王开磊.java web 应用程序安全技术研究[j].计算机光盘软件与应用,2012(04).
[2]黄玮,崔宝江,胡正名.web应用程序客户端恶意代码技术研究与进展[j].电信科学,2009(02).
[3]余俊丰.web程序与数据安全研究[d].华中科技大学,2011.
因篇幅问题不能全部显示,请点此查看更多更全内容