tomcat安全设置
1.关闭服务器端口:
server.xml默认有下面一行:
- <Server port="8005" shutdown="SHUTDOWN">
这样允许任何人只要telnet到服务器的8005端口,输入”SHUTDOWN”,然后回车,服务器立即就被关掉了。
从安全的角度上考虑,我们需要把这个shutdown指令改成一个别人不容易猜测的字符串,可以同时把端口也改了。
例如修改如下:
- <Server port="8005" shutdown="c1gstudio">
这样就只有在telnet到8005,并且输入”c1gstudio”才能够关闭Tomcat.
注意:这个修改不影响shutdown.bat的执行。运行shutdown.bat一样可以关闭服务器。
2.增加防火墙
更安全的方式是同时增加防火墙,来限制访问Tomcat的控制与连接器端口
你可以通过运行netstat -a来查看网络服务器socket及其他现有连接的清单
插入规则
iptables -A INPUT -p tcp -m tcp –dport 8005 -j DROP
保存规则
service iptables save
重载规则
service iptables restart
3.处理好Tomcat管理台的安全
Tomcat管理台的应用文件,默认在{Tomcat安装目录}\server\webapps下,有admin和manager两个应用。
其用户密码,在{Tomcat安装目录}\conf/tomcat-users.xml中定义。在{Tomcat安装目录}\webapps下
admin.xml和manager.xml文件定义了可以通过访问/admin和/manager进入。
默认情况下,完全可以登录tomcat管理台,造成严重安全问题
检测办法:用IE打开链接http://[IP]:[Port]/admin,以用户名admin,密码为空登录,如果成功,
说明存在问题。
解决办法:可以删除{Tomcat安装目录}\webapps下admin.xml和manager.xml文件,或者去掉用户密
码,也可以删除应用文件。
4.运行错误网页
如果找不到网页即出现404错误,会显示服务器版本号,服务器配置也一目了然,
为了避免这种情况,希望自定义设置错误页面。
设置如下:
用记事本打开\conf\web.xml文件,在文件的倒数第二行(一行之前)加入以下内容:
- <error-page>
- <error-code>404</error-code>
- <location>/404.jsp</location>
- </error-page>
- <error-page>
- <error-code>500</error-code>
- <location>/500.jsp</location>
- </error-page>
在根目录下创建404.jsp和500.jsp文件
5.多重服务器的安全防护模式
当在同一台主机(或同一网络文件系统)上的 Apache httpd Web 服务器与 Tomcat 之间共享网页的实际目录时,
请留意其个别安全防护模式间的相互作用。当你有“受保护的目录”时,这会特别重要。
服务器将具有能读取彼此文件的权限。
在这些状况下,请注意 Tomcat 并不会保护如 .htaccess 的文件,而Apache也不会保护Web应用程序的 WEB-INF 或 META-INF 目录。
这些情形都有可能导致重大的安全漏洞,所以,我们建议你在使用这些特别的目录时,要格外小心。
若要让 Apache httpd 保护 WEB-INF 及 META-INF 目录,请在 httpd.conf 中加入下列内容
- <LocationMatch "/WEB-INF/">
- AllowOverride None
- deny from all
- </LocationMatch>
- <LocationMatch "/META-INF/">
- AllowOverride None
- deny from all
- </LocationMatch>
6.屏蔽目录文件自动列出的方法
conf/web.xml文件
- <servlet>
- <servlet-name>default</servlet-name>
- <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
- <init-param>
- <param-name>debug</param-name>
- <param-value>0</param-value>
- </init-param>
- <init-param>
- <param-name>listings</param-name>
- <param-value>false</param-value>
- </init-param>
- <load-on-startup>1</load-on-startup>
- </servlet>
- <param-value>false</param-value>
这里false为不列出,true为充许列出
7.以非root用户运行
8.关闭8009端口
8009/tcp open ajp13
8009端口是tomcat和apache的mod_proxy_ajp,mod_jk沟通的端口,没有用到就关了。
tomcatpath/conf/server.xml 中的这段注释掉
- <!--
- <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
- -->
tomcat安全设置的更多相关文章
- 运行两个以上tomcat的设置及内存设置
		运行两个或以上tomcat的设置方法 1.解决端口冲突问题设置方法很简单,修改conf/server.xml配置文件中的3个端口即可.默认端口:8005.8080.8009.一般情况位置如下:**** ... 
