最新文章

【译】如何提升云原生应用的安全性

【译】如何提升云原生应用的安全性

此文为原文翻译,仅供参考,不代表本人立场。翻译难免有疏漏,欢迎提出建议反馈。

本文翻译自 Hazel RaoultHow to Optimize Security in Cloud-Native Applications


近年来,企业对云原生应用的依赖日益增加,这也使云原生应用成为攻击的首选目标。如今,企业的安全团队需要优先考虑这些资产的安全性,以防止大规模的服务中断和数据泄露。

根据 IBM 2024 年《Cost of a Data Breach(数据泄露成本报告)》显示,目前 45%的网络攻击 是基于云的。2024 年 7 月,微软的 Azure 遭遇了一次重大的 DDoS 攻击,导致关键服务 停运近10小时。对于依赖这些服务来为客户提供不间断服务的企业来说,这种停机时间无疑会带来巨大的损失。

基于这一背景,让我们探讨如何提升云原生应用的安全性,以防止类似情况的发生,并确保关键云服务的韧性和可靠性。

用户控制优化

人为因素始终在数字资产(包括云原生应用程序)的安全中发挥重要作用。除非我们在不久的将来完全被机器取代,否则人类仍将在代码编写、配置管理以及最终的应用安全性方面做出重要决策。这是一种巨大的压力,因为一个小小的错误就可能导致严重的漏洞,进而让我们的云资产暴露在攻击和操作失误的风险之下。

一个合理的解决方案是加强教育和培训,使开发人员和用户能够理解潜在风险,并学会实施强有力的安全协议和最佳实践。

在技术措施方面,应重点关注强大的身份和访问管理(IAM)。最小权限原则是实现强 IAM 的首选方法。它确保用户被授予完成任务所需的最低访问权限,从而显着减少攻击面和帐户受损的风险。

花时间为每个无服务器函数或容器创建最小角色或权限集。这样,即使云原生架构中的某个元素被攻破,造成的损害也将最小,且不会轻易扩散到其他组件。

这里需要避免的一个错误是将访问级别审查限制在不频繁的时间间隔。随着工作职责的变化(或解除),应持续监控和调整访问权限。定期评估和更新角色,以确保访问权限保持适当并与当前职责保持一致。

安全测试精简化

云原生应用相较于传统开发的一个优势在于能够利用更细粒度的自动化安全测试。云原生环境可以利用持续集成和持续部署(CI/CD)流水线。这使开发人员能够将安全测试 集成到开发的每个阶段,使其成为软件开发生命周期的基础组成部分,而不是事后的考虑。

有各种开源工具和应用安全服务可用于增强安全测试。自动化工具可以 确保代码 没有错误配置和漏洞,并避免敏感数据的意外泄露。这些工具可以扫描已知的漏洞,检查是否符合安全最佳实践,甚至实时识别潜在的风险区域。