TACACS+协议

Posted nceuaprsf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TACACS+协议相关的知识,希望对你有一定的参考价值。

TACACS+协议

TACACS+是思科私有协议
TACACS+使用TCP的49端口进行通信
TACACS+使用会话的概念来定义执行认证,授权,统计的交换数据集,通常每个会话都有单独的连接,但多个会话可以复用到同一个TCP连接中


TACACS+头格式(12字节)

  • major_version:主版本号,等于0xc
  • minor_version:次要版本号,目的为了维护向后的兼容性,默认为0,对一些命令定义了次要版本1
  • type:分组类型(0x01=认证,0x02=授权,0x03=审计)
  • seq_no:当前会话的分组序列,会话第一个分组序号为1,接下来每一个分组序号依次递增。所以,NAS只发送奇数序列号,TACACS+只发送偶数序列号,序列号不会重复
  • flags:该区域包含两个不同标志unencrypted和single connect

    unencrypted:代表是否对TACACS+分组加密

    single connect:代表是否单个TCP连接复用多个TACACS+会话

  • session_id:会话ID,随机数在加密时使用

  • length:TACACS+分组体的总长度(不包括分组头)

TACACS+分组加密

TACACS+对除了分组头之外的整个分局进行加密,RADIUS只加密口令
TACACS+的加密实际是散列(md5)和XOR(异或运算)的结合


TACACS+认证

TACACS+认证的三种类型的分组

  • START
  • REPLY
  • CONTINUE

当NAC收到一个连接请求时开始认证,这时NAS发送一个START消息,该消息包括被执行认证的类型的消息。服务器用一个REPLY消息进行响应,如果需要更多的NAS消息,REPLY消息会给出提示;如果认证结束服务器会发送认证结果的REPLY消息,认证结果可以是以下三种类型:

  • ACCEPT
  • REJECT
  • ERROR:收到ERROR响应NAS一般会试图用另一种可选方法进行认证


TACACS+的授权

TACACS+授权两种类型的分组

  • REQUEST
  • RESPONSE

NAS发送一个REQUEST到TACACS+服务器,REQUEST中包含有关NAS想要AAA服务器授权给客户端的服务或授权消息。服务器用RESPONSE消息响应,RESPONSE包含5种状态:

  • FALL:表示被NAS请求授权给客户端的服务或请求不能给客户端
  • PASS_ADD:REQUEST消息中指定的参数被授权,RESPONSE消息中的参数也被使用
  • PASS_REPL:REQUEST消息中指定的参数不被授权,RESPONSE消息中的参数被使用
  • ERROR:AAA服务器上错误
  • FOLLOW:AAA想让授权发生在另一台AAA服务器上


TACACS+的审计

 TACACS+的审计和授权相似,NAS向服务器发送不同的记录形式,TACACS+有三种统计记录:

  • start:表示一个服务将要开始
  • stop:表示一个服务将要停止或已经停止
  • continue:当服务仍在进行中时发送的消息

NAS发送REQUEST消息到服务器,REQUEST中包括三种记录类型的一种,以及相应的统计属性-值对。服务器用REPLY分组对NAS相应,REPLY可以指定状态有3种:

  • SUCCES:成功
  • ERROR:失败
  • FOLLOW:让NAS发送记录到另一个服务器

以上是关于TACACS+协议的主要内容,如果未能解决你的问题,请参考以下文章

Tacacs+认证详细调研

TACACS+协议工作原理及双因素/双因子认证应用

TACACS 终端访问控制器访问控制系统

Ubuntu14下搭建各种服务器之AAA认证2

NISP二级题库总结

某银行系统ACS认证之TACACS+认证方案