如何预防后台被攻击?Tomcat 的安全配置来啦!
Posted CSDN
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何预防后台被攻击?Tomcat 的安全配置来啦!相关的知识,希望对你有一定的参考价值。
作者 | 苗超
责编 | Elle
出品 | CSDN(ID:CSDNnews)
Tomcat作为一款应用服务器,默认情况下可以满足多数场景的安全需求,但是在安全要求较高的情况下,仍需要从多个方面进行配置,已防止Tomcat管理后台被攻击等风险。Tomcat安全主要从以下2个方面介绍。
配置安全
默认情况下其存在一定的安全隐患,可被恶意攻击,所以在生产环境中需要对Tomcat进行安全配置,下面将介绍影响Tomcat配置安全的4个选项。
1. 移除不使用的内置应用
图 2.Tomcat内置应用
2. 降权启动tomcat
tomcat 启动用户权限必须为非root,避免一旦tomcat服务被入侵,获取root权限,因为在Linux操作系统中,root用户的权限是最高的,可以执行普通用户无法执行的操作。应单独为Tomcat服务器创建一个用户,并且授予运行应用服务器所需的最小系统权限。
3. 删除不使用的组件
Tomcat是开源软件,那么server.xml中的默认配置对所有人都是可见的,它的运行机制也是众所周知的,因此使用默认配置也会增加服务器受攻击的风险。所以在部署生产环境前,移除不必要的组件,默认情况下,server.xml配置了一个HTTP连接器(8080)和一个AJP连接器(8009),实际上绝大多数情况下,只需要一个连接器。如果Tomcat不存在前置的web服务器,此时可以保留HTTP而删除AJP连接器。
4. 禁用自动部署
在默认情况下,Tomcat是自动部署的,只要是在webapps目录下的war包均会在Tomcat启动时自动部署,包括被植入的恶意web应用。要避免恶意的web应用自动启动,可以考虑从两个方面解决:一是修改web应用部署目录为其他路径,这样攻击者很难找到正确的部署目录并部署web应用;二是禁用自动部署,将server.xml配置文件中Host元素的autoDeploy和deployOnStartup属性设置为false,此时只有通过context标签部署web应用,配置方法如图3所示。
图 3.禁用自动部署
1. 管理平台是什么?
Tomcat提供了基于Web方式的管理平台,管理平台即是内置的两个独立的web应用,位于webapps目录下的host-manager和manager。host-manager管理控制台可以动态地添加一个虚拟主机。此外还可以启动、停止、删除虚拟主机,在实际生产中很少使用host-manager管理平台。manager管理平台可以很方便的管理运行在tomcat服务器上的Web应用,如发布、启动、停止或删除Web应用,还可以实时管理HTTP会话以及查看服务器状态信息等。
2. 管理平台如何使用
在tomcat启动成功后,通过http://ip:port/manager/html访问manager 管理平台 ,因为默认添加了访问权限控制,第一次访问需要在 conf/ tomcat-users.xml 文件 中为当前用户添加角色,manager管理平台共有4种角色,分别为:
• manager-gui:允许访问html页面接口(即URL路径为/manager/html/*);
• manager-script:允许访问纯文本接口(即URL路径为/manager/text/*);
• manager-jmx:允许访问JMX代理接口(即URL路径为/manager/jmxproxy/*);
• manager-status:允许访问Tomcat只读状态页面(即URL路径为/manager/status/*)。
其中manager-gui、manager-script、manager-jmx三个角色均具备manager-status角色的权限,即这三种角色权限无需再额外添加manager-status权限。实际使用中只需配置manager-gui角色通过html页面的形式访问管理平台。
manager管理平台有4种角色,host-manager管理平台有2种角色,配置方式如图4所示。
图 4. 管理平台角色配置
Web版管理控制台可以发布、停止、重新加载指定的web应用,如图5所示。
图 5. Web版管理控制台
通过http://ip:port/manager/status ,查看Server-status服务器状态页面,如图6所示。
图 6. 服务器状态页面
Server-status包含以下几部分信息:
服务器基本信息 |
|
系统信息 |
内存使用情况 |
JVM信息 |
JVM分配及使用情况 |
连接器信息 |
连接器请求处理线程的使用情况 |
通过http:// ip:port /host-manager/html 访问host-manager管理平台,因为默认添加了访问权限控制,第一次访问需要在conf/tomcat-users.xml文件中为当前用户添加角色,host-manager管理平台共有2种角色,分别为admin-gui和admin-script,配置方式如图3所示。
• admin-gui:允许访问html页面接口(即URL路径为/manager/html/*)。
• admin-script:允许访问纯文本接口(即URL路径为/manager/text/*)。
图 7. host-manager管理平台页面
3. 管理平台安全加固
管理平台有发布管理应用的权限,默认情况下host-manager和manager应用存在安全风险,可能会产生严重的危害,所以针对Tomcat管理平台需通过以下几个方面进行安全加固。
• 如使用内置host-manager和manager管理应用,需要增加IP访问限制,在应
图8. IP访问限制配置方式
• 如需访问host-manager和manager应用需要分配相关的角色权限。我们还应
设置足够健壮的密码,建议加强口令强度,设置口令复杂度为8位以上,大小写字母、数字、特殊符号的组合,并定期更换密码,避免使用弱口令。
• 管理平台添加用户锁定功能,在server.xml中配置了org.apache.catalina.real
m.LockOutRealm,LockOutRealm 是一个Tomcat的Realm实现,它扩展了CombinedRealm,假如在某一段时间内出现很多验证失败,则它能够提供锁定用户的功能,已避免攻击者进行密码暴力破解。LockOutRealm 配置方式, server.xml文件Engine元素内添加,如图9所示
图9. LockOutRealm 配置
failureCount |
用户身份验证验证失败的连续次数。默认为5。 |
lockOutTime |
身份验证失败后,用户被锁定的时间(以秒为单位)。默认为300(5分钟)。 |
4. 管理平台入侵案例
今年我行某系统曾发现Tomcat管理平台暴露互联网及弱口令的高危漏洞。由于在互联网可直接访问系统Tomcat管理平台,可使用弱用户名密码admin/xxxxx成功登录。可对系统进行管控,同时具有上传恶意war包或者直接上传webshell脚本导致服务器被入侵等风险。
安全措施不可忽视,继比特币勒索病毒风波之后,petya病毒又席卷众多国家计算机高防服务器,造成严重影响。Tomcat服务器同样面临着病毒、黑客、信息泄露等安全威胁。
总之,Tomcat与安全相关的配置,在实际开发过程中,需要结合应用系统的业务场景综合考虑,而非一味地堆积各种安全配置,否则不仅达不到预期效果,反而会影响系统的访问性能。此外,系统安全是一个非常复杂又非常重要的领域,包括网络、应用、数据、操作系统等诸多方面,本文只是介绍了与Tomcat相关的安全配置。
【End】
热 文 推 荐
☞
☞
以上是关于如何预防后台被攻击?Tomcat 的安全配置来啦!的主要内容,如果未能解决你的问题,请参考以下文章
漏洞警告:SpringBoot 该如何预防 XSS 攻击 ??