TACACS+和RADIUS比较

2018年8月4日15:53:45 发表评论 480 views

前言

用于的二个突出的安全 协议控制访问到网络是Cisco TACACS+和RADIUS。RADIUS规格 在 RFC 2865 描述 ,废弃 RFC 2138 。 Cisco做支持两个协议与最佳组提供。它不是Cisco的 目的与RADIUS竞争或影响用户使用TACACS+ 。您应该选择最 将好达到需要的解决方案。本文讨论在TACACS+和RADIUS的之 间区别,因此您能使一个通告选择做出。

Cisco从 Cisco IOS软件版本11.1支持® RADIUS协议在1996年2 月。Cisco继续提高RADIUS客户端带有新功能和功能,支持 RADIUS 作为标准。

Cisco严重评估了 RADIUS作为安全协议在开发TACACS+之前。许多功能在 TACACS+协议包括适应增长的安全市场的需要。协议设计扩展 当网络增长和适应新的安全技术当市场成熟。TACACS+协议的 底层体系结构补全独立验证、授权和记帐(AAA)体系结构。

RADIUS背景

RADIUS是使用AAA协议的接入服务器。 它是获 取对网络和网络服务的远程访问未被授权的访问分布式安全的系统 。RADIUS 包括三个组件:

  • 一 个协议带有使用用户数据协议的帧格式(UDP)/IP
  • 一个服务器
  • 一个客户 端

而客户端在拨号接入服务器驻留并 且可以被分配在网络过程中,服务器在一台中央计算机典型地运行 在用户站点。Cisco合并RADIUS客户端到Cisco IOS软件版本 11.1以上和其他设备软件里。

客户端/服务器型号

网络接入服务器(NAS)运 行作为RADIUS的客户端。客户端负责通过用户信息对指定的 RADIUS服务器,然后操作在返回的回应。 RADIUS服务器负责 对收到用户连接请求,验证用户,然后返回所有配置信息必要为客 户端提供服务到用户。RADIUS服务器能作为代理客户端到其 他认证服务器。

网络安全

处理在客户端和RADIUS 服务器之间通过使用分享秘密验证,在网络从未被发送。 另 外,发送所有用户密码被加密在客户端和RADIUS服务器之间,排除 监听在一个不安全的网络的某人可能确定用户密码的可能性。

灵活的认 证机制

RADIUS服务器支 持各种各样的方法验证用户。当它带有用户时和原始密码产 生的用户名,可以支持PPP、密码验证协议(PAP) 或者质询握手验 证协议(CHAP)、UNIX登录和其他认证机制。

服务器代码可用性

商业和自由地有服务器 编码的一定数量的分配可用。Cisco服务器包括 Cisco Secure ACS Windows版、Cisco Secure ACS UNIX版和Cisco 访问注册。

比较TACACS+和RADIUS

以 下部分比较TACACS+和RADIUS几个功能。

UDP和 TCP

当TACACS+使用TCP时 ,RADIUS使用UDP。 TCP提供几个优点胜过UDP。而UDP 提供最佳效果发送,TCP提供面向连接的传输。 RADIUS要求 另外的可编程变量例如转播企图和超时补尝尽力而为传输,但缺乏 TCP传输提供内置支持的级别:

  • 使用 TCP如何提供单独确认请求收到了,在(近似)网络往返时间(RTT之内 )不管装载并且减慢后端验证机制(TCP应答)也许是。
  • TCP提供一失败或者不的立即指示,服务器由重置 (RST负责操行)。您能确定当服务器失效并且回到服务时如果 使用长寿命的TCP连接。UDP不能说出发生故障的服务器,一 个慢速服务器和一个不存在的服务器的之间差别。
  • 使用TCP Keepalive,服务器失败可以被发现带外带 有实际请求。与多个服务器的连接可以同时被维护,并且您 只需要寄发消息到那个被知道是正在运行的。
  • TCP是更加可升级的并且适应生长,并且拥塞,网络 。

信息包加密

RADIUS在访问请求信 息包加密仅密码,从客户端到服务器。信息包的剩下的事末 加密。其他信息,例如用户名,核准的服务和认为,能由第 三方捕获。

TACACS+加密信息包但分 支的整个机体一个标准的TACACS+头。在头之内指示的字段机 体不论是否被加密。为调试目的,它是有用的有信息包的机 体末加密。然而,在正常运行期间,信息包的机体为安全通 信充分地被加密。

认证和授权

RADIUS结合认证和授权。RADIUS服务器发送的 访问接受信息包到客户端包含授权信息。这使它难分离认证 和授权。

