亚马逊AWS官方博客
亚马逊云科技账户设置指南
前言
在当今瞬息万变的数字时代,账户安全性和服务稳定性也是企业业务稳定运营的关键所在。
本篇博文将为您详细介绍亚马逊云科技账户基本的必要配置步骤。旨在保护您的云账户,保证业务程序的稳定运行,从而帮助您专注于业务发展,提高竞争力。
接下来,让我们一起探讨如何通过简单有效的配置措施,为您的企业带来持续的价值,针对每条需要额外配置的服务,您可以点击相关链接查看更详细配置步骤。
账户安全基本指南
解释:Root 账户即使用您的注册邮箱直接登陆账户,是创建 AWS 账户时自动生成的最高权限账户,直接拥有对所有资源的完全访问权限。IAM(身份与访问管理)子账户则是为特定用户或应用程序创建的账户,可以根据需要分配权限。
重要性:1)禁用 Root 账户可减少潜在的安全风险,因为 Root 账户如果发生密码泄漏,攻击者可以完全控制账户。使用 IAM 子账户可以限制权限,确保用户仅能访问其工作所需的资源。2)只使用 Root 账户登陆,如果发生邮箱不可用等情况,会影响亚马逊账户登陆。如果不遵循此经验,可能导致数据泄露或资源被恶意使用,甚至账户丢失。
设置步骤:如何创建 IAM 子账户?
2、IAM 账户专人专用
解释:每个用户应使用自己的账户进行登录,而非共享账户。
重要性:专人专用有助于追踪活动和责任,确保每个用户的操作可追溯。如果多个用户共享一个账户,可能会导致安全漏洞和责任不清,比如删了数据库但无法明确具体操作人是谁。
3、开启 MFA 保护账户
解释:多因素认证(MFA)是一种安全措施,要求用户在登录时提供额外的身份验证信息,如手机生成的验证码。
重要性:启用 MFA 可以显著提高账户安全性,即使密码被盗,攻击者也无法轻易访问账户。如果不使用 MFA,账户可能容易受到暴力破解或钓鱼攻击。
设置步骤:如何开启 MFA?
4、安全组限制最小规则
解释:安全组是 AWS 中的虚拟防火墙,用于控制进出资源的流量。
重要性:通过限制流量,可以减少潜在的攻击面,防止未授权访问。如果不遵循这一原则,可能会导致服务暴露于外部攻击,比如 3306、6379 等最终导致服务器被攻破。
5、开启入侵检测威胁服务 Guardduty
解释:GuardDuty 是 AWS 的一项安全服务,提供持续的威胁检测和监控。
重要性:启用 GuardDuty 可以帮助及时发现和响应安全威胁,比如账户泄漏等,如果不使用此服务,可能会错过潜在的攻击警告,导致更严重的安全事件。
设置步骤:如何开启入侵检测服务?
6、防止泄露 AK/SK
解释:AK(Access Key)和 SK(Secret Key)是用于访问 AWS 服务的凭证,类似于用户名和密码。
重要性:泄漏这些凭证将允许攻击者访问账户并执行相关操作,可能导致数据丢失或账户异常消费。确保这些凭证的安全至关重要。建议代码中减少使用 AK/SK,使用服务 role 授权,如有使用需要设置 AK/SK 定期轮转,代码审核增加扫描 AK/SK,减少 hardcode 以及意外上传公开仓库等。
7、谨慎使用社区镜像,推荐使用 Amazon 官方发型版本
解释:社区镜像是由用户共享的虚拟机镜像,可能包含恶意软件或安全漏洞。
重要性:使用官方或经过验证的镜像可以降低安全风险。使用社区镜像可能导致系统被感染或数据被盗。
8、设置成本预算
解释:设置成本预算是对 AWS 使用费用进行监控和限制的一种方式。
重要性:通过预算控制,可以避免意外的高额账单和资源浪费。如果不设置预算,可能会导致成本失控,影响业务运营。
设置步骤:如何设置成本预算预警?
9、定期检测账户配置
解释:随着业务发展,账户内设置是动态变化的,除了新账户的必要设置,也需要定时审核账户基础设置避免遗漏。
重要性:通过定期检测账户配置,可以避免意外的风险暴露。
设置步骤:如何周期性扫描账户风险设置?
服务稳定性基本指南
解释:注册邮箱是用于接收 AWS 账户相关通知和安全警报的邮箱地址。
重要性:确保注册邮箱的安全和准确性可以及时接收重要通知,如账单、维护、或安全警报。如果邮箱信息不准确或被黑客入侵,可能导致错过重要信息,甚至账户被盗用。
设置步骤:如何设置账户的额外联系人?
2、重要服务器主动设置弹性 IP
解释:默认情况下,EC2 实例在停止和重新启动时会更换公共 IP 地址。弹性 IP(Elastic IP)是一种可以与实例关联的静态 IP 地址,不会因实例重启而改变。
重要性:绑定弹性 IP 可以确保 IP 的一致性,当外部用户依赖于特定 IP 访问服务时。如果不使用弹性 IP,重启实例后可能导致服务中断,影响用户访问和业务运营;同时建议以域名方式提供服务访问,增强服务的灵活性。
设置步骤:如何给服务器设置弹性 IP?
3、配置账户事件通知接收
解释:由于底层硬件维护,服务可能需要重启或更新。建议设置接收通知,以便业务响应。
重要性:及时了解维护信息可以避免意外的服务中断,确保业务连续性。如果不关注维护通知,可能会在关键时刻遭遇服务中断,影响用户体验。
设置步骤:一键启用无服务器化的微信/钉钉告警通知
4、避免 S3 桶直接对外开放,使用 S3+CloudFront 的方式提供服务
解释:S3(Simple Storage Service)是 AWS 的对象存储服务,CloudFront 是 AWS 的内容分发网络(CDN)。
重要性:通过 CloudFront,可以提高内容加载速度并增强安全性,避免直接暴露S3桶的内容。S3桶访问权限是高度可配置的,如果不遵循此经验,可能导致敏感数据被未授权访问、泄露,甚至是数据删除。
5、重要服务器定期镜像并定期进行备份恢复演练
解释:镜像是指创建服务器的完整副本,包括操作系统和所有数据。定期镜像可以用于数据备份和恢复。定期的备份恢复演练可以验证备份的完整性和可恢复性,并让运维人员熟悉整套灾难恢复流程,提高恢复效率。
重要性:定期创建服务器镜像可以在系统故障或数据丢失时快速恢复服务。如果不进行定期备份,可能会导致重要数据丢失,影响业务运营和客户信任。
设置步骤:如何设置 EC2 镜像?
6、重要服务开启日志或详细监控
解释:日志记录了系统或应用程序在运行过程中发生的各种事件和错误信息,是定位和解决问题的重要依据。通过分析日志,可以快速发现问题根源,高效地进行修复。分析日志还可以帮助我们发现系统瓶颈,从而针对性地进行优化调整,提高系统性能。监控数据可以帮助我们实时得了解系统的运行状态,及时发现异常情况。详细监控对于快速定位问题至关重要。监控数据还可以触发预警,让运维人员及时介入。
重要性:业务系统出现问题时,日志和监控数据能提供解决问题的线索,提高解决问题效率的同时,也是给客户的一剂强心针。出现问题时,可以很大程度上避免运维人员手忙脚乱的情况。
7、任何改动或升级之前在测试环境进行测试验证
解释:配置改动或系统升级过程中可能会对系统性能产生影响,比如占用更多资源、引入新的瓶颈等,甚至可能会有兼容性问题等意想不到的情况发生。如果直接在生产环境中直接操作,一旦遇到错误,可能对业务造成不可挽回的影响。因此,建议先在测试环境中彻底验证新功能的可用性,并检查与现有系统的兼容性,确保升级后系统可以正常运行。
重要性:在测试环境中验证是一个降低升级风险、确保升级质量的重要环节。可以最大程度避免升级过程中的意外情况,保证系统的稳定运行。提前进行测试是一个值得的投资,可以换来更高的系统可靠性和业务连续性,避免在生产环境中发生意外。
8、妥善管理账号的服务配额
解释:服务配额规定了您 AWS 账户中可开启的资源、可进行的操作的最大值。每个 AWS 服务都定义了自己的配额,并为这些配额设置了默认值,用户可以申请提高服务配额。配额可以防止您在无意中或者在账号权限泄露时过度使用服务,从而导致巨额账单,甚至影响其他用户的可用性。服务配额机制鼓励客户进行可扩展性规划并优化资源使用,促进更好的架构实践。
重要性:通过监控服务的使用情况、提前规划并主动请求服务配额、优化系统架构,您可以妥善管理账号的服务配额,在账号受到配额保护的同时确保应用程序的运行顺畅和适当扩展。
设置步骤:如何设置服务配额?
9、 避免数据库直接对开公开访问
解释:应该将 RDS 部署在私有子网中,通过 VPC、安全组等方式严格限制访问,只允许必要的内部系统连接,这样可以大大提高数据库的安全性。
重要性:通常数据库只需要被应用服务器等内部系统访问,无需公开到互联网。 公开的数据库端口很容易被恶意扫描和探测,让数据库暴露在互联网上,面临各种潜在的攻击和入侵风险。将 RDS 实例部署在私有子网中,使用 NAT 网关或 NAT 实例允许 RDS 访问互联网进行更新等操作,如需本地访问 RDS 可通过 pgadmin 等开源管理工具的 ssh tunnel 功能。
设置步骤:默认 RDS 位于私有子网内,如需将公有子网迁移到私有子网,参考如何将 Amazon RDS 数据库实例从公有子网迁移到同一 VPC 内的私有子网?
执行步骤
账户开启 MFA
MFA 即多重身份验证,IAM 用户和主账户都应该开启 MFA,每个用户有自己的 MFA。MFA 支持多种类型,这里以最方便的虚拟身份验证器应用程序为例。应用程序采用基于时间的一次性密码(TOTP)算法。以下是一些实现了该算法的应用程序,部分安卓手机可通过应用商城直接下载,可以自行选择。
- Android:Authenticator、Microsoft Authenticator、Google Authenticator
- IOS:Twilio Authy Authenticator、Duo Mobile、Microsoft Authenticator、Google Authenticator、Symantec VIP
1、安装虚拟身份验证器应用程序
2、登陆账户,点击右上角账户名称,并进入安全凭证
3、找到多重身份验证(MFA),点击分配 MFA
4、任意命名,并选择“身份验证应用程序”
5、点击显示 QR 代码,并用手机安装的身份验证器进行扫描
6、输出 MFA 代码,并点击添加 MFA
7、至此,该用户的 MFA 已添加完成。下次登陆账户时在提示输入验证码的位置填入当时手机应用程序内的 MFA 代码即可。注意以下事项:
- MFA 与用户相关,不同用户之间无法复用。
- IAM 账户设置 MFA 不等于 Root 账户设置 MFA,Root 账户需要单独启用。
- MFA 的 QR 代码为密钥,不要分享到他人。
账户开启入侵检测服务 GuardDuty
Amazon GuardDuty 是一项威胁检测服务,可持续监控、分析和处理您 AWS 环境中的 AWS 数据源和日志。 GuardDuty 将识别 AWS 环境中的可疑活动和潜在的恶意活动。比如凭证泄漏、勒索软件等等。Amazon GuardDuty 有 30 天的免费使用期限,可通过此免费期限预估后续可能产生的成本。GuardDuty 的服务使用分成以下几步:
- 账户开启 GuardDuty
- 部署服务接收来自 GuardDuty 的通知
- 如果收到 GuardDuty 的事件通知,则进行相关问题排查。事件排查不在本次基础设置的范畴以内,因此在此不做介绍,如果收到相关的事件,可参考此文档进行排查,或联系您的客户支持团队。
接下来介绍开启服务并配置通知,以便在出现问题时感知。
1、启用 Amazon GuardDuty
- 在以下位置打开 GuardDuty 控制台 https://console.aws.amazon.com/guardduty/
- 选择 “Amazon GuardDuty – 所有功能” 选项,选择开始。
2、配置通知
Guardduty 可通过 SNS 服务向用户邮箱发送事件邮件,但考虑到邮件通知及时性不高,可以参考此文档启用发送到微信/钉钉的告警通知,并添加插件以支持接收 GuardDuty 事件。
周期性扫描账户安全风险
Service Screener 是一个在亚马逊云环境中运行自动检查的开源工具,并根据 AWS 和社区最佳实践提供建议。用来提高服务级别的安全性、可靠性、卓越运营、性能效率和成本优化。该工具部署参考此文档。获取报告后,可通过以下常见的方式审核账户设置。
- 全局查看
通过 Findings 页面,多服务的检查相关建议,其中 Search 可输入 Security, Reliability, Operational Excellence, Performance Efficiency and Cost Optimisation 等。
- 按服务类别查看
点击具体关注的服务,针对资源级别获取具体的实施方案。
以上是基础的账户审核扫描工具使用方式,可以使用该工具定期扫描账户,通过定期、全面的安全审核,可以显著提高 AWS 环境的安全性、合规性和效率,为业务持续稳定运营提供有力保障。
总结
在本博客中,我们为您详细介绍了亚马逊云科技新账户的必要配置步骤,涵盖了账户安全性设置和服务稳定性使用方式。这些基础设置对于保护您的敏感数据、确保业务应用程序的可靠运行至关重要。但账户安全和系统稳定性是一项长期而持续的工作。随着业务的发展和技术的不断更新,您需要不断优化和调整这些设置,以应对日益复杂的运营环境。只有通过持续的迭代和改进,才能真正构建一个安全可靠的云计算环境。