避免构建时常见的这五个AWS配置不当

【】基础架构即代码(IaC)使云资源配置更快速、更简单、更具扩展性。它还使我们有机会进行比较简单的更改,从而对我们的云安全状况产生持久影响。

为了表明这一点,我们分析了实际环境中的IaC模块最常见的亚马逊网络服务(AWS)安全错误。我们在本文中剖析了最常见的不合规AWS策略以及相关的风险。我们还将介绍解决每个错误所需的简单的构建时Terraform配置。

[[347212]]

确保存储在S3存储桶中的所有数据安全地静态加密

S3支持使用AES-256加密标准进行简单的免费加密。众所周知,有人可能访问存储您数据的硬盘,而S3存储桶静态加密对于防止数据暴露在这些人的面前很重要。

为了符合该策略——PCI-DSS和NIST-800要求这样,需要默认情况下对相关存储桶设置加密。这将使保存到该S3存储桶的所有后续项目都被自动加密。

将以下块添加到Terraform S3资源以添加AES-256加密: 

  1. server_side_encryption_configuration { 
  2.   rule { 
  3.     apply_server_side_encryption_by_default { 
  4.       sse_algorithm = "AES256" 
  5.     } 
  6.   } 

确保存储在Launch Configuration EBS中的所有数据已安全加密

亚马逊弹性块存储(EBS)卷支持内置加密,但默认情况下不加密。EBS Launch Configurations指定了可被Auto Scaling组用来配置Amazon EC2实例的Amazon EC2 Auto Scaling启动配置。

加密整个EBS卷后,静态存储在卷上的数据、磁盘I/O、从该卷创建的快照以及EBS和EC2之间的传输中数据都将被加密。

让您的数据保持静态加密可确保未经授权的人无法访问。PCI-DSS也要求遵守该策略。 为防止Terraform模块中出现该AWS错误,确保为EBS Launch Configurations启用了加密: 

  1. resource "aws_launch_configuration" "as_conf" { 
  2.   name_prefix = "terraform-lc-example-" 
  3.   image_id = data.aws_ami.ubuntu.id 
  4.   instance_type = "t2.micro" 
  5. + encrypted = enabled 

确保对客户创建的CMK进行轮换已启用

AWS密钥管理服务(KMS)允许客户轮换备用密钥。密钥材料存储在KMS中,并与客户主密钥(CMK)的密钥ID绑定在一起。备用密钥用于执行加密操作,比如加密和解密。密钥自动轮换目前保留所有先前的备用密钥,以便透明地进行加密数据解密。

密钥未轮换的时间越长,使用它加密的数据就越多,被危及的可能性就越大。泄露这种密钥会泄露使用该密钥加密的所有数据,因此强烈建议每年轮换一次加密密钥。

默认情况下,CMK自动轮换未启用,但是建议启用以帮助减小密钥泄漏的潜在影响。还需要启用它,以符合PCI-DSS、CSI和ISO27001。

想解决Terraform中的这个错误配置,启用密钥轮换: 

  1. resource "aws_kms_key" "kms_key_1" { 
  2.   description = "kms_key_1" 
  3.   deletion_window_in_days = 10 
  4.   key_usage = "ENCRYPT_DECRYPT" 
  5.   is_enabled = true 
  6.  + enable_key_rotation = true 

确保DynamoDB时间点恢复(备份)已启用

Amazon DynamoDB的时间点恢复(PITR)让您只需点击一下即可恢复DynamoDB表数据。您在深入研究数据泄露和数据损坏攻击时,这提供了故障保护,这也是PIC-DSS、CIS和ISO27001所要求的。

然而要创建和访问DynamoDB备份,您需要启用PITR,PITR提供了可使用各种编程参数来控制的持续备份。

通过在DynamoDB表上配置point_in_time配置,解决该错误配置: 

  1. resource "aws_dynamodb_table" "basic-dynamodb-table" { 
  2.   name = "GameScores" 
  3.   billing_mode = "PROVISIONED" 
  4.   read_capacity = 20 
  5.   write_capacity = 20 
  6.   hash_key = "UserId" 
  7.   range_key = "GameTitle" 
  8. + point_in_time-recovery = enabled 

确保推送时进行ECR图像扫描已启用

Amazon ECR支持使用“常见漏洞和披露”(CVE)数据库来扫描容器镜像中的漏洞。 建议您在每次推送时启用ECR,帮助识别不良镜像以及将漏洞引入到镜像中的特定标签。

ISO27001要求,必须在每次推送时启用ECR扫描。要修复构建时资源,请将scan_on_push设置为true: 

  1. resource "aws_ecr_repository" "foo" { 
  2.   name = "bar" 
  3.   image_tag_mutability = "MUTABLE" 
  4.   image_scanning_configuration { 
  5. + scan_on_push = true 
  6.   } 

确保存储在SQS队列中的所有数据已加密

Amazon简单队列服务(Amazon SQS)允许对通过每个队列发送的消息进行加密。通过基于消息的加密来拒绝访问特定数据,这实现了另一级别的数据访问管理,并通过进行加密来保护敏感数据。

如果您置身于受监管的市场,比如要遵守医疗界的HIPAA、金融界的PCI DSS和政府界的FedRAMP,需要确保用服务传递的敏感数据消息是静态加密的。

可通过指定SQS用来加密SQS配置块上数据的KMS密钥,避免这种错误配置。

在Terraform中,设置时间长度(以秒为单位),在该时间长度内Amazon SQS可在再次调用AWS KMS之前重复使用数据密钥来加密或解密消息。 

  1. resource "aws_sqs_queue" "terraform_queue" { 
  2.   name = "terraform-example-queue" 
  3. + kms_master_key_id = "alias/aws/sqs" 
  4. + kms_data_key_reuse_period_seconds = 300 

结论

如您所见,修复IaC错误配置常常需要向已经存在的块添加简单的缺少的配置参数,或者将不正确的值改为合规状态。然而,进行这些小的更改可能产生重大影响,因为它们将为将来的部署提供信息。

通过构建时在IaC模板和模块中实施常见的安全策略,您可以解决现有问题,防止新的错误配置被部署。这也是一个好方法,可以节省这方面的时间:新的基础架构启用后,揪出生产环境中一再出现的问题。这就是为什么我们认为IaC对于日益关注云的组织而言必不可少。

原文标题:Avoid the 5 Most Common Amazon Web Services Misconfigurations in Build-Time,作者:Nimrod Kor

【IDC.NET译稿,合作站点转载请注明原文译者和出处为IDC.NET.com】

 

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/134757.html<

(0)
管理的头像管理
上一篇2025-03-01 07:33
下一篇 2025-03-01 07:34

相关推荐

  • 增值电信业务经营许可证对IDC有多重要,如何办理?

    增值电信业务经营许可证是IDC服务商合法运营的核心凭证,它直接决定了机房能否接入骨干网、客户能否放心托管业务,以及服务商自身能否长期稳定发展,许可证是IDC进入市场的硬门槛互联网数据中心业务属于增值电信业务中的B1类,依据工信部《电信业务经营许可管理办法》,任何从事服务器托管、虚拟主机、云服务等业务的企业,必须……

    2026-07-26
    0
  • 站群服务器一个IP放几个网站合适?,怎么选

    站群服务器一个IP放3-5个网站是大多数情况下的最佳平衡点,但具体数量需根据网站权重、内容质量及IP资源成本灵活调整,这个结论基于搜索引擎对同IP站点的关联判定逻辑,以及站群运营的长期实践,如果你刚接触站群,可能会纠结于IP分配,但核心原则是:不要让搜索引擎轻易识别出这些网站属于同一实体,站群IP分配的底层逻辑……

    2026-07-26
    0
  • DDoS攻击和CC攻击有什么区别,怎么防御?

    DDoS攻击和CC攻击最核心的区别在于攻击目标不同:DDoS攻击主要消耗网络带宽和基础设施资源,而CC攻击专门针对应用层逻辑,耗尽服务器CPU和数据库连接数,两者从原理到防御手段完全不同,攻防视角下的本质差异攻击目标:一个砸门,一个撬锁DDoS攻击(分布式拒绝服务)瞄准的是网络层和传输层,通过大量伪造数据包或畸……

    2026-07-26
    0
  • 服务器UEFI和Legacy启动模式有什么区别,哪个好

    UEFI(统一可扩展固件接口)是取代传统Legacy BIOS的现代启动标准,在服务器领域,UEFI凭借更快的启动速度、超过2TB的磁盘支持、安全启动(Secure Boot)以及丰富的预启动网络功能,成为主流服务器的默认配置;而Legacy BIOS作为兼容性模式,仅在需要运行老旧操作系统或特定硬件时保留,U……

    2026-07-26
    0
  • 站群服务器为什么比普通服务器贵,哪家性价比高?

    站群服务器之所以比普通服务器贵,核心在于其为了支撑大量独立站点同时稳定运行,在硬件隔离、独立IP资源池、高防御网络架构以及合规运维上投入了普通服务器数倍的成本,这些硬性支出直接反映在了最终定价上,硬件配置的“冗余”设计决定成本基线站群服务器与普通服务器最直观的差异体现在硬件层面,普通服务器往往面向单一应用或少量……

    2026-07-26
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注