ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

AWS IAM 账户密码策略与 MFA 加固实战:基于 devops-exercises 的动手练习指南

AWS IAM 账户密码策略与 MFA 加固实战:基于 devops-exercises 的动手练习指南 文档教程DevOps运维【免费下载链接】devops-exercisesLinux, Jenkins, AWS, SRE, Prometheus, Docker, Python, Ansible, Git, Kubernetes, Terraform, OpenStack, SQL, NoSQL, Azure, GCP, DNS, Elastic, Network, Virtualization. DevOps Interview Questions项目地址https://gitcode.com/GitHub_Trending/de/devops-exercises点击查看免费下载本指南以 devops-exercises 仓库中 AWS IAM Password Policy MFA 练习 为核心完整讲解如何通过 AWS 控制台为 IAM 账户配置高强度密码策略并为账户启用多因素认证MFA。读完本文你将掌握 IAM 密码策略各选项的含义与 GUI 配置路径、MFA 设备的激活流程以及如何使用 Terraform 将密码策略基础设施化IaC并了解密码策略与 MFA 在真实 IAM 加固中的定位与验证手段。为什么需要密码策略与 MFAIAM 安全加固的第一步在 AWS 中IAMIdentity and Access Management负责管理身份与访问权限。仓库 AWS 主题 README 在 IAM 最佳实践问答中明确列出了几条核心建议删除 root 账户访问密钥不要常规性地使用 root 账户为所有真实用户创建 IAM 用户不要共享用户遵循最小权限原则least privilege principle只授予用户完成任务所需的最少权限启用 MFA并考虑强制执行使用用户组来分配权限user → group → permissions。密码策略与 MFA 正是前两条落地的基础设施密码策略从账号第一道门上约束口令强度与复用MFA 则在密码之外再叠加一层动态验证因子。仓库中另一道 Create a User 练习 也强调不建议直接使用 root 账户工作因此本练习的账号级安全配置通常是在创建了日常管理用户如加入 admin 组并附加 AdministratorAccess 策略之后进行的加固动作。需要特别提醒的是本练习在 exercise.md 开头就给出警示Dont perform this exercise unless you understand what you are doing and what is the outcome of applying these changes to your account密码策略是账号级全局生效的设置会立即影响账户内所有 IAM 用户的登录行为强制密码长度、数字要求与禁止密码复用一旦保存现有用户下次改密时就必须满足新规则因此请确认清楚后果后再执行。练习目标Objectives本练习的核心目标共两项均针对 AWS 账户级安全设置创建密码策略要求包含以下设置密码长度至少 8 个字符At least minimum 8 characters至少包含一个数字At least one number禁止密码复用Prevent password reuse为账户启用 MFA。目标 1 属于账户密码策略Account Password Policy作用于所有 IAM 用户与控制台登录目标 2 属于身份级的多因素认证绑定。两者一前一后构成登录链路的两层防线。控制台操作一配置账户密码策略根据仓库中的 solution.md密码策略的 GUI 配置步骤如下进入 AWS 控制台并打开IAM 服务。在左侧导航栏 Access management访问管理 分组下点击Account settings账户设置。点击Change password policy更改密码策略然后勾选以下选项勾选Enforce minimum password length强制最短密码长度并设置为8个字符勾选Require at least one number要求至少包含一个数字勾选Prevent password reuse禁止密码复用。点击Save changes保存更改生效。除本练习要求的三个选项外AWS 控制台的密码策略面板通常还包含一组可选的强度选项实际加固时可一并评估选项含义本练习取值强制最短密码长度新密码最少字符数8要求至少一个数字密码必须含数字 0-9勾选要求至少一个大写字母密码必须含 A-Z未要求要求至少一个符号密码必须含! # $ ...等特殊字符未要求要求至少一个小写字母密码必须含 a-z未要求允许用户自行更改密码允许 IAM 用户自助改密通常勾选密码过期时间密码有效天数到期强制改密未要求禁止密码复用新密码与历史密码的间隔代数限制勾选这些参数在 Terraform 资源aws_iam_account_password_policy中均有对应字段详见下文控制台勾选与 IaC 声明是对同一组底层 API 参数的两种表达方式。控制台操作二为账户启用 MFA同一份 solution 给出 MFA 的激活路径点击 AWS 控制台右上角的账户名称即当前登录的账户。点击My Security Credentials我的安全凭证。展开Multi-factor authentication (MFA)多因素认证部分点击Activate MFA激活 MFA。选择一种 MFA 设备类型虚拟 MFA 应用、硬件安全密钥或 U2F 安全密钥等。按照屏幕提示完成设备的绑定与验证如使用手机 Authenticator 应用扫描二维码并输入连续的两个动态验证码最后点击Assign MFA分配 MFA完成绑定。绑定成功后该账户下次登录或调用敏感凭证相关操作时就需要同时提供密码与 MFA 动态码。仓库 AWS README 的 IAM 问答中与此相关的两则要点值得注意如果 AWS 用户使用密码认证他是否就不需要启用 MFA ——False。MFA 是身份认证之上重要的额外安全层。AWS Access Key 是否是一种 MFA 设备 ——False。安全密钥Security Key才是 MFA 设备的一个例子。也就是说Access Key访问密钥承担的是 API/SDK 调用层面的凭证职责与 MFA 设备不是同一概念MFA 的典型形态包括虚拟 MFA 应用、U2F 安全密钥与硬件设备。Terraform 方案用 IaC 固化密码策略仓库 solution 给出了用 Terraform 声明密码策略的完整示例resource aws_iam_account_password_policy strict { minimum_password_length 8 require_numbers true allow_users_to_change_password true password_reuse_prevention 1 }各字段与本练习目标的对应关系如下minimum_password_length 8对应至少 8 个字符require_numbers true对应至少一个数字password_reuse_prevention 1对应禁止密码复用——1表示新密码不得与最近 1 个历史密码相同即与上一个密码不同即可数值越大可追溯的历史密码代数越多限制越严格allow_users_to_change_password true允许用户自助修改密码避免用户被迫联系管理员改密属于推荐保留的配套设置。除示例用到的字段外aws_iam_account_password_policy还支持require_uppercase_characters、require_lowercase_characters、require_symbols、max_password_age、hard_expiry等参数分别对应控制台中的大写字母要求、小写字母要求、符号要求、密码过期天数与过期后强制管理员重置选项可按安全基线灵活扩展。重要限制仓库原文明确标注Note: You cannot add MFA through terraform, you have to do it in the GUI.—— MFA 无法通过 Terraform 声明式创建必须在 AWS 控制台 GUI 中手工完成。原因在于 MFA 设备的绑定依赖真人手持设备完成二维码扫描与动态码校验这一交互过程无法被 Terraform 自动化。因此即使你全面采用 IaC 管理 AWS 资源MFA 激活仍是必须保留的人工步骤实践上常见的折衷是用 Terraform 管好密码策略、用户、组与策略把 MFA 激活固化进标准操作流程SOP文档。验证与延伸用 Credential Report 检查 MFA 覆盖情况配置完成并不意味着万事大吉——账号级设置与用户实际执行之间往往存在差距。仓库中的 Credential Report 练习 恰好提供了验证手段创建/下载 IAM 凭据报告Credential Report然后回答是否存在未激活 MFA 的用户是否存在启用了密码但长期未使用或未改密的用户解释凭据报告的使用场景。该练习的 solution 指出凭据报告可用于识别在安全方面需要关注或协助的用户例如长期未改密、未激活 MFA 的用户。这与本练习形成天然的闭环——先用本练习把门槛立起来再用凭据报告持续审计每个用户是否真的跨过了门槛。对于报告中发现未激活 MFA 的管理员用户应参照上文 MFA 激活步骤尽快绑定设备。小结一道练习串起的 IAM 加固链路回顾整个 password_policy_and_mfa 练习 及其 solution它实际演示了 IAM 账户级安全加固的完整链路设定基线通过更改密码策略将最短密码长度、数字要求与密码复用限制一次性作用于账户内所有用户提升因子通过我的安全凭证 → 激活 MFA为账户增加动态第二因子弥补纯密码认证的短板自动化表达用 Terraform 的aws_iam_account_password_policy将密码策略固化为代码随仓库版本管理而 MFA 部分明确保留为 GUI 人工操作持续审计借助 Credential Report 核对每个用户的 MFA 与密码状态形成配置 → 激活 → 审计的闭环。在真实生产环境中这套组合强密码策略 强制 MFA 最小权限 凭据审计正是 AWS IAM 安全基线的核心构件。你可以将本练习作为蓝本结合 AWS 主题 README 中 IAM 相关的全部问答与 Create a User 练习 的用户/组/策略编排搭建一套完整的、可落地的 IAM 加固演练环境。赞分享文档教程DevOps运维【免费下载链接】devops-exercisesLinux, Jenkins, AWS, SRE, Prometheus, Docker, Python, Ansible, Git, Kubernetes, Terraform, OpenStack, SQL, NoSQL, Azure, GCP, DNS, Elastic, Network, Virtualization. DevOps Interview Questions项目地址https://gitcode.com/GitHub_Trending/de/devops-exercises点击查看免费下载相关推荐AWS SDK for PythonBoto3IAM 全面实战用户、策略、访问密钥、服务器证书与账户别名管理AWS SDK for PythonBoto3IAM 全面实战用户、策略、访问密钥、服务器证书与账户别名管理 导读 AWS Identity and Ac后端云原生使用 AWS SDK for PythonBoto3操作 IAM从用户、角色、策略到账户管理的完整实战指南使用 AWS SDK for PythonBoto3操作 IAM从用户、角色、策略到账户管理的完整实战指南 导读 本文以 python/example_c示例工程教程后端AWS EC2 实战使用 User Data 与 Terraform 启动一个 Web 实例devops-exercises 演练AWS EC2 实战使用 User Data 与 Terraform 启动一个 Web 实例devops exercises 演练 本文基于开源仓库 de文档教程DevOps运维上一篇lefthook 在 CI 环境中的行为控制CI 与 LEFTHOOK 环境变量完全指南下一篇GeoLibre 的 Fedora COPR 打包实现从二进制 RPM 重打包 spec 到 CI 自动发布创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表