tomcat 安全规范(tomcat安全加固和规范)
tomcat是一个开源Web服务器,基于Tomcat的Web运行效率高,可以在一般的硬件平台上流畅运行,因此,颇受Web站长的青睐。不过,在默认配置下其存在一定的安全隐患,可被恶意攻击。以下是一些安全加固的方法:
版本安全
升级到最新稳定版,出于稳定性考虑,不建议进行跨版本升级。
服务降权
不要使用root用户启动tomcat,使用用普通用户启动Tomcat,集群内用户名统一UID
端口保护
1更改tomcat管理端口8005,此端口有权限关闭tomcat服务,但要求端口配置在8000~8999之间,并更改shutdown执行的命令
2若Tomcat都是放在内网的,则针对Tomcat服务的监听地址都是内网地址
3修改默认的ajp8009端口为不易冲突(大于1024),但要求端口配置在8000~8999之间
禁用管理端
1删除默认$CATALINA_HOME/conf/tomcat-users.xml文件,重启tomcat将会自动生成新的文件
2删除$CATALINA_HOME/webapps下载默认的所有目录和文件
3将tomcat应用根目录配置为tomcat安装目录以外的目录
隐藏Tomcat的版本信息
针对该信息的显示是由一个jar包控制的,该jar包存放在$CATALINA_HOME/lib目录下,名称为catalina.jar,
通过jarxf命令解压这个jar包会得到两个目录META-INF和org,
修改org/apache/catalina/util/ServerInfo.properties文件中的serverinfo字段来实现来更改我们tomcat的版本信息
关闭war自动部署
默认Tomcat是开启了对war包的热部署的。为了防止被植入木马等恶意程序,因此我们要关闭自动部署。
修改实例:
unpackWARs="false"autoDeploy="false">
自定义错误页面
编辑conf/web.xml,在标签上添加以下内容:
404 /404.html 500 /500.html
屏蔽目录文件自动列出
编辑conf/web.xml文件
default org.apache.catalina.servlets.DefaultServlet debug 0 listings false 1 false
这里false为不列出,true为充许列出
多虚拟主机
强烈建议不要使用Tomcat的虚拟主机,推荐每个站点使用一个实例。即,可以启动多个Tomcat,而不是启动一个Tomcat里面包含多个虚拟主机。
因为Tomcat是多线程,共享内存,任何一个虚拟主机中的应用崩溃,都会影响到所有应用程序。虽然采用多实例的方式会产生过多的开销,但至少保障了应用程序的隔离和安全。
脚本权限回收
控制CATALINAHOME/bin目录下的start.sh、catalina.sh、shutdown.sh的可执行权限
chmod−R744CATALINA_HOME/bin/*
分离Tomcat和项目的用户
为了防止Tomcat被植入webshell程序后,可以修改项目文件。因此我们要将Tomcat和项目的属主做分离,这样子,即便被搞,他也无法创建和编辑项目文件。
serverhead重写
在HTTPConnector配置中加入server的配置server="server_name",默认是Apache-Copyote/1.1
通过配置,限定访问的IP来源
访问日志格式规范
开启tomcat默认访问日志中Referer和User-Agent记录
标准配置:
directory="logs"prefix="localhost_access_log"
suffix=".txt"pattern="%h%l%u%t"%r"%s%b%{Referer}i%{User-Agent}i%D"
resolveHosts="false"/>
tomcat禁用非法HTTP方法
编辑web.xml文件中配置
org.apache.catalina.servlets.DefaultServlet的readonly true
其中param-value为true时,即不允许delete和put操作。
tomcat用户具有远程管理权限
在tomcat-users.xml中,修改tomcat用户的role值包含manager,如:
roles="manager">
tomcat自动登出时间不大于30秒
编辑server.xml,修改自动登出时间为30秒,如下:
tomcat应根据机器性能和业务需求,设置最小连接数和最大连接数
编辑server.xml文件,
样例如下:
minSpareThreads=“25”表示即使没有人使用也开这么多空线程等待
根据实际情况设置连接数
编辑server.xml文件,
样例如下:
maxThreads=“150”表示最多同时处理150个连接
根据实际情况配置连接数
Tomcat配置访问日志
修改server.xml,将如下内容的注释标记取消:
配置Tomcat错误页面重定向
编辑web.xml文件,修改如下:
…………… 404 /noFile.htm java.lang.NullPointerException /error.jsp
这篇文章就介绍到这了,后续毛票票小编会为大家分享更多的知识。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。