當(dāng)前位置:聯(lián)升科技 > 技術(shù)資訊 > 應(yīng)用安全 >

避免構(gòu)建時(shí)常見的這五個(gè)AWS配置不當(dāng)

2020-10-22    作者:布加迪編譯    來源:51CTO    閱讀:
【51CTO.com快譯】基礎(chǔ)架構(gòu)即代碼(IaC)使云資源配置更快速、更簡(jiǎn)單、更具擴(kuò)展性。它還使我們有機(jī)會(huì)進(jìn)行比較簡(jiǎn)單的更改,從而對(duì)我們的云安全狀況產(chǎn)生持久影響。
為了表明這一點(diǎn),我們分析了實(shí)際環(huán)境中的IaC模塊最常見的亞馬遜網(wǎng)絡(luò)服務(wù)(AWS)安全錯(cuò)誤。我們?cè)诒疚闹衅饰隽俗畛R姷牟缓弦?guī)AWS策略以及相關(guān)的風(fēng)險(xiǎn)。我們還將介紹解決每個(gè)錯(cuò)誤所需的簡(jiǎn)單的構(gòu)建時(shí)Terraform配置。
確保存儲(chǔ)在S3存儲(chǔ)桶中的所有數(shù)據(jù)安全地靜態(tài)加密
S3支持使用AES-256加密標(biāo)準(zhǔn)進(jìn)行簡(jiǎn)單的免費(fèi)加密。眾所周知,有人可能訪問存儲(chǔ)您數(shù)據(jù)的硬盤,而S3存儲(chǔ)桶靜態(tài)加密對(duì)于防止數(shù)據(jù)暴露在這些人的面前很重要。
為了符合該策略——PCI-DSS和NIST-800要求這樣,需要默認(rèn)情況下對(duì)相關(guān)存儲(chǔ)桶設(shè)置加密。這將使保存到該S3存儲(chǔ)桶的所有后續(xù)項(xiàng)目都被自動(dòng)加密。
將以下塊添加到Terraform S3資源以添加AES-256加密:
server_side_encryption_configuration { 
  rule { 
    apply_server_side_encryption_by_default { 
      sse_algorithm = "AES256" 
    } 
  } 
確保存儲(chǔ)在Launch Configuration EBS中的所有數(shù)據(jù)已安全加密
亞馬遜彈性塊存儲(chǔ)(EBS)卷支持內(nèi)置加密,但默認(rèn)情況下不加密。EBS Launch Configurations指定了可被Auto Scaling組用來配置Amazon EC2實(shí)例的Amazon EC2 Auto Scaling啟動(dòng)配置。
加密整個(gè)EBS卷后,靜態(tài)存儲(chǔ)在卷上的數(shù)據(jù)、磁盤I/O、從該卷創(chuàng)建的快照以及EBS和EC2之間的傳輸中數(shù)據(jù)都將被加密。
讓您的數(shù)據(jù)保持靜態(tài)加密可確保未經(jīng)授權(quán)的人無法訪問。PCI-DSS也要求遵守該策略。 為防止Terraform模塊中出現(xiàn)該AWS錯(cuò)誤,確保為EBS Launch Configurations啟用了加密:
resource "aws_launch_configuration" "as_conf" { 
  name_prefix = "terraform-lc-example-" 
  image_id = data.aws_ami.ubuntu.id 
  instance_type = "t2.micro" 
+ encrypted = enabled 
確保對(duì)客戶創(chuàng)建的CMK進(jìn)行輪換已啟用
AWS密鑰管理服務(wù)(KMS)允許客戶輪換備用密鑰。密鑰材料存儲(chǔ)在KMS中,并與客戶主密鑰(CMK)的密鑰ID綁定在一起。備用密鑰用于執(zhí)行加密操作,比如加密和解密。密鑰自動(dòng)輪換目前保留所有先前的備用密鑰,以便透明地進(jìn)行加密數(shù)據(jù)解密。
密鑰未輪換的時(shí)間越長(zhǎng),使用它加密的數(shù)據(jù)就越多,被危及的可能性就越大。泄露這種密鑰會(huì)泄露使用該密鑰加密的所有數(shù)據(jù),因此強(qiáng)烈建議每年輪換一次加密密鑰。
默認(rèn)情況下,CMK自動(dòng)輪換未啟用,但是建議啟用以幫助減小密鑰泄漏的潛在影響。還需要啟用它,以符合PCI-DSS、CSI和ISO27001。
想解決Terraform中的這個(gè)錯(cuò)誤配置,啟用密鑰輪換:
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時(shí)間點(diǎn)恢復(fù)(備份)已啟用
Amazon DynamoDB的時(shí)間點(diǎn)恢復(fù)(PITR)讓您只需點(diǎn)擊一下即可恢復(fù)DynamoDB表數(shù)據(jù)。您在深入研究數(shù)據(jù)泄露和數(shù)據(jù)損壞攻擊時(shí),這提供了故障保護(hù),這也是PIC-DSS、CIS和ISO27001所要求的。
然而要?jiǎng)?chuàng)建和訪問DynamoDB備份,您需要啟用PITR,PITR提供了可使用各種編程參數(shù)來控制的持續(xù)備份。
通過在DynamoDB表上配置point_in_time配置,解決該錯(cuò)誤配置:
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 
確保推送時(shí)進(jìn)行ECR圖像掃描已啟用
Amazon ECR支持使用“常見漏洞和披露”(CVE)數(shù)據(jù)庫(kù)來掃描容器鏡像中的漏洞。 建議您在每次推送時(shí)啟用ECR,幫助識(shí)別不良鏡像以及將漏洞引入到鏡像中的特定標(biāo)簽。
ISO27001要求,必須在每次推送時(shí)啟用ECR掃描。要修復(fù)構(gòu)建時(shí)資源,請(qǐng)將scan_on_push設(shè)置為true:
resource "aws_ecr_repository" "foo" { 
  name = "bar" 
  image_tag_mutability = "MUTABLE" 
  image_scanning_configuration { 
+ scan_on_push = true 
  } 
確保存儲(chǔ)在SQS隊(duì)列中的所有數(shù)據(jù)已加密
Amazon簡(jiǎn)單隊(duì)列服務(wù)(Amazon SQS)允許對(duì)通過每個(gè)隊(duì)列發(fā)送的消息進(jìn)行加密。通過基于消息的加密來拒絕訪問特定數(shù)據(jù),這實(shí)現(xiàn)了另一級(jí)別的數(shù)據(jù)訪問管理,并通過進(jìn)行加密來保護(hù)敏感數(shù)據(jù)。
如果您置身于受監(jiān)管的市場(chǎng),比如要遵守醫(yī)療界的HIPAA、金融界的PCI DSS和政府界的FedRAMP,需要確保用服務(wù)傳遞的敏感數(shù)據(jù)消息是靜態(tài)加密的。
可通過指定SQS用來加密SQS配置塊上數(shù)據(jù)的KMS密鑰,避免這種錯(cuò)誤配置。
在Terraform中,設(shè)置時(shí)間長(zhǎng)度(以秒為單位),在該時(shí)間長(zhǎng)度內(nèi)Amazon SQS可在再次調(diào)用AWS KMS之前重復(fù)使用數(shù)據(jù)密鑰來加密或解密消息。
resource "aws_sqs_queue" "terraform_queue" { 
  name = "terraform-example-queue" 
+ kms_master_key_id = "alias/aws/sqs" 
+ kms_data_key_reuse_period_seconds = 300 
結(jié)論
如您所見,修復(fù)IaC錯(cuò)誤配置常常需要向已經(jīng)存在的塊添加簡(jiǎn)單的缺少的配置參數(shù),或者將不正確的值改為合規(guī)狀態(tài)。然而,進(jìn)行這些小的更改可能產(chǎn)生重大影響,因?yàn)樗鼈儗閷淼牟渴鹛峁┬畔ⅰ?/div>
通過構(gòu)建時(shí)在IaC模板和模塊中實(shí)施常見的安全策略,您可以解決現(xiàn)有問題,防止新的錯(cuò)誤配置被部署。這也是一個(gè)好方法,可以節(jié)省這方面的時(shí)間:新的基礎(chǔ)架構(gòu)啟用后,揪出生產(chǎn)環(huán)境中一再出現(xiàn)的問題。這就是為什么我們認(rèn)為IaC對(duì)于日益關(guān)注云的組織而言必不可少。
原文標(biāo)題:Avoid the 5 Most Common Amazon Web Services Misconfigurations in Build-Time,作者:Nimrod Kor
【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】


相關(guān)文章

我們很樂意傾聽您的聲音!
即刻與我們?nèi)〉寐?lián)絡(luò)
成為日后肩并肩合作的伙伴。

行業(yè)資訊

聯(lián)系我們

13387904606

地址:新余市仙女湖區(qū)仙女湖大道萬商紅A2棟

手機(jī):13755589003
QQ:122322500
微信號(hào):13755589003

江西新余網(wǎng)站設(shè)計(jì)_小程序制作_OA系統(tǒng)開發(fā)_企業(yè)ERP管理系統(tǒng)_app開發(fā)-新余聯(lián)升網(wǎng)絡(luò)科技有限公司 贛ICP備19013599號(hào)-1   贛公網(wǎng)安備 36050202000267號(hào)   

微信二維碼