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

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
可观测可视化 Grafana 版,10个用户账号 1个月
简介: 带你读《Apache Tomcat的云原生演进》——Securing Apache Tomcat(2)

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


image.png 

 

那么对于Tomcat本身和整个基于Tomcat的web应用程序基础设施来说,有哪些基本的安全考虑呢?

 

安全的构建过程是弹性Tomcat部署的基础,它涉及使用Tomcat源代码或二进制文件的最新稳定版本,并确保删除所有不必要的组件。配置通常存在安全风险,因为它们可能有宽松的设置,这可能会让系统容易受到攻击。因此,Tomcat管理员应该检查和定制配置,以满足其特定的安全需求,包括使用加密通信设置强密码和配置有效的TLS证书。

 

接下来是应用程序的安全性。除了保护Tomcat服务器之外,解决应用程序级别的安全问题也是至关重要的。包括进行定期的安全测试,漏洞评估和渗透测试,以识别和修复应用程序级别的弱点;实现安全编码实践、输入验证和输出编码,以防止常见的web应用程序的漏洞。

 

健壮的访问控制基于角色和职责限制用户权限;减少未经授权访问敏感资源的风险。我们必须确保只有授权的用户才能访问管理应用程序和配置文件,我的经验是,当涉及到访问控制时,应该遵循最少特权的原则。对整个web应用程序基础设施进行定期的漏洞扫描,包括底层的操作系统、web服务器和数据库,这对于识别潜在的弱点至关重要。

 

如果检测到任何漏洞,应立即对其进行补救,以减少攻击面并将风险降至最低。那么监控和事件响应呢?持续监视Tomcat服务器日志和web应用程序安全性有助于检测异常行为和潜在的安全漏洞。实施针对 Tomcat的有效事件响应计划,可以快速识别、遏制和解决安全事件。

 

image.png 

 

让我们继续检查如何保护Tomcat中的配置在启动Tomcat构建或使用下载的Tomcat二进制发行版之前。二进制分布的完整性必须进行检查,许多组织都在确保用于构建的源文件,甚至二进制文件不会篡改。

 

Tomcat源代码发行版和二进制包发行版也提供了SHA 512校验以及PGP加密签名的ASC密钥必须验证此分发文件的签名,并且还应该根据校验进行检查,以确保文件的完整性。源代码构建Tomcat时,ANT Build工具用于构建Tomcat二进制文件。Tomcat源包中已经包含了用于构建所有Tomcat组件的构建XML。

 

默认情况下,构建XML将具有用于构建所有组件的相关依赖的项目或基本任务。这可能包括示例应用程序、文档、嵌入式Tomcat、Jar等等。所有这些在典型的企业或生产部署中可能都不是真正需要的。因此,需要修改构建XML以使用自定义目标。

 

构建精简的Tomcat二进制文件,并不需要文档、示例应用程序等。即使你正在使用从Tomcat ASF下载页面下载的这个发行包的二进制文件,它不推荐直接安装用于生产使用,必须删除默认示例应用程序和文档,缺省配置不保证安全配置。例如,默认情况下,连接器未启用HTTPS,未禁用关机端口。没有对Tomcat策略的限制,客户可以直接看到错误的异常堆栈等,这只是其中的一些。

 

因此,基于这些原因,请确保永远不要在生产环境中部署具有默认配置的Tomcat。

在不确保消除或保护这些易受攻击的配置之前,Tomcat还附带了用于实例管理的管理器应用程序。只有修改默认的用户名、密码和角色后,才需要部署manager应用和host manager应用。

 

我建议可以通过远程IP地址限制对管理器web应用程序的访问,通过添加RemoteAddrValve或RemoteHostValve,实现适当的文件或目录访问权限是另一个重要的领域。在设置Tomcat JVM运行的访问权限和账户时,必须遵守“最小权限原则”。


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

相关文章
|
18天前
|
Java 应用服务中间件 Apache
从零手写实现 apache Tomcat-01-入门介绍
创建简易Tomcat涉及理解其作为Java服务器的角色,建立HTTP服务器,实现Servlet接口处理动态和静态内容,以及启动和关闭服务器。项目mini-cat是一个简化版Tomcat实现,支持Servlet、静态网页和基础功能。可通过maven添加依赖并运行测试类快速体验。开源项目位于[GitHub](https://github.com/houbb/minicat)。
|
18天前
|
Java 应用服务中间件 Apache
简介Nginx,Tomcat和 Apache
简介Nginx,Tomcat和 Apache
简介Nginx,Tomcat和 Apache
|
6天前
|
运维 Cloud Native Apache
云计算新宠:探索Apache Doris的云原生策略
云计算新宠:探索Apache Doris的云原生策略
|
18天前
|
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)。
|
18天前
|
负载均衡 Ubuntu 应用服务中间件
Apache(mod_proxy)+Tomcat负载均衡配置
Apache(mod_proxy)+Tomcat负载均衡配置
|
18天前
|
运维 Cloud Native Apache
云计算新宠:探索Apache Doris的云原生策略
云计算新宠:探索Apache Doris的云原生策略
50 2
|
18天前
|
存储 Java 应用服务中间件
玩转Apache Tomcat
玩转Apache Tomcat
30 0
|
18天前
|
Cloud Native Dubbo 应用服务中间件
Apache Dubbo 下一代云原生微服务挑战赛启动报名!五大赛题 50 万奖金池
Apache Dubbo 下一代云原生微服务挑战赛启动报名!五大赛题 50 万奖金池
|
18天前
|
Oracle Java 关系型数据库
淇℃伅 [main] org.apache.catalina.startup.VersionLoggerListener.log Server.鏈嶅姟鍣ㄧ増鏈�: Apache Tomcat/8.5.
淇℃伅 [main] org.apache.catalina.startup.VersionLoggerListener.log Server.鏈嶅姟鍣ㄧ増鏈�: Apache Tomcat/8.5.
36 1
|
4天前
|
存储 弹性计算 监控
【阿里云云原生专栏】成本优化策略:在阿里云云原生平台上实现资源高效利用
【5月更文挑战第29天】本文探讨了在阿里云云原生平台上实现资源高效利用和成本优化的策略。通过资源监控与评估,利用CloudMonitor和Prometheus等工具分析CPU、内存等使用情况,识别浪费。实施弹性伸缩策略,利用自动伸缩规则根据业务负载动态调整资源。借助容器化管理和Kubernetes编排提高资源利用率,优化存储选择如OSS、NAS,以及网络配置如VPC和CDN。示例展示了如何使用Kubernetes的HorizontalPodAutoscaler进行弹性伸缩,降低成本。
25 4

推荐镜像

更多