写点什么

构建云上勒索病毒防护体系,轻松保护数据完整性

  • 2019-09-25
  • 本文字数:3628 字

    阅读完需:约 12 分钟

构建云上勒索病毒防护体系,轻松保护数据完整性

最近几年,勒索病毒成为许多企业安全管理者谈之色变的话题。从早期的 WannaCry,到最新的 GlobeImposter,各种勒索病毒以及其变种对企业的数据完整性保护提出了极大的挑战,其中针对制造业、政府、医疗等行业的攻击尤其猖獗。为了有针对性的保护我们的数据,我们先来看一下勒索病毒攻击的典型过程。

勒索病毒典型过程解析

勒索病毒顾名思义它是病毒(或恶意软件)的一种。和其他病毒类型一样,它往往是先由内部网络中的一台主机感染,然后由这台感染的主机扩散到整个企业的内部网络其他主机上。最常见的攻击第一台主机的方式是通过钓鱼邮件或者密码暴力破解,一旦成功,攻击者会尝试利用系统或软件漏洞通过内部网络进行快速病毒复制和扩散。一个新的趋势是攻击者会优先搜寻并加密您内网中的备份文件(.bak),包括各种文件服务器上或者备份系统中的备份数据,从而使您无法恢复数据。

AWS 云上安全视角

AWS 云上安全采用云采用框架(Cloud Adoption Framework),将安全控制措施分为:


  • 指导性控制机制

  • 旨在围绕运营环境构建管理、风险和合规模型。

  • 预防性控制机制

  • 旨在保护您的工作负载并减少威胁和漏洞。

  • 检测性控制机制

  • 可以让您在 AWS 中部署的项目的运行情况变得可见、透明。

  • 响应性控制机制

  • 旨在纠正可能偏离安全基线的行为。

AWS 云上勒索病毒防护之指导性控制机制

1. 构建企业安全管理体系

同在数据中心一样,首先您需要在企业内部制定一套安全管理制度,定期开展员工信息安全意识培训,特别是针对钓鱼邮件、违规网站文件下载、外部存储设备的使用等方面。可以定期进行钓鱼邮件的内部测试,了解内部员工的安全意识水平,常用的工具包括 Kali Linux 集成的 Swaks,以及 Phishing Frenzy,PhishSim 等。

2. 制定 AWS 云上最小安全基线,规范系统安全配置

针对勒索病毒的感染和扩散的特点,制定 AWS 云上安全最小基线,规范云管理员的日常运维配置。

AWS 云上勒索病毒防护之预防性控制机制

病毒的防护重在预防,勒索病毒也如此。AWS 上许多原生的服务以及安全合作伙伴的解决方案帮助客户更好的预防勒索病毒。


  1. 补丁管理

  2. 勒索病毒往往利用操作系统的安全漏洞,在内部网络中快速扩散。因此,预防勒索病毒大面积爆发最有效的方法就是及时安装系统补丁。AWS Systems Manager 可以帮助您在大量 Amazon EC2 或本地实例中自动选择并部署操作系统和软件补丁。下面为大家演示如何利用 AWS Systems Manager 进行补丁的统一管理。初始配置 Systems Manager 请参见:https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-setting-up.html。


创建补丁基线


在 AWS Systems Manager – Patch Manager 中,选择 Create patch baseline



输入基线名称、操作系统类型、设置补丁审批规则等参数后,提交创建。



  • 设置实例的 patch group

  • 在 AWS Systems Manager – Managed Instances 中,选择您需要安装补丁的实例,在 View details – Tags 中设置标签 Patch Group。

  • 添加 patch group 到补丁基线 patch baseline 中

  • 回到 Patch Manager,选中刚才创建的补丁基线,选择 Actions – Modify patch groups。


将刚才设置的 patch group 的值加到 baseline 中。



  • 创建 Maintenance Window

  • 在 AWS Systems Manager – Maintenance Window 中,创建一个新的维护窗口。




设置 Schedule 各项参数,并创建维护窗口。


选中创建的维护窗口, 选择 Actions – Register targets,注册您需要打补丁的实例。



