RADIUS TACACS+ 和本地密码的身份验证顺序
Junos OS 演化版支持不同的身份验证方法,包括本地密码身份验证、RADIUS 和 TACACS+,以控制对网络的访问。
将设备配置为支持多种身份验证方法时,可以确定设备尝试不同方法的顺序。本主题讨论身份验证顺序的工作原理以及如何在设备上对其进行配置。
身份验证顺序概述
您(网络管理员)可以配置语句, authentication-order
以确定 Junos OS Evolved 尝试不同身份验证方法来验证用户对路由器或交换机的访问权限的顺序。如果未设置身份验证顺序,则默认情况下, Junos OS Evolved 会根据用户配置的本地密码来验证用户。
如果身份验证顺序包括 RADIUS 或 TACACS+ 服务器,但服务器不响应请求,则 Junos OS Evolved 始终默认尝试本地密码身份验证作为最后的手段。
如果身份验证顺序包括 RADIUS 或 TACACS+ 服务器,但服务器拒绝请求,则请求的处理会更加复杂。
-
如果(本地密码身份验证)包含在身份验证顺序的末尾,并且远程身份验证服务器拒绝身份验证请求,则
password
设备将尝试本地密码身份验证。 -
如果(本地密码身份验证)未包含在身份验证顺序中,并且远程身份验证服务器拒绝身份验证请求,则
password
请求以拒绝结束。注意:在 Junos OS 演化版 20.4R1 及更早版本中,如果远程认证服务器拒绝请求,设备仍会尝试本地密码认证。
因此,设备必须包含 password
作为最终身份验证顺序选项,以便设备在远程身份验证服务器拒绝请求时尝试本地密码身份验证。
如果身份验证顺序设置为 authentication-order password
,则设备仅使用本地密码身份验证。
使用远程身份验证
您可以将 Junos OS 演化版配置为 RADIUS 或 TACACS+ 身份验证客户端(或两者兼而有之)。
如果语句中包含的 authentication-order
身份验证方法不可用,或者身份验证方法可用,但相应的身份验证服务器返回拒绝响应, Junos OS Evolved 将尝试语句中包含的 authentication-order
下一个身份验证方法。
RADIUS 或 TACACS+ 服务器身份验证可能会由于以下一个或多个原因而失败:
-
已配置身份验证方法,但未配置相应的身份验证服务器。例如,语句中包含
authentication-order
RADIUS 和 TACACS+ 身份验证方法,但相应的 RADIUS 或 TACACS+ 服务器未在各自的[edit system radius-server]
[edit system tacplus-server]
层次结构级别进行配置。 -
如果未配置超时,则身份验证服务器不会在该服务器配置的超时值之前或默认超时之前进行响应。
-
由于网络问题,无法访问身份验证服务器。
由于以下一个或两个原因,身份验证服务器可能会返回拒绝响应:
-
访问路由器或交换机的用户配置文件未在身份验证服务器上配置。
-
用户输入不正确的登录凭据。
如何使用本地密码身份验证
您可以在语句中authentication-order
显式配置password
身份验证方法,也可以在远程身份验证服务器发生故障时将此方法用作回退机制。password
身份验证方法查询在层次结构级别配置的[edit system login]
本地用户配置文件。在以下场景中,用户可以使用本地用户名和密码登录路由器或交换机:
-
密码认证方法 (
password
) 显式配置为语句中的authentication-order
身份验证方法之一。在这种情况下,如果没有以前的身份验证方法接受登录凭据,设备将尝试本地密码身份验证。无论以前的身份验证方法无法响应,还是由于用户名或密码不正确而返回拒绝响应,都是如此。
-
密码身份验证方法未显式配置为语句中的
authentication-order
身份验证方法之一。在这种情况下,仅当所有配置的身份验证方法都无法响应时,操作系统才会尝试本地密码身份验证。如果任何配置的身份验证方法由于用户名或密码不正确而返回拒绝响应,则操作系统不使用本地密码身份验证。
注意:在 Junos OS 演化版 20.4R1 及更早版本中,无论其他身份验证方法返回拒绝响应还是无法响应,Junos OS 演化版仍会尝试本地密码身份验证。
身份验证尝试顺序
表 1 介绍了层次结构级别的语句[edit system]
如何authentication-order
确定 Junos OS 用于验证用户访问设备的过程。
语法 |
身份验证尝试顺序 |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
如果配置了 SSH 公钥,则 SSH 用户身份验证首先尝试执行公钥身份验证,然后再使用语句中 authentication-order
配置的身份验证方法。如果希望 SSH 登录使用语句中 authentication-order
配置的身份验证方法,而无需先尝试执行公钥身份验证,请不要配置 SSH 公钥。
配置 RADIUS、TACACS+ 和本地密码身份验证的身份验证顺序
使用该 authentication-order
语句,您可以在验证用户对路由器或交换机的访问权限时,确定 Junos OS Evolved 尝试不同身份验证方法的顺序。如果未设置身份验证顺序,则默认情况下,将根据用户本地配置的密码来验证用户。
使用纯文本配置密码并依靠 Junos OS 演化 版进行加密时,您仍会以纯文本形式通过互联网发送密码。使用预加密的密码更安全,因为这意味着密码的纯文本永远不必通过互联网发送。此外,使用密码时,一次只能将一个用户分配给密码。
另一方面,RADIUS 和 TACACS+ 对密码进行加密。这些身份验证方法允许您一次分配一组用户,而不是逐个分配用户。但以下是这些身份验证系统的不同之处:
-
RADIUS 使用 UDP;TACACS+ 使用 TCP。
-
RADIUS 在传输过程中仅加密密码,而 TACACS+ 加密整个会话。
-
RADIUS 结合了身份验证(设备)和授权(用户),而 TACACS+ 将身份验证、授权和问责分开。
简而言之,TACACS+ 比 RADIUS 更安全。但是,RADIUS 具有更好的性能并且更具互操作性。RADIUS 受到广泛支持,而 TACACS+ 是 Cisco 的专有产品,在 Cisco 之外并未得到广泛支持。
您可以根据系统、系统限制以及 IT 策略和操作首选项来配置身份验证顺序。
要配置身份验证顺序,请在层次结构级别包含 authentication-order
语句 [edit system]
。
[edit system] user@host# set authentication-order [authentication-methods ]
有关可包含此语句的层次结构级别的列表,请参阅此语句的语句摘要部分。
以下是可能的认证订单输入选项:
-
radius
- 使用 RADIUS 身份验证服务器验证用户。 -
tacplus
— 使用 TACACS+ 身份验证服务器验证用户。 -
password
— 使用在层次结构级别的身份验证语句[edit system login user]
中本地配置的用户名和密码验证用户。
质询握手身份验证协议 (CHAP) 身份验证序列不能超过 30 秒。如果对客户端进行身份验证的时间超过 30 秒,则会放弃身份验证并启动新序列。
例如,假设您配置了三个 RADIUS 服务器,以便路由器或交换机尝试与每个服务器联系三次。进一步假设,每次重试时,服务器都会在 3 秒后超时。在这种情况下,在 CHAP 将其视为失败之前给予 RADIUS 身份验证方法的最长时间是 27 秒。如果向此配置添加更多 RADIUS 服务器,则可能不会联系它们,因为在尝试这些服务器之前可能会放弃身份验证过程。
Junos OS 演化 版对 CHAP 认证一次可以拥有的常设认证服务器请求数实施限制。因此,当超过此限制时,身份验证服务器方法(例如 RADIUS)可能无法对客户端进行身份验证。如果身份验证失败,路由器或交换机将重新启动身份验证序列,直到身份验证成功并建立链路。但是,如果 RADIUS 服务器不可用,并且还配置了其他身份验证方法(如 tacplus
或 password
),则会尝试下一个身份验证方法。
以下示例说明如何配置 radius
和 password
身份验证:
[edit system] user@switch# set authentication-order [ radius password ]
下面的示例演示如何在语句之后radius
插入tacplus
语句:
[edit system] user@switch# insert authentication-order tacplus after radius
以下示例说明如何从身份验证顺序中删除 radius
语句:
[edit system] user@switch# delete authentication-order radius
示例:配置身份验证顺序
此示例说明如何配置用户登录的身份验证顺序。
要求
开始之前,请执行初始设备配置。请参阅适用于您设备的入门指南。
概述
您可以配置设备用于验证用户对设备的访问权限的身份验证方法顺序。对于每次登录尝试,设备将按配置的顺序尝试身份验证方法,直到密码匹配或尝试了所有身份验证方法。如果未配置远程身份验证,则会根据用户配置的本地密码对其进行验证。
此示例将设备配置为首先使用 RADIUS 身份验证服务尝试用户身份验证,然后使用 TACACS+ 身份验证服务,最后使用本地密码身份验证。
使用本地密码身份验证时,必须为要访问系统的每个用户创建一个本地用户帐户。但是,使用远程身份验证服务器时,可以创建一组用户共享的模板帐户(用于授权目的)。将用户分配给模板帐户时,命令行界面 (CLI) 用户名为登录名;但是,用户从模板帐户继承特权、文件所有权和有效用户 ID。
配置
程序
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改与您的网络配置匹配所需的任何详细信息,将命令复制并粘贴到层次结构级别的 CLI [edit]
中,然后进入 commit
配置模式。
delete system authentication-order set system authentication-order radius insert system authentication-order tacplus after radius insert system authentication-order password after tacplus
分步过程
要配置身份验证顺序:
-
删除任何现有
authentication-order
语句。[edit] user@host# delete system authentication-order
-
将 RADIUS 身份验证添加到身份验证顺序。
[edit] user@host# set system authentication-order radius
-
将 TACACS+ 身份验证添加到身份验证顺序中。
[edit] user@host# insert system authentication-order tacplus after radius
-
将本地密码身份验证添加到身份验证顺序。
[edit] user@host# insert system authentication-order password after tacplus
结果
在配置模式下,输入 show system authentication-order
命令确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明以进行更正。
[edit] user@host# show system authentication-order authentication-order [ radius tacplus password ];
配置设备后,进入 commit
配置模式。
要完全设置 RADIUS 或 TACACS+ 身份验证,必须至少配置一个 RADIUS 或 TACACS+ 服务器,并创建用户帐户或用户模板帐户。
-
配置 RADIUS 服务器。请参阅 示例:配置 RADIUS 服务器以进行系统身份验证。
-
配置 TACACS+ 服务器。请参阅 示例:配置 TACACS+ 服务器以进行系统身份验证。
-
配置用户。请参阅 示例:配置新用户帐户。
-
配置模板帐户。请参阅 示例:创建模板帐户。
更改历史记录表
功能支持由您使用的平台和版本决定。使用 功能资源管理器 确定您的平台是否支持某个功能。