少年乘勇气,百战过乌孙。这篇文章主要讲述TACACS+协议工作原理及双因素/双因子认证应用相关的知识,希望能为你提供帮助。
之前写过一篇《Radius协议认证原理及双因素/双因子认证应用》,TACACS+协议和Radius协议都是AAA协议的一种,核心作用都是认证(Authentication)、授权(Authorization)和计费(Accounting),和Radius协议的区别是:
TACACS+和Radius一样也是C/S架构
图中NAS(网络接入服务器)作为TACACS+客户端,向远程接入用户提供接入及与TACACS+服务器交互的服务。TACACS+服务器上则存储用户的身份信息、授权信息以及访问记录,对用户进行认证、授权和计费服务。
TACACS+工作原理
1、Telnet用户请求登录设备。
【TACACS+协议工作原理及双因素/双因子认证应用】2、TACACS+客户端收到请求之后,向TACACS+服务器发送认证开始报文。
3、TACACS+服务器发送认证回应报文,请求用户名。
4、TACACS+客户端收到回应报文后,向用户询问用户名。
5、用户输入用户名。
6、TACACS+客户端收到用户名后,向TACACS+服务器发送认证持续报文,其中包括了用户名。
7、TACACS+服务器发送认证回应报文,请求登录密码。
8、TACACS+客户端收到回应报文,向用户询问登录密码。
9、用户输入密码。
10、TACACS+客户端收到登录密码后,向TACACS+服务器发送认证持续报文,其中包括了登录密码。
11、TACACS+服务器发送认证回应报文,指示用户通过认证。
12、TACACS+客户端向TACACS+服务器发送授权请求报文。
13、TACACS+服务器发送授权回应报文,指示用户通过授权。
14、TACACS+客户端收到授权回应成功报文,向用户输出设备的配置界面。
15、TACACS+客户端向TACACS+服务器发送计费开始报文。
16、TACACS+服务器发送计费回应报文,指示计费开始报文已经收到。
17、用户请求断开连接。
18、TACACS+客户端向TACACS+服务器发送计费结束报文。
19、TACACS+服务器发送计费结束报文,指示计费结束报文已经收到。
TACACS+协议本身的优势非常明显,那么在双因素/双因子认证领域中如何应用?
TACACS+在双因素/双因子认证领域中的应用TACACS+主要体现在网络设备中,Cisco设备使用的TACACS+协议,华为和华三设备使用的HWTACACS协议,功能一致,以HWTACACS为例:
配置hwtacacs服务器模板(在服务器模板下,指定与交换机对接的服务器的IP地址、端口号(默认为49)和共享密钥,交换机上的配置信息需要与服务器上的信息保持一致)
#
配置AAA方案
hwtacacs-server template ckey
//建立“ckey”hwtacacs服务器模板
hwtacacs-server authentication xxx.xxx.xxx.xxx
//认证服务器地址
hwtacacs-server authorization xxx.xxx.xxx.xxx
//授权服务器地址
hwtacacs-server accounting xxx.xxx.xxx.xxx
//审计服务器地址
hwtacacs-server shared-key cipher ******
//配置共享秘钥******
undo hwtacacs-server user-name domain-included
//取消域名后缀,登录时不需要后缀域名
quit
#
#
注:需要在设备上配置本地用户,以确保在hwtacacs服务器故障的情况下,用户可以本地认证上线
aaa
authentication-scheme ckey1
//创建认证方案ckey1
authentication-mode hwtacacs local
//认证模式为hwtacacs认证,备份认证模式为本地认证
quit
authorization-scheme ckey2
//创建授权方案ckey2
authorization-mode hwtacacs local
//授权模式为hwtacacs授权,备份授权模式为本地授权
authorization-cmd 15 hwtacacs local //用户级别授权
quit
accounting-scheme ckey3
//创建计费方案ckey3
accounting-mode hwtacacs
//计费模式为hwtacacs计费(交换机没有本地计费)
accounting start-fail online
//计费功能启动失败,允许用户上线
accounting interim-fail online
//计费功能临时故障,允许用户上线
quit
#
配置本地用户#
配置域(配置用户所属的域并在域下绑定AAA方案和服务器模板,默认情况下普通用户在default域内,管理员用户在default_admin内)
aaa
local-user user1 password irreversible-cipher ******
//创建用户user1和密码
local-user user1 privilege level 15
//为user1用户授予15级权限
local-user user1 service-type telnet
//授予user1 Telnet权限
quit
#
#
远程登入授权
aaa
domain ckeydas
//创建ckeydas域
authentication-scheme ckey1
//绑定ckey1认证方案
authorization-scheme ckey2
//绑定ckey2授权方案
accounting-scheme ckey3
//绑定ckey3计费方南
hwtacacs-server ckey
//绑定ckey hwtacacs服务器模板
#
#
*
配置方法仅供参考,各设备各版本会有所不同,具体参考官方文档!
user-interface vty 0 4
authentication-mode aaa
#
配合中科恒伦TACACS+服务端,有几个非常大的优势:1、统一用户管理:直接在服务端增删改查用户;
2、统一认证:统一在服务端认证,服务端可启用双因素/双因子认证,即可安全登录;
3、统一授权:在服务端为不同用户分配不同的登录权限,并且可设置允许输入的命令,
4、统一审计:详细记录xx用户在xx时间访问xx设备,并且详细记录该账号的操作命令;
综合来看,TACACS+协议在双因素认证领域中的应用非常成熟,相对Radius协议控制更精细,所以正常情况下我更偏向使用TACACS+协议对接双因素认证。
推荐阅读
- Java网络编程
- Hive基本语法操练
- percona-toolkit 之 pt-archiver
- 结合项目带你了解,Vue组件重复利用,及父组件传递数据给子组件
- [Druid-1.2.9_preview_01源码系列]-4-DruidDataSource初始化时的神操作之自动解析DbType与驱动类
- OpenMAX (OMX)框架
- P5731 深基5.习6蛇形方阵
- P2084 进制转换
- 2019年数二真题(重点题)