tomcat服务的安全解决方案
1. 删除项目无关文件和目录访问控制
- 描述
Tomcat安装提供了示例应用程序、文档和其他可能不用于生产程序及目录,存在极大安全风险,建议移除
检查提示 - 加固建议
请删除Tomcat示例程序和目录、管理控制台等,即从Tomcat根目录的webapps目录,移出或删除docs、examples、host-manager、manager目录。
- 其他
可选
2. Tomcat目录权限检测访问控制
- 描述
在运行Tomcat服务时,避免使用root用户运行,tomcat目录(catalina.home、 catalina.base目录)所有者应改为非root的运行用户 - 加固建议
使用chown -R <Tomcat启动用户所属组>:<Tomcat启动用户> <Tomcat目录>修改tomcat目录文件所有者,如chown -R tomcat:tomcat /usr/local/tomcat
3. Tomcat进程运行权限检测访问控制
- 描述
在运行Internet服务时,最好尽可能避免使用root用户运行,降低攻击者拿到服务器控制权限的机会。 - 加固建议
创建低权限的账号运行Tomcat,操作步骤如下:
–新增tomcat用户
useradd tomcat
–将tomcat目录owner改为tomcat
chown -R tomcat:tomcat /opt/tomcat
– 停止原来的tomcat服务
–切换到tomcat用户
su - tomcat
–重新启动tomcat
/opt/tomcat/bin/startup.sh
4. 禁止自动部署服务配置
- 描述
配置自动部署,容易被部署恶意或未经测试的应用程序,应将其禁用 - 加固建议
修改Tomcat 根目录下的配置文件conf/server.xml,将host节点的autoDeploy属性设置为“false”,如果host的deployOnStartup属性(如没有deployOnStartup配置可以忽略)为“true”,则也将其更改为“false”
5. 禁止显示异常调试信息服务配置
- 描述
当请求处理期间发生运行时错误时,ApacheTomcat将向请求者显示调试信息。建议不要向请求者提供此类调试信息。 - 加固建议
在Tomcat根目录下的conf/web.xml文件里面的web-app添加子节点:java.lang.Throwable/error.jsp,在webapps目录下创建error.jsp,定义自定义错误信息
建议服务器登录使用ssh密钥登录 , 不要使用账号密码登录 , 如果别人入侵了您的程序 , 那么肯定是以root用户入侵的 , 所以 ,你分配什么样的身份权限都没有用 , 还不如直接把侵略者挡在服务器的外面 。
{.is-warning}