B BROCENT

公司密码策略模板:对照 NIST SP 800-63B 第 4 版与 Microsoft 365 设置

可直接套用的公司密码策略模板,每条对应 Microsoft 365 与 Entra 设置,已对照 NIST SP 800-63B 第 4 版核对。

键盘与挂锁,象征密码策略
简短回答: 今天好的密码策略很简短,只对关键处严格:密码够长、拦截已知的弱密码、启用多重身份验证(MFA)、除非有泄露证据否则不强制定期改密码。NIST SP 800-63B 第 4 版和微软对 Microsoft 365 的指引方向一致。下面是可以直接贴进制度文件的模板,每一条都标出对应的 Entra 或 Microsoft 365 设置。

本文写给需要起草或更新公司密码策略、并让 Microsoft 365 真正执行它的老板、财务负责人和 IT 负责人。读完你会得到一份模板、准确的管理员操作和 PowerShell 命令,以及一份"Microsoft 365 做不到理想写法"的清单。

内容已于 2026 年 10 月 28 日对照 Microsoft Learn 核对。NIST 部分,我们同日阅读了 SP 800-63B 第 4 版(日期 2025 年 8 月 26 日),页面为 pages.nist.gov/800-63-4/sp800-63b.html。

NIST SP 800-63B 第 4 版对密码怎么说

这不是合规声明,只是对标准内容的概述。只列会改变你写法的要点,措辞来自第 4 版原文。

  1. 长度: 作为唯一验证因素的密码,至少 15 个字符。仅作为多重验证一部分的密码可以短一些,但至少 8 个字符。
  2. 最大长度: 系统应允许至少 64 个字符。
  3. 组成规则: 系统不得强加组成规则,例如要求混用字符类型。
  4. 有效期: 标准要求验证方不得要求定期更换密码,但有证据表明密码已泄露时必须强制更换。
  5. 黑名单: 新密码必须与常用、可预期或已泄露的密码清单比对。
  6. 易用性: 系统应允许粘贴,让密码管理器能用,并应接受 Unicode 字符。
NIST:验证方"SHALL NOT require subscribers to change passwords periodically."

策略模板

复制到你的制度文件,修改方括号中的内容。

  1. 适用范围: 本策略适用于所有登录[公司]系统的员工、外包人员和服务商。
  2. 最小长度: 密码至少 [14] 个字符。不使用多重身份验证的密码至少 15 个字符。(由于第 7 条要求支持 MFA 的账户一律启用,这条 15 个字符的要求只适用于无法使用 MFA 的账户。)
  3. 口令短语: 鼓励使用由几个不相关词语组成的长口令短语。系统必须接受至少 64 个字符的密码。
  4. 不设组成规则: 不要求符号、大写或数字,因为这类规则会把人推向可预测的写法。
  5. 禁用密码: 常见密码清单上的密码,以及包含[公司名]、产品名、办公地点的密码,一律不允许。
  6. 不定期过期: 密码不按时间表过期。怀疑或确认泄露时必须立即更换。
  7. 多重身份验证: 所有支持 MFA 的账户必须启用。邮箱、VPN 和管理员访问绝不只靠密码保护。
  8. 禁止复用: 员工不得把公司密码用于其他网站或服务。
  9. 密码管理器: 员工可以使用公司批准的密码管理器,并可在登录框粘贴密码。
  10. 共享: 绝不通过邮件、聊天或纸条共享密码。共用账户需使用批准的保管库。
  11. 锁定与重置: 多次输错会短时间锁定账户。用户验证身份后通过自助密码重置(SSPR)自行重置。
  12. 特权账户: 管理员使用独立的管理员账户并启用 MFA,不用它收发邮件或上网。
  13. 事件处理: 员工发现疑似泄露须立即报告[IT 联系人]。IT 重置密码、撤销会话并检查登录日志。
  14. 复审: 本策略每 [12] 个月复审一次。

Microsoft 365 能做到什么、做不到什么

Microsoft Learn 说明,仅云端的 Microsoft 365 账户使用预先定义、无法更改的密码策略,你只能修改密码多少天过期,以及是否过期。所以和模板相比有四处差距:

  1. 复杂度: Entra 密码策略要求四类字符(小写、大写、数字、符号)中至少三类,长度 8 到 256 个字符,无法关闭。NIST 主张不设组成规则,所以模板这一条只能靠培训和 MFA 去达成。
  2. 长度: 微软自己的建议是最少 14 个字符,尽管 Microsoft 365 本身只要求至少 8 个。用用户指引、自定义禁用列表和 MFA 来补这个差距。
  3. 有效期: 微软最新指引不鼓励对仅云端账户设置过期,建议密码永不过期。租户默认值是不过期,但 2021 年以前创建的租户默认是 90 天。
  4. Unicode: NIST 说验证方应接受 Unicode 字符,但 Learn 列出 Unicode 字符不允许用于 Entra 密码。

同步账户有所不同:默认只有未经 Microsoft Entra Connect 同步的账户,才能设置为密码不过期。

对应的 Microsoft 365 与 Entra 设置

1. 拦截弱密码与公司专属词语

