本人原创文章, 原文发表于思科社区:
【原创】ASA AAA with ISE using TACACS+ 命令授权问题一例
Symptoms
ssh 0.0.0.0 0.0.0.0 Inside
enable password EnablePass
route Inside ISE_Primary_IP 255.255.255.255 10.52.67.6
route Inside ISE_Standby_IP 255.255.255.255 10.52.67.6
username admin password Pass privilege 15
aaa-server ISE_TACACS protocol tacacs+
aaa-server ISE_TACACS (Inside) host ISE_Primary_IP
key Shared_Secret_Key
aaa-server ISE_TACACS (Inside) host ISE_Standby_IP
key Shared_Secret_Key
aaa authentication ssh console ISE_TACACS LOCAL
aaa authentication enable console LOCAL
aaa authorization command ISE_TACACS LOCAL
aaa accounting command ISE_TACACS
ISE端无需赘述,简单配置下"Network Resources"中的"Network Devices"即可;至于策略相关配置,可以参考下《ISE 2.0: ASA CLI TACACS+ Authentication and Command Authorization Configuration Example》
ISE关联域控AD,使用域账号登录ASA防火墙.
然而,以上配置结束后,使用域账号ross
可以登录到ASA的用户配置模式,但是输入enable命令后敲入对应密码提示"Command authorization failed";
登录ISE查看 Work Centers -> Device Administration -> Reports -> TACACS Authorization 发现,居然使用的enable_15
这个用户进行的授权,授权必然失败了~
同时,在用户模式下敲任何命令,都会提示"Command authorization failed
"
Diagnosis
Google和Cisco站内搜索相关文件,配置基本大同小异,未能解决;
最后开了CASE,由TAC给出解决方案
Solution
由TAC给出解决方法:
ASA上创建和域账号用户名一模一样的本地用户名,密码和enable密码一致或其他密码(不必要和域账户密码一样);
然后,使用域账户登录上来后,enable后输入本地对应的密码即可登录(此处的密码为和域账户一致的ASA本地用户名对应的密码)
完整配置模板:
ssh 0.0.0.0 0.0.0.0 Inside
enable password EnablePass
route Inside ISE_Primary_IP 255.255.255.255 10.52.67.6
route Inside ISE_Standby_IP 255.255.255.255 10.52.67.6
username ross password EnablePass privilege 15
aaa-server ISE_TACACS protocol tacacs+
aaa-server ISE_TACACS (Inside) host ISE_Primary_IP
key Shared_Secret_Key
aaa-server ISE_TACACS (Inside) host ISE_Standby_IP
key Shared_Secret_Key
aaa authentication ssh console ISE_TACACS LOCAL
aaa authentication enable console LOCAL
aaa authorization command ISE_TACACS LOCAL
aaa accounting command ISE_TACACS
注意:
本地用户的字母大小写敏感,使用域账户登陆时用户名字母大小写应该和ASA防火墙上对应本地用户名大小写保持一致;否则会导致enable密码进入特权模式失败;
目前观察,ISE上只记录ASA对配置产生变更的防火墙命令,show命令不做记录.
猜测 By Ross
应该是传统ASA和Catalyst交换机实现AAA认证的机制略有不同,
猜测当敲enable进入特权模式时,运行机制认为使用的是enable_15
用户,或者enable
这个命令被当做用户名了?
具体细节不清除,也未找到相关思科官方文档去参考;
不过之前配置Gigamon的AAA(同样使用ISE作为ACS服务器)时,也需要本地建立一个和域账号用户名一致的账户.
所以我有了上面的猜测.