什么是网站死链,假发网站是怎么做的,全国连锁的装修公司有哪些,wordpress addrewriterule安全是系统架构中最重要的关注点之一#xff0c;通常情况下#xff0c;所说的安全涵盖网络安全、数据安全、操作系统安全、服务器安全以及应用系统安全等诸多方面。Tomcat 是一个免费的开放源代码 的Web应用服务器#xff0c;技术先进、性能稳定。由于它优秀的稳定性以及丰富…安全是系统架构中最重要的关注点之一通常情况下所说的安全涵盖网络安全、数据安全、操作系统安全、服务器安全以及应用系统安全等诸多方面。Tomcat 是一个免费的开放源代码 的Web应用服务器技术先进、性能稳定。由于它优秀的稳定性以及丰富的文档资料广泛的使用人群从而在开源领域受到广泛的青睐因此Tomcat安全也越来越受到重视。
Tomcat作为一款应用服务器默认情况下可以满足多数场景的安全需求但是在安全要求较高的情况下仍需要从多个方面进行配置已防止Tomcat管理后台被攻击等风险。Tomcat安全主要从以下2个方面介绍。
配置安全
默认情况下其存在一定的安全隐患可被恶意攻击所以在生产环境中需要对Tomcat进行安全配置下面将介绍影响Tomcat配置安全的4个选项。
1. 移除不使用的内置应用
Tomcat环境部署完毕后要删除根目录下的一些默认文件夹CATALINA_HOME/webapps文件夹下的内置应用这些应用可能会导致安全风险因此移除不使用的应用。对于docsTomcat本地说明文档、examplesTomcat相关的demo示例、ROOTTomcat默认页可以将其直接移除。host-manager和manager用于管理及监控tomcat容器如果已经使用第三方工具来管理tomcat不需要manager管理登录这两个应用也可以直接移除如图2所示。 图 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包含以下几部分信息 host-manager管理控制台可以动态地添加一个虚拟主机。此外还可以启动、停止、删除虚拟主机如图7所示。
通过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访问限制在应
用下META-INF/context.xml文件中配置。修改allow属性的正则表达式。8.5版本前需要手动开启而8.5版本之后则默认开启只有本机可以访问。比如只允许ip地址10.232.150.78和10.232.150.80访问manager管理应用将allow属性值修改为10.232.150.78|10.232.150.80即可如图8所示。 图8. IP访问限制配置方式
如需访问host-manager和manager应用需要分配相关的角色权限。我们还应
设置足够健壮的密码建议加强口令强度设置口令复杂度为8位以上大小写字母、数字、特殊符号的组合并定期更换密码避免使用弱口令。
管理平台添加用户锁定功能在server.xml中配置了org.apache.catalina.real
m.LockOutRealmLockOutRealm 是一个Tomcat的Realm实现它扩展了CombinedRealm假如在某一段时间内出现很多验证失败则它能够提供锁定用户的功能已避免攻击者进行密码暴力破解。LockOutRealm 配置方式, server.xml文件Engine元素内添加如图9所示 图9. LockOutRealm 配置