选中创建的维护窗口, 选择 Actions – Register Run command task。设置 Command document 为 AWS-RunPatchBaseline,设置 Priority,选中之前设置的 target group id,关联 role 权限,设置 rate control 等参数。具体各参数设置参见:https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-patch-mw-console.html。



  1. 实例远程管理

  2. TCP 22 和 TCP 3389 是管理员们最常用的远程管理端口。勒索病毒攻击者往往会使用这些端口进行密码暴力破解,从而拿到主机的用户权限,并植入勒索病毒。这种方式也同样适用于内网中。您可以选择 AWS 合作伙伴中的商业化堡垒机来避免实例直接向陌生地址暴露上述端口,您也可以选择 AWS Systems Manager- Session Manager 来实现主机的远程管理。


在 AWS Systems Manager- Session Manager 中,点击 Start Session,选择需要管理的主机,Start Session 进入主机命令行界面进行日常操作。


AWS 云上勒索病毒防护之检测性控制机制

  1. 安全合规检查

  2. 在指导性控制机制中,我们定义了 AWS 云上最小安全基线,我们应该如何来检测并确保安全基线的落实呢?AWS Config rules 为我们提供了强大的自动化合规工具,我们可以通过这个服务,将我们原来指导性的控制机制通过 Compliance as Code 的方式,变成自动化的检测性控制机制。之前我们提到过,勒索病毒的一种攻击途径就是通过远程管理端口使用暴力破解的方式,进入到我们内部网络中,针对这个风险,应该在安全基线中要求“实例禁止使用 Public IP”。下面我们通过这个 User Case 为大家展示如何通过 AWS Config rules 来持续监控这项安全基线要求。


在 AWS 托管规则中,我们没有找到对应的规则,因此需要创建自定义的 Config 规则。这里推荐使用 Github 上开源的开发套件 aws-config-rdk 来部署。RDK 环境准备,参见:https://github.com/awslabs/aws-config-rdk。




  • 设置 AWS Profile

  • 在您的 CLI 中设置 AWS Profile,具体可参见 https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html。

  • 部署 Config rules

  • 在 RDK 目录下输入 rdk –profile=china deploy EC2_INSTANCE_NO_PUBLIC_IP 进行部署。



  • 验证

  • 在 Lambda 函数中,可以看到使用 RDK 自动创建的 Lambda 函数。


在 AWS Config 规则中,可以看到 RDK 部署的 Config 规则。



点击规则名称,我们可以查看到不合规的具体资源情况。



  1. 构建安全日志 SIEM 系统

  2. 除了安全合规检查以外,您还选择购买 AWS 合作伙伴的安全日志 SIEM 类产品,帮助集中管理和展示当前安全态势。通过对类似防病毒软件产品日志、系统安全日志等的分析,及时发现潜在的勒索病毒,并在其扩散前进行响应。对于使用 AWS Global 的用户,您也可以使用 AWS Security Hub 帮助您对当前的安全态势进行集中监控。

AWS 云上勒索病毒防护之响应性控制机制

一旦被勒索软件感染,最有效的解决手段是从备份中恢复数据。因此,那些存在主机上的备份文件成为了勒索病毒最主要的攻击目标,如何有效保护备份文件给用户带来了新的挑战。AWS 采用快照的方式对块存储进行备份,这些备份被存储在 S3 对象存储上,能够帮助您解决备份的安全性问题。与此同时,AWS 也推出了 AWS Backup 服务,能够帮助您集中的管理备份策略。目前支持的服务有 Amazon EFS, EBS, Storage Gateway, DynamoDB 以及 RDS。



我们以 EBS 的备份和恢复为例:


  • 创建 Backup Vault

  • Backup Vault 用于集中管理您的备份。在 AWS Console 中选择 AWS Backup – Backup vaults – Create Backup vault



输入 Backup vault 名称,选择用于加密 Vault 中备份的 KMS master key (目前仅支持对 Amazon EFS 的 backup 加密),输入标签;





选择 Assign resources 并关联需要备份的资源。



  • 备份恢复

  • 在 AWS Console 中选择 AWS Backup – Protected resources 中,选中您需要恢复的 AWS Resource ID;



选中需要恢复的备份,并点击 Restore,确认参数后,选择 Restore backup;



等待片刻后,备份恢复成功。


最后也是最重要的

