加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 服务器 > 安全 > 正文

防止构建时常见的这五个AWS配置不当

发布时间:2022-07-11 15:28:47 所属栏目:安全 来源:互联网
导读:基础架构即代码(IaC)使云资源配置更快速、更简单、更具扩展性。它还使我们有机会进行比较简单的更改,从而对我们的云安全状况产生持久影响。 为了表明这一点,我们分析了实际环境中的IaC模块最常见的亚马逊网络服务(AWS)安全错误。我们在本文中剖析了最常见
  基础架构即代码(IaC)使云资源配置更快速、更简单、更具扩展性。它还使我们有机会进行比较简单的更改,从而对我们的云安全状况产生持久影响。
 
  为了表明这一点,我们分析了实际环境中的IaC模块最常见的亚马逊网络服务(AWS)安全错误。我们在本文中剖析了最常见的不合规AWS策略以及相关的风险。我们还将介绍解决每个错误所需的简单的构建时Terraform配置。
  
   确保存储在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启用了加密:
 
  想解决Terraform中的这个错误配置,启用密钥轮换:
 
  复制
  resource "aws_kms_key" "kms_key_1" {
    description = "kms_key_1"
    deletion_window_in_days = 10
    key_usage = "ENCRYPT_DECRYPT"
    is_enabled = true
   + enable_key_rotation = true
  }
   确保DynamoDB时间点恢复(备份)已启用
 
  Amazon DynamoDB的时间点恢复(PITR)让您只需点击一下即可恢复DynamoDB表数据。您在深入研究数据泄露和数据损坏攻击时,这提供了故障保护,这也是PIC-DSS、CIS和ISO27001所要求的。
 
  然而要创建和访问DynamoDB备份,您需要启用PITR,PITR提供了可使用各种编程参数来控制的持续备份。
 
  通过在DynamoDB表上配置point_in_time配置,解决该错误配置:
 
  复制
  resource "aws_dynamodb_table" "basic-dynamodb-table" {
    name = "GameScores"
    billing_mode = "PROVISIONED"
    read_capacity = 20
    write_capacity = 20
    hash_key = "UserId"
    range_key = "GameTitle"
  + point_in_time-recovery = enabled
  
  确保推送时进行ECR图像扫描已启用
 
  Amazon ECR支持使用“常见漏洞和披露”(CVE)数据库来扫描容器镜像中的漏洞。 建议您在每次推送时启用ECR,帮助识别不良镜像以及将漏洞引入到镜像中的特定标签。
 
  ISO27001要求,必须在每次推送时启用ECR扫描。要修复构建时资源,请将scan_on_push设置为true:
 
  复制
  resource "aws_ecr_repository" "foo" {
    name = "bar"
    image_tag_mutability = "MUTABLE"
    image_scanning_configuration {
  + scan_on_push = true
    }
  }
  
 
  复制
  resource "aws_sqs_queue" "terraform_queue" {
    name = "terraform-example-queue"
  + kms_master_key_id = "alias/aws/sqs"
  + kms_data_key_reuse_period_seconds = 300
  }
  
  结论
 
  如您所见,修复IaC错误配置常常需要向已经存在的块添加简单的缺少的配置参数,或者将不正确的值改为合规状态。然而,进行这些小的更改可能产生重大影响,因为它们将为将来的部署提供信息。
 
  通过构建时在IaC模板和模块中实施常见的安全策略,您可以解决现有问题,防止新的错误配置被部署。这也是一个好方法,可以节省这方面的时间:新的基础架构启用后,揪出生产环境中一再出现的问题。这就是为什么我们认为IaC对于日益关注云的组织而言必不可少。

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读