TACACS+使用TCP端口49
TACACS+的操作分为三部分:authentication(认证),authority(授权),accounting(记账)
- authentication(认证):用来辨识用户的身份
- authority(授权):只有在认证后才能授权,给用户相应的权限
- accounting(记账):记账用来追踪用户的行为
- 这三个部分相互独立
authentication(认证)
认证主要使用三种报文:
- START :当用户尝试连接时,发送这种数据包进行初始化
- REPLY :在认证过程中,AAA服务器发送这种数据包
- CONTINUE :AAA客户端(NAS)用来提交用户名,密码和其他额外的信息到AAA服务器
在第七步之后,TACACS服务器会发送REPLY数据包通知AAA客户端是认证成功还是失败,这里有4种值:
- ACCEPT :用户认证通过,如果NAS被配置为要求授权,那么授权操作开始
- REJECT :用户认证没通过,用户被拒绝进一步接入或者会被TACACS+守护进程要求重新进行登陆
- ERROR :认证过程出现错误,可能是TACACS+守护进程或者NAS到TACACS+守护进程的网络连接出现问题。如果AAA客户端收到ERROR的消息,AAA客户端会尝试使用其他的方式认证用户
- CONTINUE :用户被进一步的要求提供其他的认证信息
authority(授权)
授权主要使用两种报文:
- REQUEST :是由AAA客户端发送的
- RESPONSE :是由AAA服务器发送的
这里第三步服务器发送到客户端的RESPONSE消息中可能包含下面的一种回复:
- FAIL :表明授权请求没有被授予
- PASS_ADD : 授权通过,但是服务器会请求其他信息。
- PASS_REPL : 服务器选择忽略AAA客户端发送的REQUEST报文,并且在RESPONSE中返回REQUEST中的内容
- FOLLOW :AAA服务器希望AAA客户端发送授权信息到另外一台服务器,这个RESPONSE报文中包含另一台AAA服务器的相关信息。AAA客户端可以选择到那台服务器上进行授权或者简单的把这个回复认作FAIL
- ERROR :, AAA服务器出错,通常是AAA服务器和客户端的预共享密钥不匹配,也有可能是其他的原因
accounting(记账)
记账会发送record到AAA服务器,包括下列三种记录:
- Start record :表示记账服务开始,并包含授权过程的信息和具体的记账信息
- Stop record :表示记账服务结束或终止,并同样包含授权过程的信息和具体的记账信息
- Continue record :也叫做Watchdog,允许AAA客户端提供更新信息到AAA服务器,并同样包含授权过程的信息和具体的记账信息
AAA服务器也会发送下面几种响应
- SUCCESS :表明服务器接收了AAA客户端发送的记录
- ERROR :表明服务器没有提交收到的记录到数据库
- FOLLOW :表明服务器希望AAA客户端发送记录到另外一台AAA服务器,这个RESPONSE报文中包含另一台AAA服务器的相关信息