TACACS+使用AAA体系结构, 分离验证、授权和记帐。这允许能为授权和记帐仍然使用 TACACS+的独立的身份验证解决方案。 例如,带有TACACS+, 使用Kerberos认证和TACACS+ 授权和记帐是可能的。在NAS在 Kerberos 服务器之后验证,请求授权信息从TACACS+服务器没有必 须重新鉴别。NAS通知TACACS+服务器在Kerberos服务器成功 验证,并且服务器然后提供授权信息。

在会话期间,如果另外特许检查是需要的,接入服务 器检查以TACACS+服务器确定是否同意用户权限使用一个特定命令。 这提供对在接入服务器可以被执行当分离从认证机制时的命 令的更加巨大的控制。

多协议支持

RADIUS不支持以下协 议:

  • AppleTalk远程访问(ARA)协议
  • NetBIOS帧协议控制协议
  • Novell异步服务接口 (NASI)
  • X.25 PAD连接

TACACS+提供多协议支持。

路由器管理

RADIUS不允许用户 控制哪些命令在路由器可以被执行并且哪些不能。所以, RADIUS不是如有用为路由器管理或如灵活为终端服务。

TACACS+提供二个方法控制router命 令的授权根据一个单个用户或单个组的基本类型。第一个方 法将指定权限级别到命令和安排路由器用TACACS+服务器验证用户是 否被认证在指定的权限级别。第二个方法是指定在TACACS+服 务器,在一个单个用户或单个组的基本类型,明确命令允许。

共用

由于RADIUS请求注解 (RFC)的多种解释,遵照RADIUS RFC不保证共用。即使几个 供应商实现RADIUS客户端,这不意味着他们是相互可操作的。 Cisco实现多数RADIUS属性和一致添加更多。如果用户 在他们的服务器使用仅标准RADIUS属性,他们能可能相互运用在几 个供应商之间,提供这些供应商实现同样属性。然而,许多 供应商实现是专有属性的扩展名。如果用户使用这些特定供 应商的扩展属性之一,共用不是可能的。

数据流

由于TACACS+的早先被 援引的区别和RADIUS 、数据流量之间生成在之间客户端和服务器 将有所不同。以下示例说明客户端和服务器的之间数据流为 TACACS+和RADIUS当为路由器管理使用带有认证、EXEC授权、RADIUS 不能执行)的命令授权(时,exec记帐和RADIUS不能执行)的命令记帐。

刚刚完成了一个双路由器插上串口模块的试验,用来深入了解PPP的两个认证协议PAP 和CHAP之间的区别。
1、首先是搭建网络环境,一共两台路由器,分别插上串口模块,使用s0/0相连。
2、首先是配IP地址,一个是192.168.1.1,一个是192.168.1.2。启用这两个接口,使用show查看默认的封装格式,发现是HDLC格式,这个也是思科默认的封装格式。
Router#show interface s0/0
Serial0/0 is up, line protocol is up 
Hardware is M4T
Internet address is 192.168.1.1/24
MTU 1500 bytes, BW 1544 Kbit, DLY 20000 usec, 
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation HDLC, crc 16, loopback not set
Keepalive set (10 sec)
3、然后先ping测试看看能不能连通,因为都是hdlc协议,所以是可以连通的,然后把R1的s0/0口改成ppp封装,然后再ping发现就不能通了,很正常因为封装格式不一样了,一头的封装另一头不能解封装,自然就不能通信了。 
4、把R2也配成PPP封装,两台路由器就又能ping通了。
5、接下来做认证的实验,首先是PAP认证,在R1上建一个用户名和密码。username xiaojuan password 201177。在R1上启用PAP认证,ppp authentication pap,这个时候,R1和R2的链路会断掉,因为R1需要认证身份才能接通,但是R2还没有配置。
6、进入R2中,配置用户名和密码,这个用户名和密码是R1上设置的用户名和密码。当配置好之后,链路就又重新起来了!
7、把前面的配置都no掉,开始配置chap的认证实验,首先还是在R1上建用户名和密码,在R2上也建用户名和密码,两个密码要相同。
8、在主认证方要配置使用chap认证,这里是在R1上配置的。然后在R1上发送R2上建立的用户名,在R2上发送R1上建立的用户名。
Serial0/0 is up, line protocol is up 
Hardware http://www.luyouqiwang.com/13830/ is M4T
Internet address is 192.168.1.1/24
MTU 1500 bytes, BW 1544 Kbit, DLY 20000 usec, 
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation PPP, crc 16, loopback not set
Keepalive set (10 sec)

Restart-Delay is 0 secs
LCP Open
Open: IPCP, CDPCP

比较 TACACS+ 和 RADIUS

以下各个部分比较了 TACACS+ 和 RADIUS 的若干功能。

UDP 和 TCP

