每当使用AAA / TACACS +登录网络设备时,如果我在用户名提示后加了密码提示,即使密码正确,第二个密码提示也总是失败。我必须再次等待用户名提示,并且必须在紧随其后的第一个密码提示中输入正确的密码。换句话说,每当我看到第二个密码提示时,它都将不起作用。

请参阅下面的经过清理的交互和配置。

User Access Verification
Username: user-name
Password:

Password:    (always fails here)
% Access denied

User Access Verification
Username: user-name
Password:

Connected to s-site-rack-agg2.example.net on line 1 (site-name).
s-site-rack-agg2#


使用第二个密码提示来解决此问题可能有何不同?

我具有的典型AAA和相关配置是:

aaa new-model
aaa authentication login default group tacacs+ local line
aaa authentication login CONSOLE none
aaa authentication enable default group tacacs+ enable
aaa authorization exec default group tacacs+ local if-authenticated
aaa authorization commands 1 default group tacacs+ local if-authenticated
aaa authorization commands 7 default group tacacs+ local if-authenticated
aaa authorization commands 15 default group tacacs+ local if-authenticated
aaa accounting exec default start-stop group tacacs+
aaa accounting commands 0 default start-stop group tacacs+
aaa accounting commands 1 default start-stop group tacacs+
aaa accounting commands 7 default start-stop group tacacs+
aaa accounting commands 15 default start-stop group tacacs+
aaa accounting system default start-stop group tacacs+
!
ip tacacs source-interface Loopback0
tacacs-server host -prmiaryipremoved- single-connection
tacacs-server host -secondaryipremoved- single-connection
tacacs-server timeout 10
tacacs-server directed-request
tacacs-server key 7 -removed-
!
line con 0
 login authentication CONSOLE
line vty 0 4
 location -removed-
 exec-timeout 60 0
 password 7 -removed-
 transport input telnet ssh


评论

由于失败的密码要花费> TACACS返回答复的超时时间,因此请不要再深入了解了,因此第二个提示是来自行密码。正确的密码立即得到了TACACS的响应。移至较新的ACS服务器可解决此问题,且配置相同,因此看起来像是ACS问题。

#1 楼

尝试此操作时,我将在您的TACACS +服务器上进行调试。

我假设您只想使用TACACS身份验证,并且在无法访问TACACS +服务器时仅回退到本地登录服务器?

请尝试使用此工具:aaa authentication login default group tacacs+ line aaa authentication enable default group tacacs+ enable

也请访问此站点:它具有一些很好的示例和说明

http://my.safaribooksonline .com / book / networking / cisco-ios / 0596527225 / tacacsplus / i13896_heada_4_2#X2ludGVybmFsX0h0bWxWaWV3P3htbGlkPTA1OTY1MjcyMjUlMkZpNTAzNjNfX2hlYbr
aaa authentication login default group tacacs+ local line配置。
如果您拥有line vty

,那么它将执行用户名/密码身份验证,否则将执行密码

评论


向Q添加了经过消毒的线路配置。

–generalnetworkerror
13年6月3日在8:00

从调试的非常简短的角度来看,由于输入了错误的密码,ACS似乎没有足够快地返回,因为这种情况是我唯一一次看到报告了TACACS服务器超时的情况。所有其他时间都有零超时。

–generalnetworkerror
2013年6月3日8:25

#2 楼

