[Tomcat] —— 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" />
-->
时间: 2024-08-07 17:00:48

[Tomcat] —— Tomcat安全设置的相关文章

tomcat启动内存设置以及字符集设置

本人tomcat是6.0版本的,就以6.0版本为例说一下tomcat的内存设置以及字符集的设置: 一.Tomcat的启动分为startupo.bat启动和注册为windows服务的启动,下面一一说明. 1.startup.bat启动 在tomcat_home/bin目录下找到catalina.bat,用文本编辑器打开,加上下面一行: set JAVA_OPTS= -Xms1024M -Xmx1024M -XX:PermSize=256M -XX:MaxNewSize=256M -XX:MaxPe

Tomcat启动内存设置

Tomcat启动内存设置 Tomcat的启动分为startupo.bat启动和注册为windows服务的启动,下面一一说明. 1.startup.bat启动 在tomcat_home/bin目录下找到catalina.bat,用文本编辑器打开,加上下面一行: set JAVA_OPTS= -Xms1024M -Xmx1024M -XX:PermSize=256M -XX:MaxNewSize=256M -XX:MaxPermSize=256M 解释一下各个参数: -Xms1024M:初始化堆内存

Tomcat启动超时设置

Tomcat启动超时设置: 处理方法: 1. 在server中找到当前Tomcat双击. 2.在视图中进行修改.(如下图:) 原文地址:https://www.cnblogs.com/tanjiyuan/p/11016574.html

[tomcat] tomcat+nginx 负载均衡配置

首先下载,安装tomcat. 修改tomcat端口,修改server.xml: 1.修改tomcat端口(默认8080) <Connector port="8383" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> 2.shutdown 端口(默认8005) <Server port="8006" s

一个简单的dos脚本, svn 获取代码 - Tomcat 备份 - Maven 编译 - 停止/启动Tomcat - Tomcat站点 发布

获取最新代码 svn update --username %SVN_USER% --password %SVN_PASSWORD% >> "../%LOG_FILE%" 备份Tomcat 站点 md "%APP_ROOT%\backup\%MVN_PROFILE%-%CUR_DATE%-%myran%" >> "%LOG_FILE%" xcopy "%APP_ROOT%\%MVN_PROFILE%" &

使用docker部署tomcat|tomcat基础使用第二篇

使用docker部署tomcat|tomcat基础使用第二篇 1. review tomcat服务器学习:https://www.cnblogs.com/jiading/p/11974935.html docker学习:https://www.cnblogs.com/jiading/p/12131441.html 2. tomcat使用补充 tomcat服务器的文件位置在哪里 今天猛然间发现之前配置的tomcat居然是随机启动的,也就是说它一直在默默运行着2333,幸好内存占用不大.不过这也从侧

tomcat 配置文件中设置JAVA_HOME

Tomcat默认情况下会用系统的环境变量中找到JAVA_HOME和JRE_HOME.但是有的时候我们需要不同版本的JDK共存. 可以在${TOMCAT_HOME}/bin/setclasspath.bat最前面设置JAVA_HOME和JRE_HOME. 例如: Js代码 Window: rem set user jdk and jre home set JAVA_HOME=E:\javadev\jdk5 set JRE_HOME=E:\javadev\jdk5\jre

linux下安装tomcat,并设置自动启动

在linux系统下,设置某个服务自启动的话,需要在/etc/rcX.d下挂载,还要在/etc/init.d/下写启动脚本的 在/etc/init.d/下新建一个文件tomcat(需要在root权限下操作) vi /etc/init.d/tomcat 写入如下代码: # tomcat自启动脚本 #!/bin/sh # chkconfig: 345 99 10 # description: Auto-starts tomcat # /etc/init.d/tomcatd # Tomcat auto-

TOMCAT优化内存设置

linux: JAVA_OPTS='-Xms4096m -Xmx4096m' JAVA_OPTS="$JAVA_OPTS -server -XX:PermSize=512M -XX:MaxPermSize=1024m" windwos: set JAVA_OPTS=-Xms2048m -Xmx4096m -XX:PermSize=1024m -XX:MaxPermSize=2048m 说明:以上参数主要对64为tomcat和64位JDK的环境设置. 如果是32位系统,以上设置肯定启动失

转载:Tomcat的JVM设置和连接数设置

Windows环境下修改“%TOMCAT_HOME%\bin\catalina.bat”文件,在文件开头增加如下设置:set JAVA_OPTS=-Xms256m -Xmx512m Linux环境下修改“%TOMCAT_HOME%\bin\catalina.sh”文件,在文件开头增加如下设置:JAVA_OPTS=’-Xms256m -Xmx512m’ 其中,-Xms设置初始化内存大小,-Xmx设置可以使用的最大内存. --------------------------------------