出品| CSDN(ID:)
安全性是系统架构中最重要的问题之一。 通常,安全涵盖网络安全、数据安全、操作系统安全、服务器安全、应用系统安全等多个方面。 它是一款免费的开源Web应用服务器,技术先进、性能稳定。 由于其优秀的稳定性、丰富的文档、广泛的用户范围,在开源领域受到广泛青睐。 因此,安全性也受到越来越多的关注。
作为应用服务器,默认可以满足大部分场景的安全需求。 但在安全要求较高的情况下,仍然需要从多方面进行配置,防止管理后端受到攻击等风险。 安全性主要从以下两个方面进行介绍。
配置安全性
默认情况下存在一定的安全风险,可能会受到恶意攻击,因此需要在生产环境中进行安全配置。 下面将介绍四个影响配置安全的选项。
1.删除未使用的内置应用程序
环境部署完成后,需要删除根目录下的一些默认文件夹:/文件夹下的内置应用程序。 这些应用程序可能会带来安全风险,因此请删除未使用的应用程序。 对于docs(本地文档)、(相关demo示例)、ROOT(默认页面),可以直接删除。 host- 用于管理和监控容器。 如果已使用第三方工具进行管理,则无需登录管理。 这两个应用程序也可以直接删除,如图2所示。
图 2. 内置应用程序
2. 授权与激活
启动用户权限必须是非root,避免服务一旦被入侵就获取root权限,因为在Linux操作系统中,root用户拥有最高权限,可以执行普通用户无法执行的操作。 应为服务器创建单独的用户,并授予运行应用程序服务器所需的最低系统权限。
3.删除未使用的组件
它是开源软件,所以.xml中的默认配置是所有人都可见的,而且它的运行机制也是众所周知的,所以使用默认配置也会增加服务器被攻击的风险。 因此,在部署生产环境之前,请删除不必要的组件。 默认情况下,.xml 配置有 HTTP 连接器 (8080) 和 AJP 连接器 (8009)。 事实上,在大多数情况下,只需要一个连接。 设备。 如果没有前端Web服务器,此时可以保留HTTP并删除AJP连接器。
4. 禁用自动部署
默认情况下,它是自动部署的。 只要该目录中有war包,启动时就会自动部署,包括植入的恶意Web应用程序。 为了防止恶意Web应用程序自动启动,可以考虑从两个方面解决:第一,将Web应用程序部署目录修改为其他路径,使攻击者很难找到正确的部署目录并部署Web应用程序; 其次,禁用自动部署,并将.xml配置文件中Host元素的 和 属性设置为false。 此时,Web应用程序只能通过标签来部署。 配置方法如图3所示。
图 3. 禁用自动部署
管理平台安全
1.什么是管理平台?
提供基于Web的管理平台。 管理平台是两个内置的独立的Web应用程序,分别位于host-和目录下。 主机 - 管理控制台可以动态添加虚拟主机。 此外,还可以启动、停止和删除虚拟主机。 在实际生产中,很少使用主机管理平台。 管理平台可以方便地管理服务器上运行的Web应用程序,如发布、启动、停止或删除Web应用程序。 它还可以管理HTTP会话并实时查看服务器状态信息。
2. 如何使用管理平台
启动成功后,通过:port//html访问管理平台。 由于默认添加了访问控制,因此首次访问需要在conf/-users.xml文件中添加当前用户的角色。 管理平台中有4个角色。 他们是:
• -gui:允许访问html页面界面(即URL路径为//html/*);
• -:允许访问纯文本界面(即URL路径为//text/*);
• -jmx:允许访问JMX代理接口(即URL路径为///*);
• -:允许访问只读状态页面(即URL 路径为///*)。
其中-gui、-、-jmx这三个角色都拥有-角色的权限,即不需要为这三个角色权限添加额外的-权限。 实际使用时,只需配置-gui角色即可通过HTML页面访问管理平台。
管理平台有4个角色,主机管理平台有2个角色。 配置方法如图4所示。
图4. 管理平台角色配置
Web版管理控制台可以发布、停止、重新加载指定的Web应用,如图5所示。
图5. Web版管理控制台
通过:port//,查看服务器状态页面,如图6。
图 6. 服务器状态页面
- 包含以下信息:
服务器基本信息
服务器版本、JVM版本、操作系统、IP地址
系统消息
内存使用情况
JVM信息
JVM分配和使用
连接器信息
连接器请求处理线程使用情况
主机 - 管理控制台可以动态添加虚拟主机。 此外,您还可以启动、停止和删除虚拟主机,如图7所示。
通过 ip:port /host-/html 访问主机管理平台。 由于默认添加了访问控制,因此首次需要在conf/-users.xml文件中为当前用户添加角色。 有两种类型的主机管理平台。 角色分别是 admin-gui 和 admin-。 配置方法如图3所示。
• admin-gui:允许访问html页面界面(即URL路径为//html/*)。
• admin-:允许访问纯文本界面(即URL 路径为//text/*)。
图 7. 主机管理平台页面
3.管理平台安全加固
管理平台具有应用发布和管理的权限。 默认情况下,主机和应用程序存在安全风险,可能会造成严重危害。 因此,管理平台需要从以下几个方面进行安全加固。
• 如果您使用内置主机和管理应用程序,则需要增加IP 访问限制。
使用 META-INF/.xml 文件中的配置。 修改allow属性的正则表达式。 8.5版本之前需要手动开启,但8.5版本之后默认开启,并且只能本机访问。 例如,要仅允许IP地址10.232.150.78和10.232.150.80访问管理应用程序,请将allow属性值更改为10.232.150.78|10.232.150.80,如图8所示。
图8. IP访问限制配置方法
• 要访问主机和应用程序,需要分配相关的角色权限。我们还应该
设置足够强的密码。 建议加强密码。 设置密码复杂度为8位以上,大小写字母、数字、特殊符号的组合。 定期更改密码,避免使用弱密码。
• 管理平台增加用户锁定功能,并在.xml中配置org...real
m.,是一个扩展的Realm实现,如果在一定时间内多次验证失败,可以提供锁定用户的功能,防止攻击者暴力破解密码。配置方法,在.xml文件内添加元件,如图9所示
图 9. 配置
用户认证验证连续失败的次数。 默认值为 5。
用户在身份验证失败后被锁定的时间(以秒为单位)。 默认值为 300(5 分钟)。
该实现支持以下附加属性:
4、管理平台入侵案例
今年,我行某系统发现管理平台存在暴露互联网、弱密码的高危漏洞。 由于系统管理平台可以直接从互联网访问,因此使用弱用户名和密码admin/xxxxx即可成功登录。 它可以控制系统,但同时存在上传恶意war包或直接上传脚本等风险,导致服务器被入侵。
管理平台拥有启动、停止、重新加载、监控Web应用程序等权限,因此管理后端的安全问题是安全的重要组成部分。 如果出现漏洞,将会对业务系统造成严重危害,需要充分重视并进行安全加固。 管理平台是服务器内置的两个Web应用程序。 如果使用管理平台,则需要添加IP访问限制。 已经提供了这个功能。 需要将指定的IP地址设置在白名单中才能访问管理平台。 另外,您需要设置一个强的登录密码,防止暴力行为。 裂缝。
安全措施不容忽视。 继比特币勒索病毒危机后,petya病毒席卷多国计算机高防服务器,造成严重影响。 服务器还面临病毒、黑客、信息泄露等安全威胁。
总之,安全相关的配置需要在实际开发过程中结合应用系统的业务场景综合考虑,而不是盲目地堆叠各种安全配置。 否则,不仅达不到预期的效果,还会影响系统的访问性能。 另外,系统安全是一个非常复杂且重要的领域,包括网络、应用、数据、操作系统等诸多方面。 本文仅介绍相关的安全配置。