RADIUS 使用 UDP,而 TACACS+ 使用 TCP。TCP 提供了几个胜过 UDP 的优点。TCP 提供面向连接的传输,而 UDP 提供尽力传输。RADIUS 需要额外的可编程变量(如重新传输尝试和超时)来补偿尽力传输,但是它缺乏 TCP 传输提供的内置支持水平:

  • 由于使用了 TCP,因此可以单独确认收到的请求,而不管后台身份验证机制(TCP 确认)的负载有多重或有多缓慢,都能在大约一个网络往返时间 (RTT) 之内完成。

  • TCP 可立即指示崩溃、不运行或重置 (RST) 服务器。如果使用长期保持的 TCP 连接,就能确定服务器在何时崩溃、在何时恢复服务。UDP 不能显示发生故障的服务器、慢速服务器和不存在的服务器之间的差别。

  • 使用 TCP Keepalive,可以通过实际请求在带外检测到服务器崩溃。可以同时保持对多台服务器的连接,并且您只需将消息发送到已知启动并运行的那几台。

  • TCP 更容易扩展,并能适应不断扩展以及拥塞的网络。

数据包加密

RADIUS 仅对从客户端到服务器的访问请求数据包中的口令加密。数据包的剩余部分未加密。其他信息,如用户名、获得授权的服务和记帐,可以被第三方捕获。

TACACS+ 会加密数据包的整个正文,但留下标准的 TACACS+ 报头。报头内的字段指示正文是否被加密。使用未加密的数据包正文有助于进行调试。然而在正常操作期间,为了实现更安全的通信,会完全加密数据包的正文。

认证 和 授权

RADIUS 结合了身份验证和授权。RADIUS 服务器向客户端发送的访问接受数据包中包含授权信息。这样就很难分离身份验证和授权。

TACACS+ 使用分离 AAA 的 AAA 体系结构。这就使独立的身份验证解决方案仍然可使用 TACACS+ 进行授权和记帐。例如,使用 TACACS+,就可以使用 Kerberos 身份验证和 TACACS+ 授权和记帐。NAS 在 Kerberos 服务器上经过身份验证后,它可以从 TACACS+ 服务器请求授权信息,而不必重新验证身份。NAS 会通知 TACACS+ 服务器,它已经在 Kerberos 服务器上成功通过身份验证,然后服务器就会提供授权信息。

会话期间,如果需要进行额外的授权检查,则接入服务器会与 TACACS+ 服务器进行核对,确定是否授予了用户使用特定命令的权限。这样可以更好地控制用户能够在接入服务器上执行的命令,同时将授权机制与身份验证机制分离。

多协议支持

RADIUS 不支持这些协议:

  • AppleTalk 远程访问 (ARA) 协议

  • NetBIOS 帧协议控制协议

  • Novell 异步服务接口 (NASI)

  • X.25 PAD 连接

TACACS+ 提供多协议支持。

路由器管理

RADIUS 不允许用户控制哪些命令可以、哪些不可以在路由器上执行。所以,RADIUS 不能用于路由器管理,也不能灵活地适应终端服务。

TACACS+ 提供两种方法来基于每位用户或每个组控制路由器命令授权。第一种方法是为命令分配权限级别,并安排路由器通过 TACACS+ 服务器来验证用户是否已在指定的权限级别内授权。第二种方法是在 TACACS+ 服务器中明确基于每位用户或每个组指定允许的命令。

互通性

由于 RADIUS 请求注解 (RFC) 有多种解释,因此遵循 RADIUS RFC 不能保证互操作性。即使一些供应商实现了 RADIUS 客户端,也并不意味着它们具备互操作性。Cisco 实现了大多数 RADIUS 属性,并将不断加入更多。如果客户在他们的服务器中仅使用标准 RADIUS 属性,则只要供应商们实现相同的属性,就可以实现这些供应商之间的互操作性。然而,许多供应商实施的扩展都是专有属性。如果客户使用某个供应商特有的扩展属性,就不能实现互操作性。

流量

由于 TACACS+ 和 RADIUS 之间存在上述差别,在客户端和服务器之间生成的流量数会有所不同。这些示例说明当 TACACS+ 和 RADIUS 与身份验证、exec 授权、命令授权(RADIUS 无法实现)、exec 记帐和命令记帐(RADIUS 无法实现)一起用于路由器管理时,客户端与服务器之间产生的流量。

TACACS+ 流量示例

此示例假设当用户远程登录到路由器、执行命令、然后退出路由器时,与 TACACS+ 一起实现了登录身份验证、exec 授权、命令授权、开始-停止 exec 记帐和命令记帐:

TACACS+和RADIUS比较

RADIUS 流量示例

此示例假设当用户远程登录到路由器、执行命令、然后退出路由器时(其他管理服务不可用),与 RADIUS 一起实现了登录身份验证、exec 授权和开始-停止 exec 记帐:

TACACS+和RADIUS比较

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: