Tomcat运行Jsp项目安全配置-张兴成原创

Tomcat运行Jsp项目安全配置-张兴成原创
 

 
 
 近期遇到J2EE项目安全问题,翻遍互联网就那几篇文章,而且都是东写一点,西写一点,为了以后能给我自己和大家节约宝贵时间,现将我博览群网后的整理分享给大家。
好的项目的几个指标我觉得应该是 安全、稳定、快速、漂亮,也就是安全排第一,稳定排第二,快速排第三、漂亮排第四,现在就谈一下安全性问题:
Tomcat是实现了J2EE规范的标准容器,在项目开发中应用也是最广泛的,开发中使用的tomcat称为它为开发容器,如果把项目架到服务器上运营,我们称之为生产容器。
既然项目架设到互联网上,那么大家都能访问,黑客也能访问,以下就是在互联网上架设Tomcat时,需要注意的几点安全性问题,我们以在windows 2003 server上运行tomcat5.5 为例来阐述:
服务器本身的配置 
1、能不开的端口就不开,开端口后密码尽量长和复杂,推荐用特殊符号和字母数字的组合,长度大于10。 
2、全部系统盘只保留system和Administrators组用户,并完全控制。
Tomcat本身的安全配置 
 1、安装Tomcat。下载并安装Tomcat5.5安装版,安装过程中的Admin密码随便写一个非常长的串,不要留空,也不要设置的非常简单让黑客一下就能猜出来。
 2、创建一个低权限用户来启动Tomcat。命名为 apache,之所以命名为apache,是备以后其与apache整合后,这个用户也可以给apache用,在服务中配置其以apache用户来启动。
 3、分配用户权限,
    apache用户只分配Tomcat所安装的那个盘的读取和运行权限,比如D盘。
    Tomcat目录下如下文件夹或文件分配给apache用户完全控制权限:/work,/conf/tomcat-users.xml,/logs,/temp,这几个文件或者文件夹都是tomcat需要往里写东西的。 
 4、删除无用并且可能会带来危险的文件。这些文件包括/webapps 下的全部、/server/webapps下的部、/conf/Catalina/localhost 下的全部 
 5、用apache用户来重启Tomcat
经过以上配置,我们的Tomcat本身基本安全了,为什么说基本安全,看完下面就知道了。
运行项目采用目录映射的配置方式,参考: http://www.javadn.com/read.php?tid-179.html
Jsp项目本身安全配置
Tomcat配置的再安全,如果项目本身不安全,以上的安全配置也形同虚设,以下谈的是开发中需要注意的安全问题:
 1、 sql注入安全的防范,防止sql注入非常简单,Statement不能防止sql注入,Statement只适合学习时使用,开发中请务必使用preparedStatement来执行sql,这也是为什么 hibernate Ibatis等orm默认使用preparedStatement的原因。规范的项目开发都不会让每个程序员自己写最底层的DAO,通用的做法是调用经过了层层封装的DAO,比如对jdbc直接封装的DAO,对orm的二次封装等。
 2、项目的目录权限,项目的根目录只给只读权限(运行权限给不给皆可),该给完全控制的给完全控制权限,比如项目中的logs、temp还有上传文件的目录等,这些目录都需要给apache用户完全控制的权限。 
对于能够upload的文件夹,一定要当心,这里一般是木马的入口,jpg木马能从这里上传,传上去后直接变成jsp文件,然后黑客访问该jsp文件 就开始黑系统了,可怕吧。
    如果咱们的Tomcat整合了apache(整合方法参考: http://www.javadn.com/read.php?tid-805.html),利用apache完全可以拦截对指定目录指定文件类型的访问(参考: http://www.javadn.com/read.php?tid-1119.html
    但是我不想整合apache就没有办法了么,总不能只给只读权限吧,那样文件就无法上传了。我曾经为这个问题就纠结过,最后想到了一个办法,写一个针对该目录的过滤器,只要是针对该目录下jsp文件的访问就直接返回。具体这个过滤器的写法和配置也不麻烦。
 3、项目开发中的jsp文件放到WEB-INF下面,因为WEB-INF下的文件是不允许用户直接访问的,但是tomcat可以读取他们。
经过以上三步配置以后,服务器安全性可以说做了80%,世界上没有绝对的安全,任何系统都需要进行安全性维护的。
JavaDN技术网站原文地址: http://www.javadn.com/read.php?tid-1173.html

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值