tomcat安全优化

1、删除默认登录后台

如果不需要通过web来部署应用,删除默认管理后台

1.1、问题确认


1

2

3

4

5

6


Tomcat的默认后台地址为:http://域名:端口/manager/html.进入之后弹出登陆对话框,Tomcat默认的用户名admin,密码为空。

Tomcat的一些弱口令:

tomcat tomcat

admin 空

admin admin

admin 123456

1.2、优化操作:

(1)删除webapps目录下所有文件


1

2

3

4

5

6

7

8

9

10

11

12


[[email protected] local]# cd tomcat7/webapps/

[[email protected] webapps]# ll

总用量 20

drwxr-xr-x 13 root root 4096 5月  23 16:32 docs

drwxr-xr-x  6 root root 4096 5月  23 16:32 examples

drwxr-xr-x  5 root root 4096 5月  23 16:32 host-manager

drwxr-xr-x  5 root root 4096 5月  23 16:32 manager

drwxr-xr-x  3 root root 4096 5月  23 16:32 ROOT

[[email protected] webapps]# rm -rf *

[[email protected] webapps]# ll

总用量 0

[[email protected] webapps]#

(2)删除或注释登录用户信息


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20


vim conf/tomcat-users.xml

<tomcat-users>

<!--

NOTE:  By default, no user is included in the "manager-gui" role required

to operate the "/manager/html" web application.  If you wish to use this app,

you must define such a user - the username and password are arbitrary.

-->

<!--

NOTE:  The sample user and role entries below are wrapped in a comment

and thus are ignored when reading this file. Do not forget to remove

<!.. ..> that surrounds them.

-->

<!--

<role rolename="tomcat"/>

<role rolename="role1"/>

<user username="tomcat" password="tomcat" roles="tomcat"/>

<user username="both" password="tomcat" roles="tomcat,role1"/>

<user username="role1" password="tomcat" roles="role1"/>

-->

</tomcat-users>

2、隐藏Tomcat版本信息

2.1、问题确认

2.2、优化操作

下载lib/catalina.jar 到本地,使用压缩软件打开,依次路径找到\org\apache\catalina\util\ServerInfo.properties ,找到版本信息,修改伪装


1

2

3


server.info=Apache Tomcat/7.0.42

server.number=7.0.42.0

server.built=Jul 2 2013 08:57:41

改为

随意写


1

2

3


server.info=TEXT1.1

server.number=1.1

server.built=Jul 2 2013 08:57:41

修改完毕。重启tomcat

2.3、修复验证


1

2

3

4

5

6

7

8


[[email protected] ~]# curl -I 192.168.0.1:5050

HTTP/1.1 200 OK

Content-Type: text/html;charset=ISO-8859-1

Transfer-Encoding: chunked

Date: Wed, 25 May 2016 16:41:22 GMT

Server: TEXT1.1

[[email protected] ~]#

3、关闭自动部署

<Host>元素的autoDeploy属性。默认为true,表示如果有新的WEB应用放入appBase并且Tomcat在运行的情况下,自动载入应用。建议关闭,改为false


1

2


<Host name="localhost"  appBase="webapps"

unpackWARs="true" autoDeploy="false">

4、自定义错误页面

默认的40X/50X错误页面会暴露版本等敏感信息

5、AJP端口管理

AJP是为 Tomcat 与 HTTP 服务器之间通信而定制的协议,能提供较高的通信速度和效率。如果tomcat前端放的是apache的时候,会使用到AJP这个连接器。前端如果是由nginx做的反向代理的话可以不使用此连接器,因此需要注销掉该连接器。


1


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

6、服务权限控制

tomcat以普通用户权限启动。

创建普通用户javauser,主目录/home/javauser,可以用来存放web应用,允许登录。(默认情况下,不修改密码,javause用户的密码是锁定的,外部无法登录,仅本机可以su - javauser)

tomcat实例安装目录、应用部署目录的属主和属组都修改为javauser,防止出现权限问题


1

2

3

4

5

6

7

8

9


[[email protected] ~]# useradd javauser

[[email protected] ~]# chown javauser:javauser /usr/local/tomcat7-5050 -R

[[email protected] ~]# su -c /usr/local/tomcat7-5050/bin/startup.sh javauser

Using CATALINA_BASE:   /usr/local/tomcat7-5050

Using CATALINA_HOME:   /usr/local/tomcat7-5050

Using CATALINA_TMPDIR: /usr/local/tomcat7-5050/temp

Using JRE_HOME:        /usr/java/jdk1.7.0_40/jre

Using CLASSPATH:       /usr/local/tomcat7-5050/bin/bootstrap.jar:/usr/local/tomcat7-5050/bin/tomcat-juli.jar

[[email protected] ~]#

7、shutdown端口保护

对于一个已经开启的tomcat服务器,可以在cmd下使用telnet XXXX 8005命令进行连接,然后输入“SHUTDOWN” 命令就可以关闭服务器

默认情况下,shutdown端口仅监听127.0.0.1。不是的话,需要使用iptables限制源IP对这个端口的访问

8、启用cookie的HttpOnly属性

在<Contextu>元素设置属性seHttpOnly="true"

此问题的原因在于防范xss攻击,当设置为true时,表示创建的 Cookie 会被以安全的形式向服务器传输,也就是只能在 HTTPS 连接中被浏览器传递到服务器端进行会话验证,如果是 HTTP 连接则不会传递该信息,所以不会被窃取到Cookie 的具体内容。

HttpOnly属性:

