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

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
可观测可视化 Grafana 版,10个用户账号 1个月
简介: 带你读《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天前
|
Java 应用服务中间件 Apache
从零手写实现 apache Tomcat-01-入门介绍
创建简易Tomcat涉及理解其作为Java服务器的角色,建立HTTP服务器,实现Servlet接口处理动态和静态内容,以及启动和关闭服务器。项目mini-cat是一个简化版Tomcat实现,支持Servlet、静态网页和基础功能。可通过maven添加依赖并运行测试类快速体验。开源项目位于[GitHub](https://github.com/houbb/minicat)。
|
3月前
|
Java 应用服务中间件 Apache
简介Nginx,Tomcat和 Apache
简介Nginx,Tomcat和 Apache
简介Nginx,Tomcat和 Apache
|
6天前
|
XML 安全 Java
从零手写实现 apache Tomcat-02-web.xml 入门详细介绍
`web.xml`是Java Web应用的核心配置文件,描述应用工作方式。它包含Servlet、Filter和Listener的定义。例如,示例展示了如何配置名为`my`的Servlet处理`/my`请求,`LoggingFilter`拦截所有请求,以及`MyServletContextAttrListener`监听应用事件。`web.xml`是服务器理解应用结构与行为的指南。迷你版Tomcat实现——mini-cat(开源:https://github.com/houbb/minicat)。
|
9天前
|
负载均衡 Ubuntu 应用服务中间件
Apache(mod_proxy)+Tomcat负载均衡配置
Apache(mod_proxy)+Tomcat负载均衡配置
|
2月前
|
运维 Cloud Native Apache
云计算新宠:探索Apache Doris的云原生策略
云计算新宠:探索Apache Doris的云原生策略
37 2
|
3月前
|
存储 Java 应用服务中间件
玩转Apache Tomcat
玩转Apache Tomcat
28 0
|
4月前
|
Cloud Native Dubbo 应用服务中间件
Apache Dubbo 下一代云原生微服务挑战赛启动报名!五大赛题 50 万奖金池
Apache Dubbo 下一代云原生微服务挑战赛启动报名!五大赛题 50 万奖金池
|
9月前
|
负载均衡 监控 安全
apache+tomcat实现动静分离和负载均衡
apache+tomcat实现动静分离和负载均衡
131 0
|
负载均衡 监控 前端开发
常见apache+tomcat应用架构与负载均衡| 学习笔记
快速学习常见apache+tomcat应用架构与负载均衡。
142 0
常见apache+tomcat应用架构与负载均衡| 学习笔记
|
负载均衡 监控 前端开发
常见apache+tomcat应用架构与负载均衡
一、常用的LAMT应用架构 二、tomcat 的安装配置以及jk模块的配置 三、LAMT负载均衡架构的实现 四、具体使用流程
常见apache+tomcat应用架构与负载均衡

推荐镜像

更多