02-Password Control配置
本章节下载: 02-Password Control配置 (277.74 KB)
目 录
Password Control(密码管理)是设备提供的密码安全管理功能,它根据管理员定义的安全策略,对本地用户登录密码、super密码的设置、老化、更新等方面进行管理,并对用户的登录状态进行控制。关于本地用户类型的详细介绍,请参见“安全配置指导”中的“AAA”。关于super密码的详细介绍,请参见“基础配置指导”中的“RBAC”。
管理员可以限制用户密码的最小长度。当设置用户密码时,如果输入的密码长度小于设置的最小长度,系统将不允许设置该密码。
管理员可以设置用户密码的组成元素的组合类型,以及至少要包含每种元素的个数。密码的组成元素包括以下4种类型:
· [A~Z]
· [a~z]
· [0~9]
· 32个特殊字符(空格~`!@#$%^&*()_+-={}|[]\:”;’<>,./),详细配置指导请参考“基础配置指导”中的“CLI”。
密码元素的组合类型有4种,具体涵义如下:
· 组合类型为1表示密码中至少包含1种元素;
· 组合类型为2表示密码中至少包含2种元素;
· 组合类型为3表示密码中至少包含3种元素;
· 组合类型为4表示密码中包含4种元素。
当用户设置密码时,系统会检查设定的密码是否符合配置要求,只有符合要求的密码才能设置成功。
密码的复杂度越低,其被破解的可能性就越大,比如包含用户名、使用重复字符等。出于安全性考虑,管理员可以设置用户密码的复杂度检测功能,确保用户的密码具有较高的复杂度。具体实现是:配置用户密码时,系统检测输入的密码是否符合一定的复杂度要求,只有符合要求的密码才能设置成功。目前,复杂度检测功能对密码的复杂度要求包括以下两项:
· 密码中不能包含用户名或者字符顺序颠倒的用户名。例如,用户名为“abc”,那么“abc982”或者“2cba”之类的密码就不符合复杂度要求。
· 密码中不能包含连续三个或以上的相同字符。例如,密码“a111”就不符合复杂度要求。
管理员可以设置用户登录设备后修改自身密码的最小间隔时间。当用户登录设备修改自身密码时,如果距离上次修改密码的时间间隔小于配置值,则系统不允许修改密码。例如,管理员配置用户密码更新间隔时间为48小时,那么用户在上次修改密码后的48小时之内都无法成功进行密码修改操作。
有两种情况下的密码更新并不受该功能的约束:用户首次登录设备时系统要求用户修改密码;密码老化后系统要求用户修改密码。
密码老化时间用来限制用户密码的使用时间。当密码的使用时间超过老化时间后,需要用户更换密码。
当用户登录时,如果用户输入已经过期的密码,系统将提示该密码已经过期,需要重新设置密码。如果输入的新密码不符合要求,或连续两次输入的新密码不一致,系统将要求用户重新输入。对于FTP用户,密码老化后,只能由管理员修改FTP用户的密码;对于Web、Telnet、SSH、Terminal(通过Console口登录设备)用户可自行修改密码。
在用户登录时,系统判断其密码距离过期的时间是否在设置的提醒时间范围内。如果在提醒时间范围内,系统会提示该密码还有多久过期,并询问用户是否修改密码。如果用户选择修改,则记录新的密码及其设定时间。如果用户选择不修改或者修改失败,则在密码未过期的情况下仍可以正常登录。对于FTP用户,只能由管理员修改FTP用户的密码;对于Web、Telnet、SSH、Terminal(通过Console口登录设备)用户可自行修改密码。
管理员可以设置用户密码过期后在指定的时间内还能登录设备指定的次数。这样,密码老化的用户不需要立即更新密码,依然可以登录设备。例如,管理员设置密码老化后允许用户登录的时间为15天、次数为3次,那么用户在密码老化后的15天内,还能继续成功登录3次。
系统保存用户密码历史记录。
设备管理类本地用户和用户角色切换的密码是以哈希运算后的密文方式保存,无法还原为明文密码,因此在配置新的设备管理类本地用户密码或用户角色切换密码时:如果新密码以哈希方式设置,则不和所有记录的历史密码以及当前密码比较;如果新密码以明文方式配置,则新密码要与所有记录的历史密码以及当前密码不同,当需要用户输入旧密码校验时,还要检查新密码和用户输入的旧密码至少有4个字符不同,且这4个字符必须互不相同,否则密码更改失败。
可以配置每个用户密码历史记录的最大条数,当密码历史记录的条数超过配置的最大历史记录条数时,新的密码历史记录将覆盖该用户最老的一条密码历史记录。
由于为设备管理类本地用户配置的密码在哈希运算后以密文的方式保存,配置一旦生效后就无法还原为明文密码,因此,设备管理类本地用户的当前登录密码,不会被记录到该用户的密码历史记录中。
当全局密码管理功能开启后,用户首次登录设备时,缺省情况下,系统会输出相应的提示信息要求用户修改密码,否则不允许登录设备。这种情况下的修改密码不受密码更新时间间隔的限制。如果不希望用户首次登录设备时必须修改密码,可以关闭首次登录修改密码功能。
通过记录认证失败用户和维护黑名单中表项的锁定状态,设备可限制异常用户登录。
FTP用户和通过VTY或Web方式访问设备的用户在认证失败后,其IP地址和用户名会被加入密码管理的黑名单;通过AUX用户线登录的用户在认证失败后,其用户名会被加入密码管理的黑名单。
不同IP地址的用户采用同一个用户名登录时,若登录设备失败,则设备会针对每个IP地址记录黑名单表项。配置密码管理黑名单中同一用户名可记录的最大表项数后,当设备记录的该用户加入密码管理黑名单的表项数超过配置的最大值之后,若该用户采用新的IP地址再次登录认证失败,则该用户名相关的最早一条黑名单记录表项会被删除,新的记录被加入黑名单列表。
密码尝试次数限制可以用来防止恶意用户通过不断尝试来破解密码。
当用户连续尝试认证的失败累加次数达到设置的尝试次数时,系统对用户的后续登录行为有以下三种处理措施:
· 对于FTP用户和通过VTY或Web方式访问设备的用户,永久禁止该用户通过登录失败IP地址登录;对于通过AUX用户线访问设备的用户,永久禁止该用户通过AUX用户线登录。只有管理员把该用户从密码管理的黑名单中删除后,该用户才能重新登录。
· 不对该用户做禁止,允许其继续登录。在该用户登录成功后,该用户会从密码管理的黑名单中删除。
· 禁止登录一段时间后,再允许其重新登录。当配置的禁止时间超时或者管理员将其从密码管理的黑名单中删除,该用户才可以重新登录。
管理员可以限制用户帐号的闲置时间,禁止在闲置时间之内始终处于不活动状态的用户登录。若用户自从最后一次成功登录之后,在配置的闲置时间内再未成功登录过,那么该闲置时间到达之后此用户账号立即失效,系统不再允许使用该账号的用户登录。
通过Telnet、SSH、HTTP、HTTPS方式登录的设备管理类用户,输入登录密码时,系统会根据当前设定的Password control密码组合检测策略、密码最小长度限制以及密码复杂度用户名检查策略对用户的登录密码进行检查,若不符合以上密码检查策略要求,则视为弱密码。
缺省情况下,用户使用弱密码登录设备时,系统会打印提示信息,但不会强制用户修改密码,即使用弱密码也可以登录设备。若需要提高设备使用的安全性,可通过命令行开启弱密码登录修改密码功能,开启该功能后会禁止Telnet、SSH、HTTP、HTTPS方式登录的设备管理类用户使用弱密码登录,要求用户修改密码,直到密码组合策略、密码长度以及密码复杂度用户名检查策略的设定符合设备要求。
出于安全考虑,用户输入密码时,系统将不回显用户的密码。
当用户成功修改密码或用户登录失败加入密码管理黑名单时,系统将会记录相应的日志。
设备存储空间不足会造成以下两个影响:
· 不能开启全局密码管理功能;
· 全局密码管理功能处于开启的状态下,用户登录设备失败。
本特性的各功能可支持在多个视图下配置,各视图可支持的功能不同。而且,相同功能的命令在不同视图下或针对不同密码时有效范围有所不同,具体情况如下:
· 系统视图下的全局配置对所有本地用户密码都有效;
· 用户组视图下的配置只对当前用户组内的所有本地用户密码有效;
· 本地用户视图下的配置只对当前的本地用户密码有效;
· 为super密码的各管理参数所作的配置只对super密码有效。
对于本地用户密码的各管理参数,其生效的优先级顺序由高到低依次为本地用户视图、用户组视图、系统视图。
Password Control配置任务如下:
(1) 开启密码管理
(2) (可选)配置全局密码管理
(3) (可选)配置用户组密码管理
(4) (可选)配置本地用户密码管理
(5) (可选)配置super密码管理
开启全局密码管理功能,是除密码的组合检测管理功能、密码最小长度管理功能以及检查密码中是否包含用户名或者字符顺序颠倒的用户名功能之外,其他密码管理功能生效的前提。若要使得具体的密码管理功能(密码老化、密码历史记录检测)生效,还需开启指定的密码管理功能。
开启全局密码管理功能,有以下配置限制和指导:
· 开启设备管理类本地用户全局密码管理功能后,设备管理类本地用户密码以及super密码的配置将不被显示,即无法通过相应的display命令查看到设备管理类本地用户密码以及super密码的配置。
· 设置的本地用户密码必须至少由四个不同的字符组成。
· Password Control会记录用户配置密码时的UTC时间。如果因设备断电重启等原因,UTC时间与Password Control记录的UTC时间不一致,可能导致密码老化管理功能出错。因此,为保证密码老化管理功能的正常工作,建议设备通过NTP(Network Time Protocol,网络时间协议)协议获取UTC时间。关于NTP的详细介绍,请参见“网络管理和监控配置指导”中的“NTP”。
· 开启全局密码管理功能后,设备自动生成后缀名为“dat”的文件并保存于存储介质中用于记录本地用户的认证、登录信息。请不要手工删除或修改该文件。
· 开启全局密码管理功能后,系统会持续记录历史密码。当记录的某用户的历史密码条数达到最大值后,该用户的后续新密码历史记录将覆盖最老的一条密码历史记录。只有关闭全局密码管理功能(undo password-control enable)或手动清除历史密码记录时(reset password-control history-record),历史密码记录才会被清除掉。
(1) 进入系统视图。
system-view
(2) 开启全局密码管理功能。
password-control enable
缺省情况下,全局密码管理功能均处于关闭状态。
(3) (可选)开启指定的密码管理功能。
password-control { aging | composition | history | length } enable
缺省情况下,各密码管理功能均处于开启状态。
系统视图下的全局密码管理参数对所有设备管理类的本地用户生效。
设备管理类用户支持所有的密码管理功能,其中对密码老化时间、密码最小长度、密码复杂度检查策略、密码组合策略以及用户登录尝试失败后的行为的配置,可分别在系统视图、用户组视图、本地用户视图下配置相关参数,其生效优先级从高到低依次为:本地用户视图->用户组视图->系统视图。
除用户登录尝试失败后的行为配置属于即时生效的配置,会在配置生效后立即影响密码管理黑名单中当前用户的锁定状态以及这些用户后续的登录之外,其它全局密码管理配置生效后仅对后续登录的用户以及后续设置的用户密码有效,不影响当前用户。
(1) 进入系统视图。
system-view
(2) 控制密码设置
¡ 配置用户密码的最小长度。
password-control length length
缺省情况下,用户密码的最小长度为10个字符。
¡ 配置用户密码的组合策略。
password-control composition type-number type-number [ type-length type-length ]
缺省情况下,密码元素的组合类型至少为2种,至少要包含每种元素的个数为1个。
¡ 配置用户密码的复杂度检查策略。
password-control complexity { same-character | user-name } check
缺省情况下,对用户密码中是否包含用户名或者在字符顺序颠倒的用户名进行检查,但对用户密码中是否包含连续三个或以上的相同字符不进行检查。
¡ 配置每个用户密码历史记录的最大条数。
password-control history max-record-number
缺省情况下,每个用户密码历史记录的最大条数为4条。
(3) 管理密码更新与老化
¡ 配置用户密码更新的最小时间间隔。
password-control update-interval interval
缺省情况下,用户密码更新的最小时间间隔为24小时。
¡ 配置用户密码的老化时间。
password-control aging aging-time
缺省情况下,用户密码的老化时间为90天。
¡ 配置密码过期前的提醒时间。
password-control alert-before-expire alert-time
缺省情况下,密码过期前的提醒时间为7天。
¡ 配置密码过期后允许用户登录的时间和次数。
password-control expired-user-login delay delay times times
缺省情况下,密码过期后的30天内允许用户登录3次。
(4) 控制用户登录
¡ 开启全用户线登录用户的黑名单功能。
password-control blacklist all-line
缺省情况下,开启全局密码管理功能后,全用户线登录用户的黑名单功能处于关闭状态,设备仅对通过FTP用户和通过VTY或Web方式访问设备的用户开启黑名单功能。
¡ 配置密码管理黑名单中同一用户名可记录的最大表项数
password-control per-user blacklist-limit max-number
缺省情况下,密码管理黑名单中同一用户名可记录的最大表项数为32。
¡ 配置用户登录尝试次数以及登录尝试失败后的行为。
password-control login-attempt login-times [ exceed { lock | lock-time time | unlock } ]
缺省情况下,用户登录尝试次数为3次;如果用户登录失败,则1分钟后再允许该用户重新登录。
¡ 配置用户帐号的闲置时间。
password-control login idle-time idle-time
缺省情况下,用户帐号的闲置时间为90天。
用户账号闲置超时后该账号将会失效,用户将无法正常登录设备。若不需要账号闲置时间检查功能,可将idle-time配置为0,表示Password Control对账号闲置时间无限制。
¡ 配置用户认证的超时时间。
password-control authentication-timeout timeout
缺省情况下,用户认证的超时时间为600秒。
本功能仅对telnet和终端接入类型的登录用户生效。
¡ 关闭首次登录修改密码功能。
undo password-control change-password first-login enable
¡ 开启弱密码登录修改密码功能。
password-control change-password weak-password enable
缺省情况下,弱密码登录修改密码功能处于关闭状态。
(1) 进入系统视图。
system-view
(2) 创建用户组,并进入用户组视图。
user-group group-name
缺省情况下,不存在任何用户组。
用户组的相关配置请参见“安全配置指导”中的“AAA”。
(3) 配置用户组的密码老化时间。
password-control aging aging-time
缺省情况下,采用全局密码老化时间。
(4) 配置用户组的密码最小长度。
password-control length length
缺省情况下,采用全局密码最小长度。
(5) 配置用户组密码的组合策略。
password-control composition type-number type-number [ type-length type-length ]
缺省情况下,采用全局密码组合策略。
(6) 配置用户组密码的复杂度检查策略。
password-control complexity { same-character | user-name } check
缺省情况下,采用全局密码复杂度检查策略。
(7) 配置用户组登录尝试次数以及登录尝试失败后的行为。
password-control login-attempt login-times [ exceed { lock | lock-time time | unlock } ]
缺省情况下,采用全局的用户登录尝试限制策略。
(1) 进入系统视图。
system-view
(2) 创建设备管理类本地用户,并进入本地用户视图。
¡ 创建设备管理类本地用户,并进入本地用户视图
local-user user-name class manage
缺省情况下,不存在任何本地用户。
本地用户的相关配置请参见“安全配置指导”中的“AAA”。
(3) 配置本地用户的密码老化时间。
password-control aging aging-time
缺省情况下,采用本地用户所属用户组的密码老化时间。
仅设备管理类本地用户支持此配置。
(4) 配置本地用户的密码最小长度。
password-control length length
缺省情况下,采用本地用户所属用户组的密码最小长度。
(5) 配置本地用户的密码组合策略。
password-control composition type-number type-number [ type-length type-length ]
缺省情况下,采用本地用户所属用户组的密码组合策略。
(6) 配置本地用户密码的复杂度检查策略。
password-control complexity { same-character | user-name } check
缺省情况下,采用本地用户所属用户组的密码复杂度检查策略。
(7) 配置本地用户登录尝试次数以及登录尝试失败后的行为。
password-control login-attempt login-times [ exceed { lock | lock-time time | unlock } ]
缺省情况下,采用本地用户所属用户组的用户登录尝试限制策略。
仅设备管理类本地用户支持此配置。
(1) 进入系统视图。
system-view
(2) 配置super密码的老化时间。
password-control super aging aging-time
缺省情况下,密码的老化时间为90天。
(3) 配置super密码的最小长度。
password-control super length length
缺省情况下,密码的最小长度为10个字符。
(4) 配置super密码的组合策略。
password-control super composition type-number type-number [ type-length type-length ]
缺省情况下,密码元素的组合类型至少为2种,至少要包含每种元素的个数为1个。
在完成上述配置后,在任意视图下执行display命令可以显示配置后Password Control的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除Password Control统计信息。
操作 |
命令 |
显示密码管理的配置信息 |
display password-control [ super ] |
显示用户认证失败后,被加入密码管理黑名单中的用户信息 |
display password-control blacklist [ user-name user-name | ip ipv4-address ] |
清除密码管理黑名单中的用户 |
reset password-control blacklist [ user-name user-name ] |
清除用户的密码历史记录 |
reset password-control history-record [ user-name user-name | super [ role role-name ] ] |
有以下密码管理需求:
· 全局密码管理策略:用户2次登录失败后就永久禁止该用户通过现有的IP地址登录;最小密码长度为16个字符,密码老化时间为30天;允许用户进行密码更新的最小时间间隔为36小时;密码过期后60天内允许登录5次;用户帐号的闲置时间为30天;不允许密码中包含用户名或者字符顺序颠倒的用户名;不允许密码中包含连续三个或以上相同字符;密码元素的最少组合类型为4种,至少要包含每种元素的个数为4个。
· 切换到用户角色network-operator时使用的super密码管理策略:最小密码长度为24个字符,密码元素的最少组合类型为4种,至少要包含每种元素的个数为5个。
· 本地Telnet用户test的密码管理策略:最小密码长度为24个字符,密码元素的最少组合类型为4种,至少要包含每种元素的个数为5个,密码老化时间为20天。
# 开启全局密码管理功能。
<Sysname> system-view
[Sysname] password-control enable
# 配置用户2次登录失败后就永久禁止该用户通过现有的IP地址登录。
[Sysname] password-control login-attempt 2 exceed lock
# 配置全局的密码老化时间为30天。
[Sysname] password-control aging 30
# 配置全局的密码的最小长度为16。
[Sysname] password-control length 16
# 配置密码更新的最小时间间隔为36小时。
[Sysname] password-control update-interval 36
# 配置用户密码过期后的60天内允许登录5次。
[Sysname] password-control expired-user-login delay 60 times 5
# 配置用户帐号的闲置时间为30天。
[Sysname] password-control login idle-time 30
# 开启在配置的密码中检查包含用户名或者字符顺序颠倒的用户名的功能。
[Sysname] password-control complexity user-name check
# 开启在配置的密码中检查包含连续三个或以上相同字符的功能。
[Sysname] password-control complexity same-character check
#配置全局的密码元素的最少组合类型为4种,至少要包含每种元素的个数为4个。
[Sysname] password-control composition type-number 4 type-length 4
# 配置super密码的最小长度为24。
[Sysname] password-control super length 24
# 配置super密码元素的最少组合类型为4种,至少要包含每种元素的个数为5个。
[Sysname] password-control super composition type-number 4 type-length 5
# 配置切换到用户角色network-operator时使用的super密码为明文123456789ABGFTweuix@#$%!。
[Sysname] super password role network-operator simple 123456789ABGFTweuix@#$%!
# 添加设备管理类本地用户test。
[Sysname] local-user test class manage
# 配置本地用户的服务类型为Telnet。
[Sysname-luser-manage-test] service-type telnet
# 配置本地用户的最小密码长度为24个字符。
[Sysname-luser-manage-test] password-control length 24
# 配置本地用户的密码元素的最少组合类型为4种,至少要包含每种元素的个数为5个。
[Sysname-luser-manage-test] password-control composition type-number 4 type-length 5
# 配置本地用户的密码老化时间为20天。
[Sysname-luser-manage-test] password-control aging 20
# 以交互式方式配置本地用户密码。
[Sysname-luser-manage-test] password
Password:
Confirm :
Updating user information. Please wait ... ...
[Sysname-luser-manage-test] quit
# 可通过如下命令查看全局密码管理的配置信息。
<Sysname> display password-control
Global password control configurations:
Password control: Enabled(device management users)
Password aging: Enabled (30 days)
Password length: Enabled (16 characters)
Password composition: Enabled (4 types, 4 characters per type)
Password history: Enabled (max history record:4)
Early notice on password expiration: 7 days
User authentication timeout: 600 seconds
Maximum login attempts: 2
Action for exceeding login attempts: Lock
Minimum interval between two updates: 36 hours
User account idle time: 30 days
Logins with aged password: 5 times in 60 days
Password complexity: Enabled (username checking)
Enabled (repeated characters checking)
Password change: Enabled (first login)
Disabled (mandatory weak password change)
All line: Disabled (all line blacklist)
# 可通过如下命令查看super密码管理的配置信息。
<Sysname> display password-control super
Super password control configurations:
Password aging: Enabled (90 days)
Password length: Enabled (24 characters)
Password composition: Enabled (4 types, 5 characters per type)
# 可通过如下命令查看到本地用户密码管理的配置信息。
<Sysname> display local-user user-name test class manage
Total 1 local users matched.
Device management user test:
State: Active
Service type: Telnet
User group: system
Bind attributes:
Authorization attributes:
Work directory: flash:
User role list: network-operator
Password control configurations:
Password aging: 20 days
Password length: 24 characters
Password composition: 4 types, 5 characters per type
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!