注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

不透明的雾的博客

人生是一次记忆的旅行

 
 
 

日志

 
 
 
 

运行在Windows NT/2K/XP的Tomcat安全性风险问题  

2009-03-11 15:47:00|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

Linux下可以采用:http://hi.baidu.com/opaquefog/blog/item/5518ec24015ab70d4c088d9c.html描述的方法

运行在Windows NT/2K/XP的Tomcat安全性风险问题
(原文:http://www.developer.com/security/article.php/2241061

Tomcat是一个被广泛使用的Web服务器(主要应用于JSP和Servlets)。Tomcat运行在相应的Java运行环境,并且支持面向对象的Web应用程序的部署。

运行Tomcat是一件非常简单的事情,只需要从Tomcat的官方网站上获得安装文件,并且按照安装文件的默认进行安装选择。没有人知道Tomcat是多么的危险。Tomcat的Web应用程序的主要安全风险如下所列:

Tomcat的JSP或者bean在JSP页面中被调用,并且可以进行下面所描述的高风险任务:
1、运行Windows系统文件中的应用程序。
2、读取任意目录下的任何文件的内容。
3、删除任意目录下的文件。
4、在任意目录下创建新文件。

虽然Tomcat确实提供了许多的安全性措施,但下面几个方面却导致了他的不足:
1、安装完后,Tomcat成为系统服务。
2、如果他不是作为系统服务而运行,Tomcat被默认作为管理员运行。

上述两条导致Java Run Time可以访问Windows机器中任意目录下的任意文件。作为默认设置,Java Run Time被赋予运行Java Run Time用户相同的安全权限。当Tomcat被管理员或者系统服务运行,Java Run Time将获得一个系统用户或者管理员用户拥有的所有权限。在这种情况下,Java Run Time获得所有目录下所有文件的完全操作权限。并且Servlets(JSP也被转换成Servlets)也获得相同的权限。所以Java代码可以通过调用SDK中的File接口来列出来任意目录下的所有文件、删除任意文件,并且最大的风险是以系统权限运行一个程序,代码如下:

Runtime rt = Runtime.getRuntime();
rt.exec("c:\\SomeDirectory\\SomeUnsafeProgram.exe");

这是最大的风险,但是确有许多人并不知道。

使Tomcat安全运行的方法

按照下面的步骤创建一个用户:
1、创建一个普通用户,如ITOMCAT_computername
2、设置密码
3、选中密码永不过期项

修改Tomcat安装路径的权限
1、进入Tomcat安装路径:CATALINA_HOME或者TOMCAT_HOME
2、添加ITOMCAT_computername用户,并给以读取、写入、执行或者访问权限
3、赋给ITOMCAT_computername用户只读WebApps目录的权限
4、如果Web应用程序需要写操作,将对应的目录赋以写权限。

如果你想以系统服务的方式运行Tomcat,请遵循下面的步骤
1、进入控制面板,选择管理工具,然后选择服务
2、查看Tomcat服务项的属性
3、选择登录Tab页面
4、用户名部分输入新创建的用户ITOMCAT_computername
5、输入密码
6、重新启动机器

如果你以Dos命令的方式启动Tomcat,请遵循下面的步骤
1、通过开始菜单的运行中输入cmd打开Dos命令窗口
2、在Dos窗口中输入“RunAs /user:ITOMCAT_computername cmd.exe”
3、窗口将提示你输入用户ITOMCAT_computername的密码,这时请输入密码
4、这时将打开一个新的Dos命令窗口
5、在这个新窗口中访问Tomcat的bin目录
6、输入“catalina run”
7、关闭旧的Dos命令窗口

以ITOMCAT_computername的身份打开一个新的Dos命令窗口,如果你在这个新窗口中运行Tomcat,Tomcat只会获得ITOMCAT_computername用户所拥有的权限,这样Tomcat的运行就是安全的了。

  评论这张
 
阅读(110)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017