Microsoft Entra ID 已有全局禁用密码列表。添加自己的词语:

  1. 以至少 Authentication Policy Administrator 的身份登录 Microsoft Entra admin center。
  2. 进入 Entra ID > Authentication methods > Password protection。
  3. 把 Enforce custom list 设为 Yes。
  4. 每行填一个词:公司名、产品名、办公地点、内部缩写。列表最多 1,000 个词,每个 4 到 16 个字符,不分大小写,并涵盖常见替换(例如 "o" 与 "0")。
  5. 选择 Save。变更可能需要数小时才生效。

自定义列表至少需要 Microsoft Entra ID P1 授权。

2. 停止定期过期

先查出谁仍在定期过期,再把密码设为永不过期,需要 User Administrator 或更高权限。先拿一个用户试点。

Connect-MgGraph -Scopes "User.ReadWrite.All","Domain.Read.All"
# 目前谁设置了"永不过期"
Get-MgUser -All -Property UserPrincipalName, PasswordPolicies |
  Select-Object UserPrincipalName,
  @{N="PasswordNeverExpires";E={$_.PasswordPolicies -contains "DisablePasswordExpiration"}}
# 先设一个用户,再设全部用户
Update-MgUser -UserId <user ID> -PasswordPolicies DisablePasswordExpiration
Get-MgUser -All | ForEach-Object { Update-MgUser -UserId $_.Id -PasswordPolicies DisablePasswordExpiration }

运行 Get-MgDomain | Format-List 并读取 PasswordValidityPeriodInDays,可查看租户层面的设置(Learn 的示例输出里,没有设置过期的域显示为 2147483647)。这需要 Domain.Read.All 权限,所以上面的 scopes 已包含它。针对全部用户的设置命令对同步账户会报错,因为默认不能这样设置。这样设置的密码仍按 LastPasswordChangeDateTime 属性计龄。以后如果改回过期,所有上次修改超过 90 天的用户下次登录时都必须改密码。

3. 要求 MFA

按我们的 Microsoft 365 开启 MFA 指南操作,再配置 6 条基础条件访问策略。落地案例可参考香港会计师事务所的 MFA 推行。

4. 锁定与自助重置

默认情况下,输错密码 10 次会锁定账户一分钟,之后再失败锁定时间会增加。智能锁定(smart lockout)不会为重复输入同一个错误密码累加计数。阈值和时长可以自行设置。管理员账户默认启用自助密码重置,采用无法更改的"双重验证门"策略,并禁止使用安全问题。

常见错误

  1. "为保险"保留 90 天过期。 NIST 和微软都不建议定期过期,Learn 也指出强制更换会让人用可预测的密码。
  2. 写了 Microsoft 365 执行不了的条款。 如果制度写"不设复杂度规则",请注明 Entra 的例外,避免审阅人和员工困惑。
  3. 跳过禁用列表。 全局列表不认识你的公司名和办公室所在的街道。
  4. 第一天就全租户设置永不过期。 先测试,并了解同步账户的行为不同。
  5. 忘了管理员和服务账户。 管理员使用独立账户并启用 MFA,服务账户使用保管库里的长随机密钥。
  6. 只靠密码。 没有 MFA,15 个字符的密码也挡不住钓鱼。

怎么确认做成了

  1. 用测试用户登录,尝试设置含公司名的密码,确认被拒绝。
  2. 运行上面的 Get-MgUser 命令,确认"永不过期"一列与你的决定一致。
  3. 查看 Entra ID > Authentication methods > Password protection,确认 Enforce custom list 为 Yes。
  4. 对测试账户连续输入 10 个不同的错误密码(默认阈值;重复输入同一个错误密码不计数),确认锁定行为与策略一致。
  5. 用我们 MFA 指南里的命令导出尚未注册 MFA 的用户并跟进。Microsoft 365 安全审计可以提供对整个租户的独立检查。

FAQ

什么是公司密码策略?

是员工如何创建、保管、共享和重置密码的书面规则,以及密码泄露后怎么办。上面的模板可作为起点。

什么样的密码算好?

由几个不相关词语组成的长口令短语,比满是符号的短字符串更好。我们不在文章里给示例,因为印在文章里的密码就是坏密码。

提示"密码未达到密码策略要求"怎么办?

在 Entra ID 中,新密码需要 8 到 256 个字符,包含四类字符中的三类,不在全局或自定义禁用列表中,修改密码时还要与上一个密码不同。试试更长的口令短语,再加一个数字和符号。

Microsoft 365 的密码策略是什么?

仅云端账户是预先定义的,你只能改过期天数和是否过期。微软建议最少 14 个字符,且不过期。

NIST 密码指南建议什么?

单独使用的密码至少 15 个字符,配合 MFA 至少 8 个字符,支持 64 个字符以上,不设组成规则,不定期更换,并进行黑名单筛查。

需要有人帮你起草并在整个租户里落地这份策略,可以了解我们的网络安全服务。

如果想在动手前先了解完整审计的价格,Microsoft 365 安全审计要花多少钱一文列出了按人数分档的固定价格。

分享:

立即采取行动

将这些洞察转化为您企业的IT路线图。

预约15分钟免费咨询,与我们的亚太IT专家交流。我们将评估您的现有环境,并在24小时内提供定制化IT发展路线图。

探索我们的全部服务
📋

免费清单

进入大中华区IT部署前必须检查的10项关键事项

PIPL合规、网络分段、双语服务台配置等——企业进入中国大陆第一天所需的完整IT准备清单。

获取清单 →