管理员密码 PBKDF2 算法
管理员密码 PBKDF2 算法
功能简介
从 FortiOS 7.2.11、7.4.8、7.6.1 开始,FortiGate 在配置中保存管理员密码时,哈希算法从 SHA256 更新为 PBKDF2,以增强管理员密码的安全性。该变化只影响配置中保存的管理员本地密码哈希,不改变管理员登录方式。
升级到上述版本后,已有管理员密码不会在升级瞬间全部自动改写为 PBKDF2。管理员首次在新版本中成功登录,或由 super_admin 管理员手动修改该管理员密码后,FortiGate 才会把对应账号的 password 哈希更新为 PBKDF2。
哈希前缀可以用于快速判断当前状态:
SH2:SHA256,常见于 FortiOS 7.2.10、7.4.7、7.6.0 及更早版本生成的管理员密码哈希。PB2:PBKDF2,表示管理员密码已经按新算法保存。
查看方法
升级后可以检查 config system admin 中各管理员账号的 password ENC 前缀,确认是否已经迁移到 PBKDF2。例如,以下输出中 admin 已经成功登录过新版本,因此密码哈希前缀为 PB2;ops_admin 还保持旧版本生成的 SH2 哈希。
# show system admin
config system admin
edit "admin"
set accprofile "super_admin"
set vdom "root"
set password ENC PB2GKSknZGJstyTsTuPx3F/4VxjcgtX24aMlBacJHZOaBZUmnX6ce7VVqoBTFul8C+3phcIM+r9BOK61V2joGJIMh6SF6ZEohxTtnGGRx+IB3M=
next
edit "ops_admin"
set accprofile "prof_admin"
set vdom "root"
set password ENC SH2kJALD4njD7Iqy7ldtKq/vBZosD+iTZYlvbcEfEj1u/x/EvnUuwpp4fOjoz4=
next
end迁移方法
如果希望所有管理员账号都使用 PBKDF2 哈希,可以按以下 2种 方式处理:
方法一:要求所有本地管理员在升级后的 FortiOS 版本中至少成功登录一次(任意登录方式,如SSH/Web),密码哈希方式会自动变为 PBKDF2。
方法二:也可以针对
SH2哈希的管理员账号,由super_admin管理员手动修改密码。再次查看该管理员配置,确认password ENC已经变为PB2前缀。config system admin edit "ops_admin" set password <new_password> next end show system admin config system admin edit "ops_admin" set accprofile "prof_admin" set vdom "root" set password ENC PB2GKSknZGJstyTsTuPx3F/4VxjcgtX24aMlBwyJHZOaBZUmnX5te7VVqoBTFul8C+3phcIM+r9BOK62V6joGJIMh6SF6ZEohxTtnGGRx+IB5M= next end
old-password 兼容字段
出于向后兼容考虑,管理员密码更新为 PBKDF2 后,旧的 SHA256 哈希可能仍然保存在隐藏的 old-password 字段中。该字段在管理员登录 FortiGate 后执行普通 show 命令时不可见,但 super_admin 导出的配置备份中可能看到类似内容:
config system admin
edit "admin"
set old-password ENC SH2xxxxxxxx
set accprofile "super_admin"
set vdom "root"
set password ENC PB2xxxxxxxx
next
end如果需要彻底移除 old-password 中保留的 SH2 哈希,可以在密码策略中启用弱加密/降级锁定相关选项。
FortiOS 7.6 分支使用
login-lockout-upon-weaker-encryption:config system password-policy set login-lockout-upon-weaker-encryption enable endFortiOS 7.2.x 和 7.4.x 分支使用
login-lockout-upon-downgrade:config system password-policy set login-lockout-upon-downgrade enable end
提示
启用该选项时,CLI 会提示确认风险:
The setting "login-lockout-upon-weaker-encryption" enhances the resistance of stored passwords against brute force attacks.
Once enabled, changing the FortiOS firmware to a version where safer passwords are unsupported will lock out administrative users.
Do you want to continue? (y/n)y警告
启用弱加密/降级锁定选项后,如果再降级到不支持 PBKDF2 管理员密码哈希的 FortiOS 版本,只有 PB2 哈希且没有兼容 old-password 的管理员账号可能无法登录。计划降级前,应先确认目标版本支持当前密码哈希,或保留一个可在目标版本登录的本地管理员账号。
注意事项
- 仅管理员成功登录或管理员密码被重新设置时,对应账号的
password哈希才会刷新。仅完成 FortiOS 升级并不代表所有管理员账号都已经改为PB2。 - 如果配置备份会被导出到外部系统,建议在完成迁移后检查备份中是否仍存在
old-password ENC SH2,并按变更窗口评估是否启用弱加密/降级锁定选项。