- Tomcat SSL 设置
		1. 先用如下命令生成tomcat 证书 cls rem please set the env JAVA_HOME before run this bat file SET JAVA_HOME=C:\ ... 
- Tomcat内存设置详解
		Java内存溢出详解 一.常见的Java内存溢出有以下三种: 1. java.lang.OutOfMemoryError: Java heap space ----JVM Heap(堆)溢出 JVM在 ... 
- (转)Tomcat内存设置
		Java内存溢出详解 一.常见的Java内存溢出有以下三种: 1. java.lang.OutOfMemoryError: Java heap space ----JVM Heap(堆)溢出 JVM在 ... 
- 在Apache Tomcat 7设置redis作为session store
		在Apache Tomcat 7设置redis作为session store //输出tomcat控制台日志 root@ubuntu:~# cd /usr/tomcat/apache-tomcat- ... 
- Eclipse下Tomcat常用设置
		Eclipse下Tomcat常用设置 1,Eclipse建立Tomcat服务 1.1 新建Server 首先这里是指,jee版的Eclipse.Eclipse是没有像MyEclipse那样集成Tomc ... 
- TOMCAT 优化设置
		增加JVM堆内存大小修复JRE内存泄漏线程池设置压缩数据库性能调优Tomcat本地库 第1步 – 提高JVM栈内存Increase JVM heap memory 你使用过tomcat的话,简单的说就 ... 
- (转)Tomcat内存设置详解
		Java内存溢出详解 一.常见的Java内存溢出有以下三种: 1. java.lang.OutOfMemoryError: Java heap space ----JVM Heap(堆)溢出JVM在启 ... 
- Tomcat时区设置方法[转]
		最近被问到了关于Tomcat时区设置方法,还没碰到类似的问题,网上说是记录日志和定时任务时可能会出现,目前还未发现,先记录下来. 原文地址:http://blog.csdn.net/x_yp/arti ... 
- Tomcat常用设置及安全管理规范
		前言 随着公司内部使用Tomcat作为web应用服务器的规模越来越大,为保证Tomcat的配置安全,防止信息泄露,恶性攻击以及配置的安全规范,特制定此Tomcat安全配置规范.注意: 本文章从htt ... 
随机推荐
- 数组和ArrayList 相互转换
			Dim params(10) As DbParameter params(0) = DBHelper.CreateDbParameter("@RegName", Jz_RegInf ... 
- 3月31日学习笔记(HTML基础)
			HTML标签和元素概念区别 <p>是标签,<p>内容</p>是HTML元素. <pre></pre>定义预格式化文本,多用来显示源代码. 表 ... 
- PHP标签的格式
			PHP标签的格式: 1.xml格式(推荐的,标准的标记) <?php php代码?> 示例: 2.短格式 <? php代码 ?> 此种格式需要在php.ini中配置 示例 ... 
- SpringMVC中注解和非注解方式下的映射器和适配器总结
			1. 非注解方式 1.1 处理器适配器 上一节中使用的处理器适配器是:org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapte ... 
- lex&yacc5--YYSTYPE
			yacc里的YYSTYPE默认是int型的,当然也可以勇%union来定义联合但是由于程序需要,我要将YYSTYPE定义为我自己定义的一个struct的指针然后作为一个全局变量,让lex在扫描的时候, ... 
- 用于主题检测的临时日志(594fb726-af0b-400d-b647-8b1d1b477d72 - 3bfe001a-32de-4114-a6b4-4005b770f6d7)
			这是一个未删除的临时日志.请手动删除它.(f8322da6-c527-47fb-98d2-f12a7d814d19 - 3bfe001a-32de-4114-a6b4-4005b770f6d7) 
- Windows下bmp文件格式
			6.1 BMP文件格式 6.1.1 简介 位图文件(Bitmap-File,BMP)格式是Windows采用的图像文件存储格式,在Windows环境下运行的所有图像处理软件都支持这种格式.Window ... 
- C# 导出 Excel
			/// <summary> /// 导出Excel /// </summary> public void ExportExcel() { #region 添加引用 Micros ... 
- KnockoutJS(3)-绑定语法
			绑定语法大致分为2种: 1. 数据绑定(data-bind syntax) 2. 绑定上下文(Binding Context) 下面针对这2中绑定语法分别介绍一下 1. 绑定上下文(Binding C ... 
- StringBuilder的Append()方法会比+=效率高
			StringBuilder strSql = new StringBuilder(); strSql.Append("select top 1 id from " + databa ... 
