云资产入侵防范
最后更新于
最后更新于
企业必须时刻保持警惕,防御潜在的云和网络攻击。web攻击和ddos攻击会造成应用无法提供正常的服务,有用户流失的风险。但是企业同时缺少专业的云安全专家,如何解决企业不懂安全,如何抵御这些网络攻击,保障业务连续性成为很多企业关心的问题。
实现端口管控
通过多账号实现运行环境隔离,推荐使用AWS Control Tower构建多账号环境;
经典三层架构设计:数据库层使用私有子网,仅允许应用层和DMZ访问;应用层使用私有子网,仅允许DMZ访问;DMZ是安全控制区,公有子网,放各类安全产品,以及能够远程访问数据库和应用服务器的机器。
构建网络边界,可以参考Data perimeters on AWS
使用VPC endpoint,构建VPC内EC2实例与AWS服务之间的网络传输,不需要出外网,提升网络安全。
使用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 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
Detective自动收集来自客户资源的日志数据,并使用机器学习、统计分析和图论来构建交互式可视化,帮助客户分析、调查并快速确定潜在安全问题或可疑活动的根本原因。
开启AWS Security Hub,集成各个安全产品,将多账户,多region的安全发现集中管理。Security Hub支持对接多种AWS云原生或者第三方的产品,比如可以将发现通过邮件通知到安全团队,或者对接Jira实现SOC,在JIRA上进行工单的分派和记录。
更多操作方法参见安全自动化。
AWS Security Lake可以一键完成跨账号跨Region的安全日志收集,并且直接可以通过Athena分析日志,相比于将日志传到OpenSearch进行分析更节省成本。但是Athena分析比较零散,无法形成文档类的事件响应剧本。可以通过结合使用Jupyter Notebook编写安全事件响应剧本Playbooks来提高安全事件排查和修复的效率。
虽然机器学习专家经常使用 Jupyter Notebook,但它实际上是一个用户界面,可以让您按顺序执行 python 代码并编写markdown文档。这使它成为编写 IT runbooks的绝佳平台,因为许多 IT runbooks很难实现端到端的自动化。此外,它还允许分析师自动执行runbooks的各个部分,并专注于分析数据。
可以参考以下信息:
使用Security Lake & Jupyter Notebooks实现事件响应
https://www.nomoreransom.org/en/index.html-Decryption Tools(查找常见勒索软件的对应解决办法,下载解密工具尝试修复)