云资产入侵防范

企业必须时刻保持警惕,防御潜在的云和网络攻击。web攻击和ddos攻击会造成应用无法提供正常的服务,有用户流失的风险。但是企业同时缺少专业的云安全专家,如何解决企业不懂安全,如何抵御这些网络攻击,保障业务连续性成为很多企业关心的问题。

网络入侵防范

  • 通过多账号实现运行环境隔离,推荐使用AWS Control Tower构建多账号环境;

  • 经典三层架构设计:数据库层使用私有子网,仅允许应用层和DMZ访问;应用层使用私有子网,仅允许DMZ访问;DMZ是安全控制区,公有子网,放各类安全产品,以及能够远程访问数据库和应用服务器的机器。

主机入侵防范

  • 使用IMDSv2,有了IMDSv2,每个请求都受到会话认证的保护。更多信息参考use IMDSv2

  • 安装Amazon Inspector,可以自动评估EC2实例的网络可访问性和在实例上运行的应用程序的安全状态。

  • 使用AWS Config对 EC2 实例进行定期的安全基线扫描。

  • 通过AWS Systems Manager ,对 EC2 实例进行定期的操作系统更新和软件补丁安装。确保您的实例运行的是最新版本的操作系统和软件,以修复已知的安全漏洞。

  • 监控 EC2 实例的日志文件。定期查看 Amazon CloudWatch Logs 中的错误和警告消息,以及与 SSH 登录相关的活动。这将帮助您及时发现并应对潜在的安全问题。

  • 使用NACL和安全组控制入站和出站流量。通过配置防火墙规则,您可以阻止未经授权的访问尝试,并只允许特定 IP 地址或端口的流量通过。

  • 使用 IAM(Identity and Access Management)策略限制对 EC2 实例的访问权限。为每个用户或角色分配适当的权限,以确保他们只能访问他们需要的资源。

应用入侵防范

AWS WAF在保护您的应用程序免受SQL注入或XSS攻击等常见漏洞方面至关重要。网络访问控制列表(web ACL)使您能够精细控制所有 HTTP(S) 网络请求。你可以保护Amazon CloudFront、Amazon API Gateway、Application Load Balancer、AWS AppSync、Amazon Cognito、AWS App Runner和AWS Verified Access资源。控制方式包括:

  • 阻止请求的IP来源;

  • 阻止访问来源国家;

  • 阻止一部分请求信息匹配正则表达式的请求;

  • 阻止特定大小的请求,比如超大请求包;

  • 阻止恶意的SQL语句;

也可以自定义WAF rules,比如识别从哪个国家访问过来的请求,基于访问频率或者访问次数进行请求限制。

AWS Shield是对AWS WAF的补充,提供DDoS攻击防护,如果购买了AWS Shield Advance可以免费享受WAF基础功能。

这项服务简化了设置AWS WAF、AWS Shield和VPC安全组时的管理工作。

数据库入侵防范

  • 数据库放置在私有子网中;

  • 添加安全基线,持续检查数据库是否符合安全要求,比如未开放到公网,无未授权访问漏洞,数据进行了加密,使用了备份等;

  • 访问数据库的口令使用AWS Secrets Manager托管,而不是直接明文写在代码里或者配置文件中;

Amazon IoT 物联网入侵防范

针对常见物联网安全事件的持续检测和监控解决方案

综合威胁检测

1- 使用Amazon GuardDuty

Amazon GuardDuty是一个智能威胁检测服务,分析AWS账号的数十亿事件,帮助您快速响应恶意和可疑事件。支持识别主机、容器、数据库、Serverless上的安全威胁。GuardDuty EKS运行时监控深化了亚马逊Elastic Kubernetes Service (Amazon EKS)工作负载内部的威胁检测,而GuardDuty RDS Protection帮助客户保护存储在Amazon Aurora数据库中的数据,GuardDuty Lambda Protection帮助客户检测无服务器应用程序的威胁。

数据来源

  • VPC Flow logs

    • 分析发生在弹性网络接口(ENI)的网络流量。

    • 不必打开VPC流量日志来生成调查结果。GuardDuty 在 AWS 后台使用一个独立的流量。

  • DNS logs

    • GuardDuty 旁路DNS记录,分析EC2 实例发出请求到已知的恶意域名。

    • GuardDuty通过AWS DNS解析器(Route 53)访问DNS日志,和VPC日志一样,你不需要使用Route 53生成基于DNS的发现,GuardDuty使用独立的,内部的DNS解析器。

    • 不支持第三方的DNS解析器,比如OpenDNS, Google DNS, 或者 Active Directory servers。

  • CloudTrail Events

    • 您AWS账号中API请求的历史记录,和用户的请求记录。

Finding类型

  • 后门 - 表示你的AWS资源被黑客控制,受影响的服务器可能进行恶意活动。

  • 异常行为 - 表示GuardDuty检查到某个AWS资源存在异常行为。

  • 加密货币 - 表示 GuardDuty 检测到 AWS 资源中存在挖矿行为。

  • 渗透测试 - 表示发现正在进行渗透测试。

  • 持久化 - 表示GuardDuty检测到AWS环境中某个实体表现异常。

  • 策略 - 表示AWS账号偏离推荐的最佳安全实践。

  • 提权 - 表示AWS环境中某个实体提升自己的权限,可能代表一次提权攻击。

  • 探测 - 表示有一个正在进行的侦察攻击,比如暴力破解。

  • ResourceConsumption - 表示当您的AWS环境中没有启动EC2实例历史的委托人突然执行RunInstances API操作。这可能是IAM凭证泄漏的迹象。

  • 隐藏行为 - 表示攻击试图隐藏其活动和踪迹。

  • Trojan - 表示木马攻击。木马病毒通过将自己伪装成一个无害的软件来掩盖其真实意图。

  • 未授权访问 - 检测到未授权个人的可疑访问行为。

[blog] How you can use Amazon GuardDuty to detect suspicious activity within your AWS account

[doc] Finding types

2- 使用Detective挖掘问题根因

Detective自动收集来自客户资源的日志数据,并使用机器学习、统计分析和图论来构建交互式可视化,帮助客户分析、调查并快速确定潜在安全问题或可疑活动的根本原因。

3- 使用AWS Security Hub汇总威胁发现

开启AWS Security Hub,集成各个安全产品,将多账户,多region的安全发现集中管理。Security Hub支持对接多种AWS云原生或者第三方的产品,比如可以将发现通过邮件通知到安全团队,或者对接Jira实现SOC,在JIRA上进行工单的分派和记录。

更多操作方法参见安全自动化

4 - 使用AWS Security Lake & Jupyter Notebook实现事件响应

AWS Security Lake可以一键完成跨账号跨Region的安全日志收集,并且直接可以通过Athena分析日志,相比于将日志传到OpenSearch进行分析更节省成本。但是Athena分析比较零散,无法形成文档类的事件响应剧本。可以通过结合使用Jupyter Notebook编写安全事件响应剧本Playbooks来提高安全事件排查和修复的效率。

虽然机器学习专家经常使用 Jupyter Notebook,但它实际上是一个用户界面,可以让您按顺序执行 python 代码并编写markdown文档。这使它成为编写 IT runbooks的绝佳平台,因为许多 IT runbooks很难实现端到端的自动化。此外,它还允许分析师自动执行runbooks的各个部分,并专注于分析数据。

可以参考以下信息:

使用Security Lake & Jupyter Notebooks实现事件响应

使用Security Lake和Athena分析日志

使用Amazon Security Lake收集安全日志

AWS resources

Third-party resources

最后更新于