云安全搭配建议防止出错
云安全主要涉及在错误配置错误被利用之前对其进行预防、检测和修复,因此从基础架构即代码
IaC
开发生命周期的每个阶段都需要部署有效地基于策略的自动化
1. 建立对环境的可见性。
云安全是关于你的云的知识,并拒绝你的对手访问该知识。如果你不了解云环境的完整状态,包括每个资源、配置和关系,那么你正在招致严重的风险。跨云平台建立并保持对云环境的全面可见性,并持续评估每次更改的安全影响,包括潜在的爆炸半径风险。
你不仅会获得更好的安全态势,还会使你的开发人员能够更快地行动,合规专业人士会感谢你提供的主动审计证据。
2. 尽可能使用基础设施即代码。
除了少数例外,你没有理由构建和修改基础架构之外的任何云基础架构,即代码和自动化 CI/CD 管道,尤其是对于任何新事物。使用 IaC 不仅为云操作带来了效率、规模和可预测性,还提供了一种检查云基础设施部署安全性的机制。当开发人员使用 IaC 时,你可以为他们提供在部署之前检查其基础架构安全性所需的工具。
如果你正在运行多云环境,那么像Terraform这样被广泛采用的开源 IaC 工具可能是你选择。云服务提供商提供的 IaC 产品是免费的,如果你不需要多云支持,则值得考虑。
3. 尽可能使用基于策略的自动化。
任何有以人类语言表达的策略的地方,都会引起解释和实施错误的差异。适用于你的云环境的每项云安全和合规策略都应以可执行代码的形式表达和执行。使用策略即代码,云安全变得具有确定性。这样可以有效地管理和实施安全性,并帮助开发人员在开发过程的早期获得安全性。
避免将专有供应商策略作为代码工具,并选择开源策略引擎,例如Open Policy Agent
OPA
。OPA 可以应用于任何可以生成 JSON 或 YAML 输出的东西,这几乎涵盖了所有云用例。
优先考虑不需要针对 IaC 和运行基础架构使用不同工具和策略的解决方案。
4. 使开发人员能够安全地进行构建。
对于云,安全性是一个软件工程问题,而不是数据分析问题。安全专业人员需要工程技能并了解整个软件开发生命周期
SDLC
的工作原理,从开发到 CI/CD 和运行时。开发人员需要工具来帮助他们在 SDLC 早期获得安全性。让安全成为发展的先见之明和密切的伙伴,而不是只关注部署问题的事后考虑。
对安全团队进行云工程实践培训不仅能让他们更好地掌握防御现代云威胁所需的技能,而且他们还将获得宝贵的技能和经验,以帮助他们推进职业生涯。你将提高团队保留率并更好地将你的组织定 位为理想的工作场所。
5. 锁定你的访问策略。
如果你还没有正式的访问和管理云环境的策略,那么现在是时候创建一个了。使用虚拟专用网络
来加强与关键网络空间(例如,亚马逊虚拟私有云或 Azure 虚拟网络)的安全通信。使 访问可用或需要,以便团队可以访问公司资源,即使它们位于不太受信任的位置 Wi-Fi 网络上。
工程师倾向于创建新的安全组规则或 IP 白名单,以便他们可以访问云中的共享团队资源。频繁的审计可以证明虚拟机或其他云基础设施没有面临额外的风险。监督创建堡垒主机,锁定源头 IP 范围,并监控不受限制的 SSH 访问。
在 AWS、Azure、GCP 和其他公共云中,IAM 充当普遍网络。遵循少许可原则,并利用Fugue 佳实践框架等工具来识别合规检查可能遗漏的漏洞。让 IAM 更改成为你的更改管理流程的一部分,并利用特权身份和会话管理工具。
采用“默认拒绝”的心态。
6. 标记所有云资源。
在整个云足迹中实施资源标签并建立有效的标签约定。使用标签是帮助你跟踪和管理资源的佳方式之一,但你需要建立标签约定并强制执行。使用人类可读的资源名称,并包括每个资源的联系人、项目名称和部署日期。
如果云资源未正确标记,则应将其视为高度可疑并终止。
Microsoft Azure在云资源标记约定方面有很好的资源。
7. 确定平均修复时间
MTTR
。
衡量你的风险和安全的有效性是你如何确定你的立场和你想去的地方。重要的衡量标准是你的平均修复时间。你可能不知道你当前的状态 MTTR 是多少安全关键的云资源配置错误(很少有云客户会这样做),你应该改变它。以分钟为单位的 MTTR 设定目标,如果自动修复对你的团队和环境来说不是一个可行的选项,请调整你的流程以确保你的团队能够在发现关键漏洞之前检测和修复它们。
IaC
开发生命周期的每个阶段都需要部署有效地基于策略的自动化
1. 建立对环境的可见性。
云安全是关于你的云的知识,并拒绝你的对手访问该知识。如果你不了解云环境的完整状态,包括每个资源、配置和关系,那么你正在招致严重的风险。跨云平台建立并保持对云环境的全面可见性,并持续评估每次更改的安全影响,包括潜在的爆炸半径风险。
你不仅会获得更好的安全态势,还会使你的开发人员能够更快地行动,合规专业人士会感谢你提供的主动审计证据。
2. 尽可能使用基础设施即代码。
除了少数例外,你没有理由构建和修改基础架构之外的任何云基础架构,即代码和自动化 CI/CD 管道,尤其是对于任何新事物。使用 IaC 不仅为云操作带来了效率、规模和可预测性,还提供了一种检查云基础设施部署安全性的机制。当开发人员使用 IaC 时,你可以为他们提供在部署之前检查其基础架构安全性所需的工具。
如果你正在运行多云环境,那么像Terraform这样被广泛采用的开源 IaC 工具可能是你选择。云服务提供商提供的 IaC 产品是免费的,如果你不需要多云支持,则值得考虑。
3. 尽可能使用基于策略的自动化。
任何有以人类语言表达的策略的地方,都会引起解释和实施错误的差异。适用于你的云环境的每项云安全和合规策略都应以可执行代码的形式表达和执行。使用策略即代码,云安全变得具有确定性。这样可以有效地管理和实施安全性,并帮助开发人员在开发过程的早期获得安全性。
避免将专有供应商策略作为代码工具,并选择开源策略引擎,例如Open Policy Agent
OPA
。OPA 可以应用于任何可以生成 JSON 或 YAML 输出的东西,这几乎涵盖了所有云用例。
优先考虑不需要针对 IaC 和运行基础架构使用不同工具和策略的解决方案。
4. 使开发人员能够安全地进行构建。
对于云,安全性是一个软件工程问题,而不是数据分析问题。安全专业人员需要工程技能并了解整个软件开发生命周期
SDLC
的工作原理,从开发到 CI/CD 和运行时。开发人员需要工具来帮助他们在 SDLC 早期获得安全性。让安全成为发展的先见之明和密切的伙伴,而不是只关注部署问题的事后考虑。
对安全团队进行云工程实践培训不仅能让他们更好地掌握防御现代云威胁所需的技能,而且他们还将获得宝贵的技能和经验,以帮助他们推进职业生涯。你将提高团队保留率并更好地将你的组织定 位为理想的工作场所。
5. 锁定你的访问策略。
如果你还没有正式的访问和管理云环境的策略,那么现在是时候创建一个了。使用虚拟专用网络
来加强与关键网络空间(例如,亚马逊虚拟私有云或 Azure 虚拟网络)的安全通信。使 访问可用或需要,以便团队可以访问公司资源,即使它们位于不太受信任的位置 Wi-Fi 网络上。
工程师倾向于创建新的安全组规则或 IP 白名单,以便他们可以访问云中的共享团队资源。频繁的审计可以证明虚拟机或其他云基础设施没有面临额外的风险。监督创建堡垒主机,锁定源头 IP 范围,并监控不受限制的 SSH 访问。
在 AWS、Azure、GCP 和其他公共云中,IAM 充当普遍网络。遵循少许可原则,并利用Fugue 佳实践框架等工具来识别合规检查可能遗漏的漏洞。让 IAM 更改成为你的更改管理流程的一部分,并利用特权身份和会话管理工具。
采用“默认拒绝”的心态。
6. 标记所有云资源。
在整个云足迹中实施资源标签并建立有效的标签约定。使用标签是帮助你跟踪和管理资源的佳方式之一,但你需要建立标签约定并强制执行。使用人类可读的资源名称,并包括每个资源的联系人、项目名称和部署日期。
如果云资源未正确标记,则应将其视为高度可疑并终止。
Microsoft Azure在云资源标记约定方面有很好的资源。
7. 确定平均修复时间
MTTR
。
衡量你的风险和安全的有效性是你如何确定你的立场和你想去的地方。重要的衡量标准是你的平均修复时间。你可能不知道你当前的状态 MTTR 是多少安全关键的云资源配置错误(很少有云客户会这样做),你应该改变它。以分钟为单位的 MTTR 设定目标,如果自动修复对你的团队和环境来说不是一个可行的选项,请调整你的流程以确保你的团队能够在发现关键漏洞之前检测和修复它们。