越来越多的组织采用基础架构即代码(Infrastructure as Code,简写为IaC)的技术,来提供快速配置和部署云环境的功能。IaC技术包括Terraform,AWS Cloud Formation 模板,Azure资源管理器模板,Chef,Puppet,Red Hat Ansible,Helm Charts,Kubernetes YML文件和OpenFaaS YML。
通过以上IaC技术,组织就可以方便地配置和管理云基础架构,实现敏捷性,同时也可以在开发的早期阶段嵌入安全性,减少被攻击的风险。
但是,如果IaC使用不当,就会带来一些安全风险,从而引发数据泄露等问题。根据最新的Verizon数据泄露调查报告,云配置错误是数据泄露的主要原因之一。
那么,IaC使用不当会带来哪些安全风险?
1.网络暴露
如果网络中配置了开放式安全组,可被公共访问的云存储服务,可被公共访问的ssh以及可从外网访问的内部数据库,它们就会增加组织云环境中的攻击面。
以下是IaC代码示例,重点介绍了出现以上网络问题的代码。
提示:组织要对IaC进行静态安全分析,并在云部署生命周期的早期消除网络暴露风险。及早发现并解决这些问题,会给组织带来很高的成本效益。
2.基础镜像漏洞
如今,IaC模板通过基础镜像,来提供计算实例和容器化实例。这就为组织提前检测和解决基础镜像中的任何已知漏洞提供了机会,并大大降低了补救成本。
以下示例说明,IaC模板中使用了易受攻击的AMI和Docker镜像。
提示:因此,组织要对IaC文件中引用的镜像进行漏洞评估,并在云部署生命周期的早期消除镜像漏洞风险。
3.未经授权的特权升级
如今,IaC已经广泛用于Kubernetes,微服务等云环境中。开发人员经常使用特权帐户(如,root用户)来进行操作,但这会带来特权升级的风险。
提示:因此,组织要确保在IaC中实施了最低特权原则,并在IaC中时常检测是否有特权升级的配置。
4.配置修改
尽管开发人员可能会遵循IaC最佳做法,但紧急情况下会迫使运维团队直接在生产环境中进行配置更改。
这种行为打破了云基础架构的不变性,即在部署基础架构后,永远不要对其进行修改。如果需要以任何方式更新,修复或修改某些内容,则必须通过代码来提供新的基础结构。更重要的是,配置更改可能会带来风险,从而导致云的安全状态偏离。
提示:因此,组织需要通过监视预配置的云基础架构和IaC之间的状态漂移,来保持基础架构的不变性,确保变更不会引入新的风险。
5.使用未标记的资源
对云环境中的资源进行统计和打标签,是安全治理的关键要求。如果IaC中使用了未标记的资源,可能会导致组织检测,可视化云环境等方面遇到挑战。除了安全后果外,使用未标记资源,还会不利于组织对资源成本统计,资源维护等。
提示:因此,组织不要使用未标记资源。
6.不遵守标准
利用云基础架构的组织,都要遵守一些标准,例如GDPR,HIPAA,PCI和SOC2。这些标准,是IaC中的防护栏。例如,SOC2要求具备IAM密码策略:
一些标准还要求在持续集成(CI)和持续部署(CD)阶段评估和检测IaC模板,以便使得问题提前暴露。
提示:因此,组织要以代码(IaC)形式对基础架构进行合规性检查,确保从一开始配合文件就符合要部署的环境。
7.数据泄露
云基础架构存储的配置信息,是确保云中数据安全的关键要素。例如,在未启用加密的情况下,创建的数据库或云存储服务(例如Amazon Elastic File System和Amazon S3)可能会带来风险,如下代码所示:
提示:因此,组织需要将基础结构中与数据安全相关的配置进行评估,并提前对关键性、敏感性数据进行加密。
8.硬编码
使用硬编码的密钥或用户凭据信息,也是一种常见的不安全行为,例如在代码内存储SSH密钥或帐户信息。
提示:因此,组织在配置云基础架构之前,需要扫描是否存在硬编码机密信息的代码,并修复问题。
9.禁用审计日志
审计日志,在安全风险评估,和问题排查定位中起着至关重要的作用。AWS CloudTrail和Amazon CloudWatch,是审计日志服务中的代表。但是,通过IaC配置云基础架构时,很容易忽略配置审计日志,因此组织记得启用此功能。如下面的代码所示。
提示:因此,启用审计日志,可帮助组织增强安全监视并识别外部攻击和威胁。
10.不可信的镜像源
IaC模板,可能会无意中引用不受信任来源的OS或容器镜像,这就会带来安全风险,例如后门( backdoors ),中间人攻击(man-in-the-middle attacks),恶意软件( malware )和加密矿工( crypto miners )。
提示:因此,组织需要扫描IaC模板,以并确保镜像源是可信的并且经过数字签名。
译文链接:
https://thenewstack.io/top-5-security-risks-for-infrastructure-as-code/
https://thenewstack.io/5-more-security-risks-for-infrastructure-as-code/
登录后评论
立即登录 注册