tomcat安装规范
创建用户
useradd -u 501 tomcat
passwd tomcat
tomcat安装
tar zxf apache-tomcat-8.5.5.tar.gz -C /usr/local/
cd /usr/local/; ln -s apache-tomcat-8.5.5 tomcat
chown -R tomcat.tomcat *tomcat*
应用程序配置
mkdir -p /data/webapps
cd /data/
chown -R tomcat.tomcat webapps
su tomcat #将应用程序放置在/data/webapps/目录下。建立相应的目录如团购wmw_tuan,静态化wmw_static,并修改server.xml,对应好目录即可 ###server.xml###
<Host name="localhost" appBase="webapps"
unpackWARS="true" autoDeploy="true"> <Context path="" docBase="/data/webapps/wmw_static" />
...
启动tomcat
/usr/local/tomcat/bin/startup.sh
tomcat重启问题
/usr/local/tomcat/bin/shutdown.sh 这个命令是关闭tomcat
重启有2个问题需要注意:
1、建议生产环境中,每次重启之前把这两个文件夹清空,不然可能会因为缓存的问题造成一些奇怪的事件
2、有时候会发现执行shutdown.sh后,tomcat并没有完全关闭,所以我们可以做脚本kill进程

去除其他用户对tomcat启停脚本的执行权限
chmod 744 -R tomcat/bin/*
telnet端口保护
说明:
修改默认的8005管理端口为不易猜测的端口(大于1024)
修改SHUTDOWN指令为其他字符串 标准配置:
<Server port="8527" shutdown="dangerous"> 备注:
以上配置项的配置内容只是建议配置
ajp端口保护
说明:
修改默认的ajp 8009端口为不易冲突的大于1024端口
通过iptables规则限制ajp端口访问的权限仅为线上机器 标准配置:
<Connector port="8528" protocol="AJP/1.3"/> 备注:
以上配置项内容仅为建议配置,请按照实际情况进行合理配置,但要求端口在8000~8999之间
保护此端口的目的在于防止线下的测试流量被mod_jk转发至线上tomcat服务器
禁用管理端
说明:
删除默认的{tomcat安装目录}/conf/tomcat-user.xml文件,重启tomcat后将会自动生成新的文件
删除{tomcat安装目录}/webapps下默认所有的目录和文件
将tomcat应用根目录配置为tomcat安装目录以外的目录 标准配置:
<Context path="" docBase="/data/webapps/bagtree" debug="0" reloadable="false" crossContext="true" /> 备注:
对于前段web模块,tomcat管理端属于tomcat的高危安全隐患,一旦被攻破,黑客通过上传web shell的方式将会直接取
得服务器的控制权,后果极其严重
降权启动
说明:
tomcat启动用户权限必须为非root权限,尽量降低tomcat启动用户的目录访问权限
如需要直接对外使用80端口,可通过普通帐号启动后,配置iptables规则进行转发 备注:
避免一旦tomcat服务被入侵,黑客直接获取高级用户权限危害整个server的安全
文件访问列表控制
说明:
conf/web.xml文件中default部分listings的配置必须为false 标准配置:
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param> 备注:
false为不列出目录文件,true为允许列出,默认为false
版本信息隐藏
说明:
修改conf/web.xml,重定向403、404以及500等错误到指定的错误页面
也可以通过应用程序目录下的WEB-INF/web.xml进行错误页面的重定向 标准配置:
<error-page>
<error-code>403</error-code>
<location>/forbidden.jsp</location>
</error-page> <error-page>
<error-code>404</error-code>
<location>/notfound.jsp</location>
</error-page> <error-page>
<error-code>500</error-code>
<location>/serverbusy.jsp</location>
</error-page> 备注:
在配置中对一些常见错误进行重定向,避免当出现错误时tomcat默认显示的错误页面暴露服务器和版本信息
必须确保程序跟目录下的错误页面已经存在
Server header重写
说明:
在HTTP Connector配置中加入server的配置 标准配置:
server="webserver" 备注:
当tomcat HTTP端口直接提供web服务时此配置生效,加入此配置,将会替换http响应Server header部分默认配置,默认是Apache-Coyote/1.1
访问控制
说明:
通过配置,限定访问的ip源 标准配置:
<Context path="" docBase="/home/work/tomcat" debug="0" reloadable="false" crossContext="true">
<Valve className="org.apache.catalina.valves.RemoteAddrValue" allow="61.148.18.138,61.135.165.*" deny="*.*.*.*" />
</Context> 备注:
ip的白名单,拒绝非白名单ip的访问,此配置主要是针对高保密级别的系统
起停脚本权限回收
说明:
取出其他用户对tomcat的bin目录下shutdown.sh、startup.sh、catalina.sh的可执行权限 标准配置:
chmod -R 744 tomcat/bin/* 备注:
防止其他用户有起停线上tomcat的权限
访问日志格式规范
说明:
开启tomcat默认访问日志中的Referer和User-Agent记录 标准配置:
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t %r %s %b %{Referer}i %{User-Agent}i %D" resolveHosts="false" /> 备注:
开启Referer和User-Agent是为了一旦出现安全问题能够更好的根据日志进行问题排查
tomcat安装规范的更多相关文章
- Tomcat安全管理规范
s 前言 随着公司内部使用Tomcat作为web应用服务器的规模越来越大,为保证Tomcat的配置安全,防止信息泄露,恶性攻击以及配置的安全规范,特制定此Tomcat安全配置规范. 定位:仅对tomc ...
- tomcat安装配置规范
tomcat用户设置 1 2 [root@host-1 ~]# useradd -u 501 tomcat [root@host-1 ~]# passwd tomcat 安装JDK 1 2 3 4 ...
- Tomcat 安装与配置规范
Tomcat 安装 演示版本:8.5.32 安装版 JDK推荐版本:jdk1.8 下载地址:https://tomcat.apache.org/download-80.cgi 安装教程 注意:tomc ...
- JavaWeb——tomcat安装及目录介绍
一.web web可以说,就是一套 请求->处理->响应 的流程.客户端使用浏览器(IE.FireFox等),通过网络(Network)连接到服务器上,使用HTTP协议发起请求(Reque ...
- Tomcat安装、启动和配置
Tomcat服务器介绍 Tomcat是一个免费开发源代码的web应用服务器,具有与IIS.Apache等web服务器一样处理html页面的功能,另外它还是一个Servlet和JSP容器,独立的serv ...
- tomcat安装与配置文件
一 安装tomcat 1.系统必须已安装配置JDK 安装说明参考地址:http://www.cnblogs.com/Yuanbangchen/p/5945491.html 2.将apache-to ...
- Tomcat学习之二:tomcat安装、配置及目录文件说明
我们看到tomcat目录/bin文件夹里有个tomcat6w.exe,顾名思义就是tomcat以window方式显示控制台.第1次点击打开它时候,可能会提示:tomcat指定的服务未安装,此时我们可以 ...
- Tomcat安装部署和安全加固优化以及反向代理应用
1.Tomcat介绍 Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache.Sun和其他一些公司及个人共同 ...
- Tomcat安装及配置详解
Tomcat安装及配置详解 一,Tomcat简介 Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,Tomcat是Apache 软件基金会(Apache Software Found ...
随机推荐
- [洛谷P2174]小Z的神奇数列
题目大意:有$n(n\leqslant10^6)$个数,$5$种操作: $D\;x:$从数列中删除$x$,相同的数只删除一个 $B:$最大值 $S:$最小值 $M:$输出$max^{min}\pmod ...
- BZOJ1927 [Sdoi2010]星际竞速 【费用流】
1927: [Sdoi2010]星际竞速 Time Limit: 20 Sec Memory Limit: 259 MB Submit: 2582 Solved: 1601 [Submit][St ...
- Java代码管理工具SVN系列
SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS.CVS,它采用了分支管理系统,它的设计目标就是取代CVS.互联网上很多版本控制服务已从CVS迁移到Subversion ...
- 【BZOJ 3669】 [Noi2014]魔法森林 LCT维护动态最小生成树
这道题看题意是在求一个二维最小瓶颈路,唯一可行方案就是枚举一维在这一维满足的条件下使另一维最小,那么我们就把第一维排序利用A小的边在A大的情况下仍成立来动态加边维护最小生成树. #include &l ...
- [BZOJ 2438] [中山市选2011]杀人游戏 Tarjan缩点
这个题很容易想到正解就是缩点找入度为零的点,那么我们考虑一种特殊情况就是,一个入度为零的点我们不访问他就知道他是不是凶手,那么这样的话就是:I. 他是一个真·孤立的点 II. 他在图里但是在他的强联通 ...
- photo@PKU
- CORS服务端跨域
跨域,通常情况下是说在两个不通过的域名下面无法进行正常的通信,或者说是无法获取其他域名下面的数据,这个主要的原因是,浏览器出于安全问题的考虑,采用了同源策略,通过浏览器对JS的限制,防止恶意用户获取非 ...
- 有关eclipse的内存溢出问题
一:前言 最近在做的项目在启动tomcat时就报“内存溢出的错误”,其实也不是自己第一次遇到,但是每次都是在网上查询后敲进去,所以这次我觉得自己记载下来吧. 二:内容 我自己的配置大小,这里的配置位置 ...
- 知问前端——日历UI(二)
datapicker外观选项 属性 默认值/类型 说明 disabled false/布尔值 禁用日历 numberOfMonths 1/数值 日历中同时显示的月份个数.默认为1,如果设置3就同时显示 ...
- [POJ3237]Tree解题报告|树链剖分|边剖
关于边剖 之前做的大多是点剖,其实转换到边剖非常简单. 我的做法是每个点的点权记录其到父亲节点的边的边权. 只要solve的时候不要把最上面的点记录在内就可以了. Tree Description Y ...