我在2960/3560x/3650/3850/9200/9300的几台设备上测试了一下,是不支持security passwords xxx的命令的
如果想要实现密码复杂度设置建议搭配外置aaa认证,通过外置身份源的密码规则进行强度约束。
此外如果启用aaa new-model之后,可以设置aaa common-criteria policy POLICY_NAME来约束密码
aaa common-criteria policy policy-test
min-length 12
max-length 127
lower-case 1
special-case 1
char-changes 3
!
username dc1 common-criteria-policy policy-test password 7 12380714325A5E577E282D3B303A
但这个命令仅在3650/3850或更新的设备上生效,2960测试有点异常,输入的密码不符合要求的时候并不会报错,而是直接不写入配置,没有任何提示,会有一种误认为设置成功的假象。(3560x没有验证,感觉大概率也是相同的结果。)还有就是它并不会阻止你使用username xxx password xxx来直接创建用户。所以密码是否符合复杂度取决于你是否调用了policy
如果你同时要约束多个不同型号的设备,让其密码具备一定的复杂度,建议还是使用外置aaa配置,这样更为灵活统一。
不需要,直接配置本地用户名密码即可,不依赖外部aaa服务器,因为这个是给本地用户调用的策略
登录设备的方式取决于line下面的认证方式设置,默认情况下是login authentication default,如果没其他特殊需求,不修改vty的设置也可以用。如果有其他aaa的配置,可以考虑手动配置一个认证方式,然后应用到vty下面,这样查询配置会更为直观
例如:(vty使用定义的VTY认证方式,console使用定义的CONN认证方式,这都是可选配置,默认启用aaa new-model默认使用本地用户名密码)
SW11#sh run | in aaa
aaa new-model
aaa authentication login VTY local
aaa authentication login CONN line
aaa session-id common
SW11#
SW11#sh run | s line
aaa authentication login CONN line
line con 0
login authentication CONN
line aux 0
line vty 0 4
login authentication VTY
transport input all
SW11#
您遇到的问题很可能是由于不同系列的交换机在配置命令上的差异导致的。您提到的 security passwords min-length命令可能不适用于您列出的这几款交换机型号。
口令复杂度策略的配置方式
对于您提到的这几款经典型号的交换机,配置口令复杂度策略通常涉及以下核心命令和步骤。请注意,不同系列和IOS版本的命令可能存在差异。
·启用密码复杂度检查:首先,您需要全局启用密码复杂度要求。
(config) # passwords complexity enable这个功能默认可能是启用的,它强制新设置的密码必须满足一定的复杂度规则。
·设置最小密码长度:您遇到的 security passwords min-length命令可能不正确。更常见的命令是:
(config) # passwords complexity min-length 8这个命令将最小密码长度设置为8个字符。
·配置字符类型要求:要实现“密码必须包含大小写字母、数字和特殊符号”的要求,关键在于设置密码必须包含的字符类别(Character Classes)的最小数量。通常,字符被分为四类:小写字母、大写字母、数字、特殊符号。您可以使用以下命令:
(config) # passwords complexity min-classes 4这条命令要求密码必须同时包含来自全部4种字符类别的字符,从而满足您的安全要求。
其他复杂度规则:您还可以配置其他规则来进一步加强安全性,例如:
(config) # passwords complexity no-repeat 3 ! 限制同一字符不能连续出现超过3次
(config) # passwords complexity not-username ! 密码不能与用户名相同
(config) # passwords complexity not-current ! 新密码不能与当前密码相同重要提示与注意事项
在配置前,有几个关键点需要您特别留意:
1.型号与软件版本差异:这是最关键的一点。上述命令主要基于Cisco小型业务交换机(如SG350X)或特定IOS版本的文档。对于2960、3560、3650这类传统企业级交换机,具体的配置命令和可用性取决于其运行的IOS或IOS-XE版本。较老的版本可能不支持 passwords complexity命令集。
2.使用帮助功能:在交换机的全局配置模式下,您可以通过输入 ?来查看可用的命令。例如,输入 passwords complexity ?可以列出所有与该命令相关的选项,这是确认命令是否正确的最直接方法。
3.策略生效范围:成功配置后,此复杂度策略将对新设置的以下密码生效:enable secret、用户名密码、以及可能的口令恢复密码等。
4.保存配置:完成所有设置后,别忘了使用 copy running-config startup-config命令将当前配置保存到启动配置中,以便设备重启后配置不会丢失。
如何进一步确认?
如果您的设备不支持上述命令,我建议您:
·在设备的特权EXEC模式下,使用 show run | include password或 show passwords configuration(如果支持)来查看当前的密码相关配置。
·查阅与您设备具体型号和精确IOS版本号完全对应的官方配置指南。这是获取最准确信息的方式。
希望这些信息能帮助您更准确地定位和解决问题!