思科交换机上的AAA / TACACS +密码始终在第二个密码提示符下失败


9

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

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

用户访问验证
用户名:用户名
密码:

密码:(此处总是失败)
% 拒绝访问

用户访问验证
用户名:用户名
密码:

在第1行(站点名称)上连接到s-site-rack-agg2.example.net。
s-site-rack-agg2#

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

我拥有的典型AAA和相关配置为:

aaa新模型
aaa身份验证登录默认组tacacs +本地线路
aaa身份验证登录控制台无
aaa身份验证启用默认组tacacs +启用
aaa授权执行程序默认组tacacs +本地if-authenticated
aaa授权命令1个默认组tacacs +本地if-authenticated
aaa授权命令7个默认组tacacs +本地if-authenticated
aaa授权命令15个默认组tacacs +本地if-authenticated
aaa会计执行官默认启动-停止组tacacs +
aaa accounting命令0缺省启动-停止组tacacs +
aaa accounting命令1个默认的启停组tacacs +
aaa记帐命令7默认的启停组tacacs +
aaa记帐命令15个默认的启停组tacacs +
aaa会计系统默认的起止组tacacs +
!
ip tacacs源接口Loopback0
tacacs服务器主机-prmiaryipremoved-单连接
tacacs服务器主机-secondaryipremoved-单连接
tacacs服务器超时10
塔卡奇服务器定向请求
tacacs-服务器密钥7-已删除-
!
线骗子0
 登录身份验证控制台
行vty 0 4
 位置-已移除-
 执行超时60 0
 密码7-已删除-
 传输输入telnet ssh

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

Answers:


4

当您尝试这样做时,我将在您的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#X2ludGVybmFsX0h0bWxWaWV3P3htbGlkPTA1OTY1MjcyMjUlMkZpNTAzYJNN

我的猜测是,由于您在以下位置输入了“ local”关键字:
aaa authentication login default group tacacs+ local line

TACACS +认证返回失败,因此路由器尝试执行本地认证。我想您应该为我们提供经过line vty清理的配置。如果你有
line vty 0 15
login local

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


新增消毒lineCONFIGS到Q.
generalnetworkerror

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

4

我认为您的配置非常危险,如果您使用“启用/线路”或“本地”作为后备,似乎犹豫不决,正确的答案是本地的,永远不要使用“启用”,尤其是永远不要使用“线路”(线路是两个-方式“加密”而不是单向散列)。

我建议使用此配置:

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>

当tacacs不工作时将使用“ sikrit”用户(如果TACACS回答,则不能使用),而VTY下则不需要“行”密码,因为从未咨询过。不需要“启用”密码,因为从未咨询过。如果要启用未启用的备份用户,只需使用“特权1”创建另一个。
但是,如果您出于某种原因想要使用它,我确实添加了对“启用”的支持。

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

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

aaa authentication login default group tacacs+ local line如果将AAA模板部署在损坏了TACACS且未定义本地用户的设备上,则想法是使用线路密码作为包罗万象。实际上aaa authentication login CONSOLE none,我的配置中实际上没有显示。(是的,我确实比我可能更信任物理控制台对设备的访问。)
generalnetworkerror 2013年

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

没有第二个相应的用户名提示的第二个密码提示是否肯定地告诉我们line在没有为localauth 创建任何本地用户的系统上密码失败?[ aaa authentication login default group tacacs+ local line。] tacacs +失败,因为没有本地用户,所以跳过了本地,因此输入了密码?
generalnetworkerror 2013年

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

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

4

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

我最近遇到了一个完全像这样的问题,该问题已通过ACS的补丁修复-再次,我假设您使用的是ACS,并且已将其从AD中拉出以进行用户身份验证/组验证等。CiscoBug ID为CSCtz03211并且基本上ACS 5.3每次向设备发送一次“用户名/密码”身份验证尝试就向AD发送多次身份验证尝试。这将导致以下行为:如果用户在第一次尝试中用手指指了密码,则会将错误的用户名/密码组合的多个实例发送到AD,并且实际上将用户的帐户锁定,从而导致随后的登录尝试失败即使用户在第二次尝试中正确输入了用户名/密码(该行为也会因您在AD中为用户帐户设置的锁定阈值而有所不同),也会导致设备损坏。

只是要考虑的事情(不了解您的TACACS服务器实现)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.