尽可能的使用 AWS 云原生的托管服务,例如 RDS、DynamoDB 等。因为 AWS 采用责任分担模型来明确用户和 AWS 之间的安全责任,当您选择使用这些服务时,您将不再需要将精力放在如何给操作系统安装补丁,如何保护操作系统的密钥,是否有防病毒措施等安全问题上,这些工作将由 AWS 为你负责,您可以更放心的在 AWS 上存放您的数据,免受勒索软件的困扰。


相关文章:


https://aws.amazon.com/blogs/mt/how-to-develop-custom-aws-config-rules-using-the-rule-development-kit/


作者介绍:


陈晓东


亚马逊 AWS 专业服务团队云安全咨询顾问。负责企业级客户的云安全咨询、安全架构设计和技术实施。在信息安全领域拥有多年架构设计、运维、咨询和团队管理经验,对公有云安全、容器安全、DevSecOps 等有深入的研究和热情。


本文转载自 AWS 技术博客。


原文链接:


https://amazonaws-china.com/cn/blogs/china/build-cloud-protection-system-protect-your-data-easily/


2019-09-25 17:52716
用户头像

发布了 1843 篇内容, 共 109.9 次阅读, 收获喜欢 77 次。

关注

评论

发布
暂无评论
发现更多内容

Linux 平均负载高了怎么办?

小林coding

Linux 问题处理 linux命令

SpringCloud(Netflix)-技术专题-Ribbon的基本使用

洛神灬殇

Java 技术 SpringCloud

白鹭引擎助力《迷你世界》研发团队开发3D小游戏版

DT极客

C++ 运算符重载的基本概念

小林coding

c++ 编程

C++ 赋值运算符‘=‘的重载(浅拷贝、深拷贝)

小林coding

c++ 编程 浅拷贝和深拷贝

央行发行的数字货币会带来哪些变化?

石云升

区块链 数字货币 DECP

排序算法一(冒泡排序、选择排序、插入排序)

xcbeyond

Java 算法 冒泡排序 选择排序 插入排序

最佳实践:使用阿里云CDN加速OSS访问

阿里云Edge Plus

CDN

经济优势再显,江苏如何通过职教打造人才高地?

InfoQ_967a83c6d0d7

云计算的可信新边界:边缘计算与协同未来——【两万五千字长文】

华为云开发者联盟

云计算 云原生 5G 边缘计算 云服务

使用 Golang 和 HTML5 开发一个 MacOS App

郭旭东

macos Go 语言

Java NIO 是 NIO么?

soolaugust

Java io nio

超超超全递归技巧讲解,这次带你拿下递归

多选参数

数据结构 算法 递归 数据结构与算法

C++ 手把手教你实现可变长的数组

小林coding

c++ 编程 数组

C++ 自增、自减运算符的重载和性能分析

小林coding

c++ 编程 运算符

高效程序员的45个习惯:敏捷开发修炼之道(2)

石云升

读书笔记 敏捷开发 对事不对人 欲速则不达

微服务-技术专题-初步介绍服务发现

洛神灬殇

Java 技术 微服务

C++ this指针的理解和作用

小林coding

c c++ 指针

C++ 一篇搞懂继承的常见特性

小林coding

c++ 编程 继承

SpreadJS 纯前端表格控件应用案例:铭天预算执行系统

葡萄城技术团队

SpreadJS 预算执行系统

Go语言专家测试,80%的人第一题就挂了!

博文视点Broadview

云原生 评测 Go 语言

C++ 流插入和流提取运算符的重载

小林coding

c++ 编程

Volcano:带你体验容器与批量计算的碰撞的火花

华为云开发者联盟

Kubernetes 容器 分布式 Volcano 批量计算

C++ static 与 const 的认识

小林coding

c++ 编程 static关键字

C++ 模板常见特性(函数模板、类模板)

小林coding

c++ 编程 模板方法

Java-技术专题-final关键字

洛神灬殇

2. 整体把握 CocoaPods 核心组件

Edmond

ruby ios swift CocoaPods 包管理工具

区块链:在发展的同时,准备好你的产品。

石云升

区块链 DCEP 创新

大数据技术发展(一):大数据技术的起源

cristal

Java 大数据 hadoop

C++ 一篇搞懂多态的实现原理

小林coding

c++ 编程 封装、继承、多态

职教黄金时代,河南如何继续“乘风破浪”?

InfoQ_967a83c6d0d7

构建云上勒索病毒防护体系,轻松保护数据完整性_语言 & 开发_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章