Tomcat是一个世界上广泛使用的支持JSP和servlets的Web服务器它在JAVA运行时上能够很好地运行并支持Web应用部署会因为设置不当造成灾难性的后果在Tomcat默认安装Tomcat作为一个系统服务运行如果没有将其作为系统服务运行缺省地几乎所有Web服务器管理员都是将其以Administrator权限运行这两种方式都允许Java运行时访问Windows系统下任意文件夹中的任何文件缺省情况下Java运行时根据运行它的用户授予安全权限当 Tomcat以系统管理员身份或作为系统服务运行时Java运行时取得了系统用户或系统管理员所具有的全部权限这样一来Java运行时就取得了所有文件夹中所有文件的全部权限并且Servlets(JSP在运行过程中要转换成Servlets)取得了同样的权限所以Java代码可以调用Java SDK中的文件API列出文件夹中的全部文件删除任何文件最大的危险在于以系统权限运行一个程序当任一Servlets含有如下代码baefddYsJkrRuntime rt = RuntimegetRuntime();
rtexec(c:\SomeDirectory\SomeUnsafeProgramexe)其服务是以system权限启动根据权限最小安全原则降低了脚本所获取的操作本地系统权限此操作如下
新建一个帐户
用ITOMCAT_计算机名建立一个普通用户
为其设置一个密码
保证密码永不过期(Password Never Expires)被选中
修改Tomcat安装文件夹的访问权限
选定环境参数CATALINA_HOME或TOMCAT_HOME指向的Tomcat安装文件夹
为ITOMCAT_计算机名用户赋予读写执行的访问权限
为ITOMCAT_计算机名用户赋予对WebApps文件夹的只读访问权限
如果某些Web应用程序需要写访问权限单独为其授予对那个文件夹的写访问权限
Tomcat作为系统服务
到控制面板选择管理工具然后选择服务
找到Tomcat比如Apache Tomcatexe等等打开其属性
选择其登录(Log)标签
选择以…登录(Log ON Using)选项
键入新建的ITOMCAT_计算机名用户作为用户名
输入密码
重启机器
在DOS窗口下运行Tomcat步骤
在开始按钮的运行框中键入CMD以打开一个DOS窗口
键入RunAs /userITOMCAT_计算机名 CMDexe命令
在询问ITOMCAT_计算机名用户的密码时输入设置的密码
这将打开一个新的DOS窗口
在新开的DOS窗口中转换到Tomcat的bin文件夹内
键入catalina run命令
关闭第一个DOS窗口
设置一下程序
CMDEXE NETEXE ATTRIBEXE AtEXE NETEXE FTPEXE TELNETEXE COMMANDCOM CAclsEXE netstatexe;system 全部权限 其它用户无权限