tomcat安全加固配置手册
2017-03-09 00:00
633 查看
第1章概述
1.1目标
现有的Web服务体系架构缺少有效的安全性支持,所以需要一个安全框架模型来解决Web服务中的各种安全问题。Web服务器是应用的载体,如果这个载体出现安全问题,那么运行在其中的Web应用程序的安全就得不到保障了。本文主要描述ApacheTomcat的安全加固和配置工作,最终用以指导系统实施。1.2预期读者
本文档用于指导系统工程师进行系统实施工作,架构师和系统工程师应该通读本文档,选择适当方式用于自己的系统。第2章产品介绍
Tomcat是一个HTTP服务器,是Sun透过JavaCommunityProcess开发的、对广泛使用的Servlet和JavaServerPage(JSP)技术的正式参考实作。Servlet和JSP技术用于建构HTTP服务器应用程序。虽然Servlet技术中加入了许多特性(包括存取安全性、Session管理和执行绪控制)。JSP技术提供了一种处理动态生成的HTML页面的简便方法,这些HTML页面被直接编译成Servlet以用于快速执行时作业。Tomcat除了上述的两种技术保障安全之外,还可以通过配置Tomcat的参数以增加安全性。第3章Tomcat的安全加固配置
3.1Tomcat版本统一
查看目前系统部署的Tomcat是否为统一的版本,切换到$CATALINA_HOME\bin目录下:Linux:
[root@srv-dfh526tomcat6-spaceservice]#cdbin/
[root@srv-dfh526bin]#./version.sh
UsingCATALINA_BASE:/soft/tomcat6-spaceservice
UsingCATALINA_HOME:/soft/tomcat6-spaceservice
UsingCATALINA_TMPDIR:/soft/tomcat6-spaceservice/temp
UsingJRE_HOME:/usr/local/jdk6
UsingCLASSPATH:/soft/tomcat6-spaceservice/bin/bootstrap.jar
Serverversion:ApacheTomcat/6.0.33
Serverbuilt:Aug16201102:16:34
Servernumber:6.0.33.0
OSName:Linux
OSVersion:2.6.32-279.el6.x86_64
Architecture:amd64
JVMVersion:1.6.0_32-b05
JVMVendor:SunMicrosystemsInc.
Windows:
D:\tools\apache-tomcat-6.0.30\apache-tomcat-6.0.30\bin>version.bat
UsingCATALINA_BASE:"D:\tools\apache-tomcat-6.0.30\apache-tomcat-6.0.30"
UsingCATALINA_HOME:"D:\tools\apache-tomcat-6.0.30\apache-tomcat-6.0.30"
UsingCATALINA_TMPDIR:"D:\tools\apache-tomcat-6.0.30\apache-tomcat-6.0.30\temp"
UsingJRE_HOME:"D:\Java\jdk1.8.0"
UsingCLASSPATH:"D:\tools\apache-tomcat-6.0.30\apache-tomcat-6.0.30\bin\b
ootstrap.jar"
Serverversion:ApacheTomcat/6.0.30
Serverbuilt:January1020111752
Servernumber:6.0.30.0
OSName:Windows7
OSVersion:6.1
Architecture:amd64
JVMVersion:1.8.0-ea-b121
JVMVendor:OracleCorporation
D:\tools\apache-tomcat-6.0.30\apache-tomcat-6.0.30\bin>
3.2Tomcat帐号安全
将$CATALINA_HOME\conf\tomcat-users.xml中文件的所有用户都注释掉,配置如下:1 2 3 4 5 6 7 8 9 10 11 12 13 |
role1:具有读权限;
tomcat:具有读和运行权限;
admin:具有读、运行和写权限;
manager:具有远程管理权限。
如果使用启用了Tomcat用户,则需要设置Tomcat定时登出,将$CATALINA_HOME\conf\server.xml配置如下:
1 2 3 4 5 6 7 8 9 10 11 |
输入帐号和密码都无法登录
3.3除webapps应用
除了需要部署上去的应用,其余位于$CATALINA_HOME\webapps文件夹中的应用如docs、examples、host-manager、manager和ROOT。注:若无业务必要,请执行删除上述的应用包。
加固检查:
输入:http://localhost:8080/manager/html
出现的页面空白
3.4禁止Tomcat目录列表
确保$CATALINA_HOME\conf\web.xml中listings的值为false:1 2 3 4 |
3.5设置Cookie的HttpOnly属性
因为目前框架中没有为Cookie添加HttpOnly属性,所以可以在Tomcat中设置。第一步,在$CATALINA_HOME\conf\context.xml文件中添加useHttpOnly="true"配置如下:
1 2 3 |
1 2 3 4 5 6 |
可以通过firebug查看cookie,出现HttpOnly属性
3.6配置shutdown端口
在$CATALINA_HOME\conf\server.xml中“<Serverport="8005"shutdown="SHUTDOWN">”配置有允许任何人只要telnet到服务器的8005端口,输入"SHUTDOWN",然后回车,服务器立即就被关掉了。从安全的角度上考虑,需要把这个shutdown指令改成一个别人不容易猜测的字符串。而且这个修改不影响shutdown.bat或shutdown.sh的执行。配置如下:<Serverport="未被占用的端口"shutdown="较为复杂的字符串">
注:配置的端口需要大于1024。
加固检查:
使用telnet127.0.0.18005进入,输入“SHUTDOWN”,Tomcat不会被关闭。
3.7隐藏Tomcat版本信息
在默认配置下,当应用出现异常时,客户端会显示Tomcat的版本信息。攻击者可以根据Tomcat版本信息选择漏洞库攻击,所以需要将Tomcat的版本信息隐藏,将$CATALINA_HOME\lib\catalina.jar\org\apache\catalina\util中的配置ServerInfo.properties如下:1 2 3 |
输入一个异常的URL看看出现的异常页面是否出现类似(无Tomcat的版本信息)如下内容:
3.8关闭war自动部署
默认的配置war放在$CATALINA_HOME\webapps中会自动部署,所以关闭war自动部署防止被植入木马等恶意程序。将$CATALINA_HOME\conf\server.xml配置如下:1 2 3 4 5 6 |
将一个war文件放进$CATALINA_HOME\webapps,启动Tomcat后,war文件不会被部署。
3.9Tomcat启动权限
场景一:新部署的应用#若系统中已经存在该用户,则不需要重写创建
1 2 3 4 5 6 7 8 9 10 11 12 13 |
1 2 3 4 5 6 7 8 9 10 11 12 |
1 2 3 4 5 6 7 |
#若系统中已经存在该用户,则不需要重写创建
1 2 3 4 5 6 7 8 9 10 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
1 2 3 4 5 6 7 |
(2)如果需要上传文件到服务容器中的可以将存放目录设置为750.,命令如下。
1 |
1 2 3 4 5 6 7 8 9 10 |
1 2 3 4 5 6 7 8 9 10 11 12 13 |
相关文章推荐
- Tomcat安全加固配置手册
- Nginx安全加固配置手册
- linux云主机加固系列_Tomcat配置安全优化
- tomcat安全加固指南--SSL通信原理及Tomcat SSL双向验证配置
- Apache与Tomcat安装配置手册
- 基于Tomcat+Oracle的应用程序安装配置手册
- Tomcat的详细配置手册
- Tomcat的详细配置手册
- 基于Tomcat+Oracle的应用程序安装配置手册(ZT)
- Tomcat配置的几个安全问题
- 武装到牙齿 07个人电脑安全配置手册
- apache+tomcat+jk+php配置手册
- 配置Tomcat下的web应用服务的安全权限
- Tomcat的安全配置
- Tomcat 6.14安全域的配置(通过JNDI)
- Apache与Tomcat安装配置手册
- Apache与Tomcat安装配置手册
- Tomcat中配置https安全链接