目录

简介

先决条件

要求

使用的组件

规则

RADIUS 背景

客户端/服务器端模式

网络安全

灵活的认证机制

服务器代码可用性

比较 TACACS+ 和 RADIUS

UDP 和 TCP

数据包加密

认证 和 授权

多协议支持

路由器管理

互操作性

Traffic

设备支持

相关信息

简介

两个用于控制网络访问的典型安全协议是 Cisco TACACS+ 和 RADIUS。RFC 2865 中介绍了 RADIUS 规范，RFC 2138 已淘汰。 Cisco 致力于为两种协议提供一流的支持。Cisco 的目的不是与 RADIUS 竞争，或鼓励用户使用 TACACS+。您应该选择最能满足您需要的解决方案。本文档讨论 TACACS+ 和 RADIUS 之间的区别，使您能够做出合理的选择。

从 1996 年 2 月发行 Cisco IOS® 软件版本 11.1 以后，Cisco 就开始支持 RADIUS 协议。Cisco 通过新的特征和功能，不断增强 RADIUS 客户端，将 RADIUS 作为标准来支持。

在开发 TACACS+ 之前，Cisco 将 RADIUS 作为安全协议进行了认真评估。TACACS+ 协议中包含的许多功能，能够满足日益发展的安全市场的需要。该协议旨在跟随网络一起发展，能够成为成熟市场中的新安全技术。TACACS+ 协议的底层体系结构与独立身份验证、授权和记帐 (AAA) 体系结构互补。

先决条件

要求

本文档没有任何特定的要求。

使用的组件

本文档不限于特定的软件和硬件版本。

规则

有关文档规则的详细信息，请参阅 Cisco 技术提示规则。

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 服务器包括用于 Windows 的 Cisco Secure ACS、用于 UNIX 的 Cisco Secure ACS 以及 Cisco Access Registrar。

比较 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 属性，则只要供应商们实现相同的属性，就可以实现这些供应商之间的互操作性。然而，许多供应商实施的扩展都是专有属性。如果客户使用某个供应商特有的扩展属性，就不能实现互操作性。

Traffic

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

TACACS+ 流量示例

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

RADIUS 流量示例

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

设备支持

下表列出了各种设备对选定平台支持的 TACACS+ 和 RADIUS AAA。包括已添加支持的软件版本。如果您的产品不在此列表中，请查看产品发行版本注释来了解详情。

Cisco 设备

TACACS+ 身份验证

TACACS+ 授权

TACACS+ 记帐

RADIUS 身份验证

RADIUS 授权

RADIUS 记帐

Cisco Aironet 1

12.2(4)JA

12.2(4)JA

12.2(4)JA

所有接入点

所有接入点

所有接入点

Cisco IOS软件^2

10.33

10.33

10.333

11.1.1

11.1.14

11.1.15

Cisco 缓存引擎

—

—

—

1.5

1.56

—

Cisco Catalyst 交换机

2.2

5.4.1

5.4.1

5.1

5.4.14

5.4.15

Cisco CSS 11000 内容服务交换机

5.03

5.03

5.03

5.0

5.04

—

Cisco CSS 11500 内容服务交换机

5.20

5.20

5.20

5.20

5.204

—

Cisco PIX 防火墙

4.0

4.07

4.28,5

4.0

5.27

4.28,5

Cisco Catalyst 1900/2820 交换机

8.x企业^9

—

—

—

—

—

Cisco Catalyst 2900XL/3500XL 交换机

11.2.(8)SA6^10

11.2.(8)SA6^10

11.2.(8)SA6^10

12.0(5)WC5^11

12.0(5)WC511、4

12.0(5)WC511、5

Cisco VPN 3000集中器^6

3.0

3.0

—

2.012

2.0

2.012

Cisco VPN 5000 集中器

—

—

—

5.2X^12

5.2X^12

5.2X^12

表注释

1. 除了 Cisco IOS 软件版本 12.2(4)JA 或更高版本以外，仅限无线客户端的终端，不包括管理流量。在 Cisco IOS 软件版本 12.2.(4)JA 或更高版本中，可以对无线客户端的终端和管理流量进行身份验证。

2. 查看 Feature Navigator（现在被 Software Advisor（仅限注册用户）取代），以了解 Cisco IOS 软件内的平台支持。

3. 直到 Cisco IOS 软件版本 11.1.6.3 才实现命令记帐。

4. 无命令授权。

5. 无命令记帐。

6. 仅限 URL 阻塞，不包括管理流量。

7. 通过 PIX 的非 VPN 流量的授权。

注意：版本5.2 — 访问列表支持访问控制列表(ACL)RADIUS供应商特定属性(VSA)或TACACS+授权，用于终止于PIX版本6.1的VPN流量 — 支持终止于PIX版本6.2.2的VPN流量的ACL RADIUS属性1授权 — 支持对于在PIX版本6.2上终止的VPN流量的RADIUS授权的可下载ACL — 支持通过TACACS+对PIX管理流量进行授权。

8. 仅限通过 PIX 的非 VPN 流量的记帐，不包括管理流量。

注意：版本5.2 — 支持对通过PIX的VPN客户端TCP数据包进行记账。

9. 仅限企业版软件。

10. 需要 8M 闪存用于映像。

11. 仅限 VPN 终端。

相关信息

- RADIUS 支持页

- IOS 文档中的 TACACS+

- TACACS/TACACS+支持页面

- 请求注解 (RFC)

- 技术支持和文档 - Cisco Systems