Tomcat安全配置

来源:互联网 发布:手机注册淘宝小号 编辑:程序博客网 时间:2024/05/01 14:42

背景:
      随着Web集群和小型机服务器的流行,越来越多人选择Apache+Tomcat, Nginx + tomcat, lighttpd + tomcat作为Web服务器, 上一章介绍了Apache的安全配置,本文就着重介绍一下tomcat的安全配置。

1、 使用非管理员账户运行tomcat,配置有限的权限,限定在特定的目录下。
      默认的安装tomcat是以Administrator运行的,拥有很高的权限,这样可能会导致一些安全隐患。当用户上传了恶意的jsp可以随意的删除服务器上的文件和目录,执行某些恶意代码或木马程序。所以使用受限账户启动tomcat可以很好的将权限控制在某些范围内。

2、 更改关闭服务器端口
      在conf/server.xml中默认有下面一行:

<Server port="8005" shutdown="SHUTDOWN">

      这样允许任何人只要telnet到服务器的8005端口,输入”SHUTDOWN”,然后回车,服务器立即就被关掉了。
      从安全的角度上考虑,我们需要把这个shutdown指令改成一个别人不容易猜测的字符串,可以同时把端口也改了。例如修改如下:

<Server port="8005" shutdown="sdf#*@sdf">

注意:这个修改不影响shutdown.bat的执行。运行shutdown.bat一样可以关闭服务器。

3、 删除掉tomcat默认的其他应用
      Tomcat默认安装时,会有一些默认的管理应用,如manager和host-manager等,而且他们默认的登录密码都是空,所以在实际部署时需要更改密码,或是删除掉这些应用。

4、 设置默认的错误页面
      网站中常见的404、500等错误在浏览器中会显示服务器的详细信息,很容易暴露一些敏感的信息,所以在实际部署中需要替换成更外的一些页面,当出现错误时,转向一个体验良好的界面。
      打开conf/web.xml文件,在文件的最后添加如下类似的代码:

<error-page>    <error-code>400</error-code>    <location>/404.html</location></error-page>

      同时在根目录webapp/manager/下创建404.jsp和500.jsp文件

5、 屏蔽目录文件自动列出的方法
      和apache的原理类似,设置tomcat不显示目录列表,在tomcat的conf/web.xml中,进行以下配置

<init-param><param-name>listings</param-name><param-value>true</param-value></init-param>

6、 关闭8009端口
      8009端口是tomcat和apache的mod_proxy_ajp,mod_jk沟通的端口,没有用到就关了。
      在/conf/server.xml 中的这段注释掉

<!-- <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> -->
0 0