我认为您的配置非常危险,如果您使用“启用/线路”或“本地”作为后备,似乎犹豫不决,正确的答案是本地的,从不使用“启用”,尤其是从不使用“线路”(线路是两个-

我建议改用此配置:

aaa new-model
! uses tacacs, fallsback to local user if tacacs not working
aaa authentication login default group tacacs+ local
! user gets enabled by tacacs or by enable password
aaa authentication enable default group tacacs+ enable
! console user is authorized as well (gets enabled, if such permission)
aaa authorization console
! configuration commands are authorized as well as exec commands (Good to prevent dangerous commands)
aaa authorization config-commands
! user privilege level is recovered from tacacs or from local account
aaa authorization exec default group tacacs+ local
! level 15 commands are authorized (you really only need this) 
aaa authorization commands 15 default group tacacs+ if-authenticated 
! level 1, 15 commands are logged (you really only need these two)
aaa accounting commands 1 default start-stop group tacacs+
aaa accounting commands 15 default start-stop group tacacs+
!
! fallback user consulted only when tacacs is broken
username sikrit privilege 15 secret <password>

但是如果您出于某种原因想要使用它,我确实添加了对“启用”的支持。

如果您使用的是OOB,并且已经对OOB进行了安全性/身份验证,则可能希望允许OOB用户始终使用本地身份验证,以防万一TACACS损坏了,但IOS误认为它不是,那么您需要添加类似以下内容:

aaa authentication login CONSOLE local
!
line con 0
 login authentication CONSOLE


评论


具有AAA身份验证登录默认组tacacs +本地线路的想法是,如果AAA模板部署在TACACS中断且未定义本地用户的设备上,则使用线路密码作为包罗万象。实际上,我的配置中没有我最初未显示过的aaa身份验证登录控制台。 (是的,我确实比我本来应该更信任物理控制台对设备的访问。)

–generalnetworkerror
2013年6月3日7:58

实际上,我无法在实验室中复制您遇到的问题。如果您未配置“本地”密码,并且IOS认为无法访问TACACS,那么询问“行”密码是很有意义的,但是对我来说,对于可访问的TACACS,它并不会退回到“行”。可能是IOS或TACACS中的错误,使身份验证失败看起来像是TACACS连接失败(没有“单连接”可能值得尝试)

–ytti
2013年6月3日8:08



没有第二个相应的用户名提示的第二个密码提示是否可以明确地告诉我们,在没有为本地身份验证创建任何本地用户的系统上,该密码无法输入系统? [aaa身份验证登录默认组tacacs +本地线路。] tacacs +失败,因为没有本地用户,所以跳过了本地,因此线路密码呢?

–generalnetworkerror
2013年6月18日5:56



我不认为它应该在tacacs + auth_failure上进行回退,而应该只在缺少tacacs +答复时这样做。因此,我将研究IOS为何认为tacacs +无法响应的选项(我认为它正在响应)。也许要尝试的一件事是不同的tacacs配置(例如删​​除单连接),如果是IOS错误,则可能会删除错误触发器。

–ytti
13年6月18日在6:06

您可能没有看到我对有关调试的另一个答案的评论,该评论表明tacacs +仅在密码错误时才花费30秒以上的时间做出响应。到那时,系统认为tacacs服务器回复丢失,并转移到auth中的下一个。密码正确时,tacacs响应将立即生效。

–generalnetworkerror
2013年6月18日6:16



#3 楼

我不确定这应该归咎于您的本地设备配置,而是您的TACACS服务器本身。 TACACS会将用户名/密码提示从TACACS服务器(可能还有外部身份存储)代理到设备,因此,如果您使用的是ACS(例如)并设置为与AD对话以进行用户身份验证,则需要认为用户名/密码提示来自域控制器而不是设备本身。

我最近遇到了一个完全像这样的问题,该问题已由ACS的补丁修复-再次,我m假设您正在使用ACS并将其从AD中提取以进行用户身份验证/组验证等。CiscoBug ID为CSCtz03211,基本上ACS 5.3每次向一个“用户名/密码”身份验证尝试发送多次身份验证尝试到AD装置。这将导致以下行为:如果用户在第一次尝试时用手指指了密码,则会将错误的用户名/密码组合的多个实例发送到AD,并且该用户的帐户实际上已被锁定,从而导致随后的登录尝试失败即使用户在第二次尝试中正确键入了用户名/密码(该行为也会因您在AD中为用户帐户设置的锁定阈值而有所不同),也会导致设备损坏。设备本身当然只会给出无用的“登录失败”消息,但是赠品在ACS TACACS身份验证日志中说谎,我们在该日志中看到该帐户已被锁定,因此我建议您在此处查找有关可能是什么的线索。引起您的问题。

只需考虑一下(不了解您的TACACS服务器实现)。