带你读《Apache Tomcat的云原生演进》——Securing Apache Tomcat(3)

本文涉及的产品
任务调度 XXL-JOB 版免费试用,400 元额度,开发版规格
应用实时监控服务-用户体验监控,每月100OCU免费额度
函数计算FC,每月15万CU 3个月
简介: 带你读《Apache Tomcat的云原生演进》——Securing Apache Tomcat(3)

带你读《Apache Tomcat的云原生演进》——Securing Apache Tomcat(2)https://developer.aliyun.com/article/1377509


分离CATALINA_HOME和CATALINA_BASE是另一个很好的实践。CATALINA_HOME表示Tomcat安装的根目录,CATALINA_BASE是特定Tomcat 实例的运行时配置的根目录。始终建议只使用所需的权限限制对这些目录的访问。Conf目录中放置的配置文件必须受到限制,并且文件必须以最小的权限授予。

 

我还建议将部署应用程序war构建的“webapps”,文件夹保留在CATALINA_BASE之外的位置。将日志保存在单独的位置,最好是在有足够存储空间的另一个文件系统中。

 

在服务器级别,取决于应用程序的重要性。你可以进一步配置Tomcat并在启用SELinux的主机上运行。如之前所说的,必须删除或修改默认的用户名、密码和角色。保存敏感密码或数据也是配置文件中的重要内容。默认情况下,Tomcat不提供任何加密或解密敏感密码的机制,但你可以使用诸如PicketVault之类的工具,或者通过扩展Tomcat Digester类定制开发的加密-解密实用程序。

 

image.png

 

传输层安全是web应用程序安全的关键组成部分,使用TLS保护Tomcat也是至关重要的,保护数据的完整性和保密性。我们必须把重点放在保护连接器、实现适当的证书配置,并API端点启用双向TLS。

 

我们知道未使用的连接器可能会无意中使服务器暴露于潜在的威胁中。检查服务配置并禁用应用程序操作不需要的任何连接器是必要的。类似地,组织应该使用来自可信证书颁发办法机构的有效TLS证书,并在Tomcat中设置它们。这包括配置密钥秘钥存储库和信任存储库,访问证书链以及为了进一步的安全性启用证书撤销检查。

 

必须禁用过时和易受攻击的TLS协议版本,并强制使用TLS 1.2或1.3。这降低了由于旧协议和密码套件中的已知漏洞而被利用的风险。弱密码套件容易受到攻击,因此,应该将Tomcat连接器配置为使用现代且健壮的密码套件,以便在安全性和性能之间取得去的平衡。

 

实现完美的前向保密密码,如ECDHE密码套装,确保即使服务器私钥被泄露,以前记录的TLS会话仍然是安全的。保护JMX或任何公开的端点也同样重要,就像保护连接器一样。这样的端点应该有适当的访问控制和启用TLS的安全密码套件。通过客户端证书身份验证启用双向TLS和mTLS身份验证。

 

为确保客户端和服务器都是用TLS证书对彼此进行身份验证。这种增强的身份验证级别降低了未经授权访问的风险,并保护敏感的API端点面授恶意用户的攻击。

 

image.png 

 

身份验证和授权是web应用程序安全的关键组成部分,确保只有授权用户才能访问特定的资源和功能。Tomcat提供了各种身份验证机制来增强安全性和保护敏感数据。一个主要的安全考虑是避免使用Tomcat包中主机管理器提供的默认凭证,并使用唯一的密码。

 

与以Base64编码的明文形式发送用户名和密码的基本身份验证相比,我们始终建议使用发送散列凭证的摘要身份验证,鼓励使用基于表单的身份验证,该身份验证可以通过多因素身份验证进一步扩展。同样,单点登录增强了用户的可用性和便利性。

 

在集中认证和认证管理的同时,并减少密码疲劳的风险和多次登录尝试相关的潜在漏洞。Tomcat可以使用Realm来处理外部访问控制源的身份验证和授权,它可以集中用户管理,并允许组织跨各种应用程序应用现有的安全策略,提高一致性和管理便利性,可以为相互TLS身份验证或证书固定构建自定义阀门。这种自定义阀门允许组织实现针对其环境的特定安全需求。

 

带你读《Apache Tomcat的云原生演进》——Securing Apache Tomcat(4)https://developer.aliyun.com/article/1377506

相关文章
|
6月前
|
Ubuntu Java 应用服务中间件
如何通过 Apt-Get 在 Ubuntu 14.04 上安装 Apache Tomcat 7
如何通过 Apt-Get 在 Ubuntu 14.04 上安装 Apache Tomcat 7
130 0
|
4月前
apache+tomcat配置多站点集群的方法
apache+tomcat配置多站点集群的方法
70 4
|
4月前
|
负载均衡 应用服务中间件 Apache
Tomcat负载均衡原理详解及配置Apache2.2.22+Tomcat7
Tomcat负载均衡原理详解及配置Apache2.2.22+Tomcat7
81 3
|
6月前
|
Java 应用服务中间件 Apache
使用IDEA修改Web项目访问路径,以及解决Apache Tomcat控制台中文乱码问题
本文介绍了在IntelliJ IDEA中修改Web项目访问路径的步骤,包括修改项目、模块、Artifacts的配置,编辑Tomcat服务器设置,以及解决Apache Tomcat控制台中文乱码问题的方法。
323 0
使用IDEA修改Web项目访问路径,以及解决Apache Tomcat控制台中文乱码问题
|
6月前
|
Ubuntu Java 应用服务中间件
在Ubuntu 16.04上安装Apache Tomcat 8的方法
在Ubuntu 16.04上安装Apache Tomcat 8的方法
81 0
|
6月前
|
安全 Java 应用服务中间件
在CentOS 7上安装Apache Tomcat 8的方法
在CentOS 7上安装Apache Tomcat 8的方法
211 0
|
6月前
|
安全 Java 应用服务中间件
如何通过 Yum 在 CentOS 7 上安装 Apache Tomcat 7
如何通过 Yum 在 CentOS 7 上安装 Apache Tomcat 7
287 0
|
6月前
|
Java 应用服务中间件 Apache
在 Debian 服务器上安装和配置 Apache Tomcat 的方法
在 Debian 服务器上安装和配置 Apache Tomcat 的方法
97 0
|
2月前
|
存储 人工智能 大数据
The Past, Present and Future of Apache Flink
本文整理自阿里云开源大数据负责人王峰(莫问)在 Flink Forward Asia 2024 上海站主论坛开场的分享,今年正值 Flink 开源项目诞生的第 10 周年,借此时机,王峰回顾了 Flink 在过去 10 年的发展历程以及 Flink社区当前最新的技术成果,最后展望下一个十年 Flink 路向何方。
394 33
The Past, Present and Future of Apache Flink
|
4月前
|
SQL Java API
Apache Flink 2.0-preview released
Apache Flink 社区正积极筹备 Flink 2.0 的发布,这是自 Flink 1.0 发布以来的首个重大更新。Flink 2.0 将引入多项激动人心的功能和改进,包括存算分离状态管理、物化表、批作业自适应执行等,同时也包含了一些不兼容的变更。目前提供的预览版旨在让用户提前尝试新功能并收集反馈,但不建议在生产环境中使用。
1024 13
Apache Flink 2.0-preview released

推荐镜像

更多