如果在Cookie中设置了"HttpOnly"属性,那么通过程序(JS脚本、Applet等)将无法读取到Cookie信息,这样能有效的防止XSS攻击。


1


<Context useHttpOnly="true">

时间: 2024-08-29 15:26:05

tomcat安全优化的相关文章

Tomcat服务器优化

由于Tomcat的运行依赖于JVM,从虚拟机的角度我们把Tomcat的调整分为外部环境调优和自身调优两类来描述. 1.JDK内存优化 根据服务器物理内容情况配置相关参数优化tomcat性能.当应用程序需要的内存超出堆的最大值时虚拟机就会提示内存溢出,并且导致应用服务崩溃.因此一般建议堆的最大值设置为可用内存的最大值的80%. Tomcat默认可以使用的内存为128MB,在较大型的应用项目中,这点内存是不够的,需要调大. Tomcat默认可以使用的内存为128MB,Windows下,在文件/bin

Tomcat配置优化

TOMCAT配置优化一. Tomcat下使用Log4j 接管 catalina.out 日志文件生成方式,按天存放,解决catalina.out日志文件过大问题1.准备jar包:log4j-1.2.16.jar , tomcat-juli.jar, tomcat-juli-adapters.jar 注意:tomcat-juli.jar, tomcat-juli-adapters.jar 需要根据不同tomcat的版本去相应下载(从http://archive.apache.org/dist/to

tomcat 8优化配置

Tomcat 8 下载:wget http://apache.fayea.com/tomcat/tomcat-8/v8.0.32/bin/apache-tomcat-8.0.32.tar.gz 压缩包解压:tar -zxvf apache-tomcat-8.0.32.tar.gz 移到解压出来文件夹到 /usr 下:mv apache-tomcat-8.0.32/ /usr/program/ 为了方便,修改解压目录的名字:mv /usr/program/apache-tomcat-8.0.32/

tomcat并发优化

Tomcat 并发优化 首先先介绍一款知名的网站压力测试工具:webbench. Webbench能测试处在相同硬件上,不同服务的性能以及不同硬件上同一个服务的运行状况.webbench的标准测试可以向我们展示服务器的两项内容:每分钟相应请求数和每秒钟传输数据量.webbench不但能具有便准静态页面的测试能力,还能对动态页面(ASP,PHP,JAVA,CGI)进 行测试的能力.还有就是他支持对含有SSL的安全网站例如电子商务网站进行静态或动态的性能测试,最多可以模拟3万个并发连接去测试网站的负

tomcat 配置文件优化

一.前言 对于tomcat的优化主要包括两个方面,一个是对Tomcat启动参数进行优化配置,另一个是Tomcat容器内的优化配置,下面分别用具体详细的参数配置说明进行分析(更多推荐"tomcat的HTTPS安全通道配置".源码分析等) 二 .Tomcat内存优化 tomcat启动参数设置,主要在其bin目录下catalina文件(window环境对象catalina.bat.linux环境对应catalina.sh)进行设置,在文件头部复制下面参数示例, 1. Window环境 详细的

tomcat服务器配置优化

tomcat服务器个配置优化 一.Tomcat内存优化 T omcat内存优化主要是对 tomcat 启动参数优化,我们可以在 tomcat 的启动脚本 catalina.sh 中设置 JAVA_OPTS参数. 1.JAVA_OPTS参数说明 -server  启用jdk 的 server 版: -Xms    java虚拟机初始化时的最小内存: -Xmx   java虚拟机可使用的最大内存: -XX:PermSize    内存永久保留区域 -XX:MaxPermSize   内存最大永久保留

Tomcat 7优化前及优化后的性能对比(转载)

一.运行环境 CPU: Intel(R) Pentium(R) [email protected]  : 内存:4G,装的是32位win7,只认出3G,没有花时间去整ramdisk之类的东西: 操作系统:win7 32位: JDK:1.7.0_55 Tomcat:7.0.53 大家不要笑,公司电脑,就给配这样的,慢的要死,悲剧! 下面所有测试都是基于1000个请求做的,且都是访问Tomcat默认的ROOT首页 二.未调优前 并发用户数从10-1000挨个测试,测试结果如下: 从上面的测试结果来看

tomcat性能优化Server——Connector

该元素可用于Tomcat 6.0.11以及更高版本. 允许您为一个Service的所有Connector配置一个共享线程池.在运行多个Connector的状况下,这样处理非常有用,而且每个Connector必须设置一个maxThread值,但不希望Tomcat实例并发使用的线程最大数永远与所有连接器maxThread数量的总和一样高. 这是因为如果这样处理,则需要占用太多的硬件资源.相反,您可以使用Executor元素配置一个共享线程池,而且所有的Connector都能共享这个线程池. 警告:为

tomcat高性能优化配置

1.精简Tomcat和配置文件 1.删除不需要的管理应用和帮助应用,提高tomcat安全性. # 删除webapps下所有文件 # rm –fr $CATALINA_HOME/webapps/* # 删除server/wenapps下所有文件 # rm –fr $CATALINA_HOME/server/webapps/* 2.精简sever.xml配置文件 使用tomcat发布版本中的最小配置文件,提高性能,如果有功能上的需求,在逐个的加入功能配置. # 备份原来的server.xml为ser

Tomcat的优化

Tomcat的优化配置 修改tomcat的config目录下server.xml文件 <Connector port="9021"  protocol="HTTP/1.1"  executor="tomcatThreadPool" URIEncoding="UTF-8"  maxThreads="2000" maxConnections="1000"  connectionTime