登录设置
Junos OS 使您能够在用户登录设备时为其定义各种设置。您(系统管理员)可以配置:
- 登录前后显示的消息或公告
- 登录时是否显示系统警报
- 登录提示
- 基于时间的用户访问
- 空闲会话的超时值
- 登录尝试次数限制
- 是否在多次身份验证尝试失败后锁定用户帐户
显示系统登录通知或消息
有时,您只想在授权用户登录设备后向他们发布公告。例如,您可能希望宣布即将发生的维护事件。在其他时候,可能适合向连接到设备的任何用户显示消息,例如安全警告。
默认情况下, Junos OS 不显示任何登录消息或公告。您可以通过在层次结构级别包含message
[edit system login]
语句或announcement
语句来配置设备以显示登录消息或通知。设备在用户连接到设备之后但在用户登录之前显示登录 message ,而仅在用户成功登录到设备后显示 announcement 登录。
您可以使用以下特殊字符设置消息或公告文本的格式。如果文本包含空格,请用引号将其括起来:
-
\n - 换行符
-
\t - 水平选项卡
-
\' - 单引号
-
\“ - 双引号
-
\\ - 反斜杠
要配置只有授权用户才能看到的公告和任何用户都能看到的消息,请执行以下操作:
登录时显示系统警报
您可以将瞻博网络设备配置为每当给定登录类中的用户登录到设备时执行 show system alarms
命令。
要在特定登录类中的用户登录设备时显示警报,请执行以下操作:
当给定登录类中的用户登录到设备时,设备将显示当前警报。
$ ssh user@host.example.com Password: --- JUNOS 21.1R2.6-EVO Linux (none) 4.8.28-WR2.2.1_standard-g3999f55 #1 SMP PREEMPT Fri Jun 4 00:19:58 PDT 2021 x86_64 x86_64 x86_64 GNU/Linux 2 alarms currently active Alarm time Class Description 2021-07-22 15:00:14 PDT Minor port-1/0/0: Optics does not support configured speed 2021-07-22 15:00:14 PDT Minor port-1/0/1: Optics does not support configured speed
配置登录提示
您可以将 CLI 配置为 Junos OS 每当给定登录类中的用户登录到设备时显示提示。默认情况下,设备不显示提示。
要启用提示:
配置语句 login-tip
时,设备会向指定类中登录到该设备的任何用户显示提示。
$ ssh user@host.example.com Password: JUNOS tip: In configuration mode, the [edit] banner displays the current location in the configuration hierarchy. user@host>
配置基于时间的用户访问
您可以将受支持的瞻博网络设备配置为对给定类中的用户强制进行基于时间的用户访问。基于时间的用户访问可限制属于该类的所有用户的用户登录时间和持续时间。您可以根据一天中的时间或星期几限制用户访问。
要将用户访问限制为特定日期或时间,请在层次结构级别包含以下语句 [edit system login class class-name]
:
-
allowed-days
- 在一周中的特定日期配置用户访问权限。 -
access-start
和access-end
— 配置指定开始时间和结束时间之间的用户访问权限 (hh:mm)。
要配置基于时间的用户访问,请执行以下操作:
-
在一周中的特定日期启用访问权限。
[edit system login class class-name] user@host# set allowed-days [ day1 day2 ]
例如,要在不对访问时间有任何限制的情况下配置登录类的用户
operator-round-the-clock-access
访问权限:[edit system login class operator-round-the-clock-access] user@host# set allowed-days [ monday tuesday wednesday thursday friday ]
-
在一天中的特定时间启用访问权限。
[edit system login class class-name] user@host# set access-start hh:mm user#host# set access-end hh:mm
例如,要在一周中所有的日子里从上午 8:30 到下午 4:30 配置登录类的用户
operator-day-shift-all-days-of-the-week
访问权限:[edit system login class operator-day-shift-all-days-of-the-week] user@host# set access-start 08:30 user#host# set access-end 16:30
您还可以将访问权限配置为包括日期和时间。以下示例在星期一、星期三和星期五上午 8:30 至下午 4:30 配置登录类的用户 operator-day-shift
访问权限:
[edit system login class operator-day-shift] user@host# set allowed-days [ monday wednesday friday ] user@host# set access-start 08:30 user@host# set access-end 16:30
或者,也可以使用以下格式指定登录类的 operator-day-shift
登录开始时间和结束时间:
[edit system login class operator-day-shift] user@host# set allowed-days [ monday wednesday friday ] user@host# set access-start 08:30am user@host# set access-end 04:30pm
访问开始和结束时间可能跨越给定日期的 12:00 AM。在这种情况下,即使您未在语句中 allowed-days
显式配置该日期,用户在第二天之前仍具有访问权限。
配置空闲登录会话的超时值
空闲登录会话是指 CLI 显示操作模式或配置模式提示,但没有来自键盘的输入的会话。默认情况下,登录会话将保持已建立状态,直到用户注销设备为止,即使该会话处于空闲状态也是如此。要自动关闭空闲会话,必须为每个登录类配置时间限制。如果该类中的用户建立的会话在配置的时间限制内保持空闲状态,则该会话将自动关闭。自动关闭空闲登录会话有助于防止恶意用户访问设备并使用授权用户帐户执行操作。
只能为用户定义的类配置空闲超时。不能为系统预定义类配置此选项:operator
、 read-only
或 super-user
superuser
、 和 unauthorized
。
要定义空闲登录会话的超时值,请执行以下操作:
如果配置超时值,CLI 会在空闲用户超时时显示类似于以下内容的消息。CLI 在断开用户连接前 5 分钟开始显示这些消息。
user@host> Session will be closed in 5 minutes if there is no activity. Warning: session will be closed in 1 minute if there is no activity Warning: session will be closed in 10 seconds if there is no activity Idle timeout exceeded: closing session
如果配置超时值,则会话将在指定的时间过后关闭,但以下情况除外:
-
用户正在运行
ssh
或telnet
命令。 -
用户登录到本地 UNIX 外壳程序。
-
用户正在使用或命令监视
monitor interface
monitor traffic
接口。
登录重试选项
您可以在瞻博网络设备上配置登录重试选项,以保护设备免受恶意用户的侵害。您可以配置以下选项:
-
在系统关闭连接之前,用户可以输入无效登录凭据的次数。
-
在用户达到身份验证尝试失败的阈值后,是否锁定用户帐户以及锁定多长时间。
限制登录尝试并锁定用户帐户有助于保护设备免受恶意用户试图通过猜测授权用户帐户的密码来访问系统的侵害。您可以解锁用户帐户或定义用户帐户保持锁定状态的时间段。
您可以在层次结构级别配置登录重试选项 [edit system login retry-options]
。该 tries-before-disconnect
语句定义设备断开用户连接之前登录尝试失败的阈值。默认情况下,设备允许三次不成功的登录尝试。
该 lockout-period
语句指示设备在用户达到登录尝试失败的阈值时将用户帐户锁定指定的时间量。锁定会阻止用户执行需要身份验证的活动,直到锁定时间段过后或系统管理员手动清除锁定为止。当用户尝试从本地控制台登录时,将忽略任何现有锁。
要配置登录重试选项:
-
配置用户可以尝试输入密码的次数。
[edit system login retry-options] user@host# set tries-before-disconnect number
例如,要使用户能够在设备关闭连接之前输入密码四次,请执行以下操作:
[edit system login retry-options] user@host# set tries-before-disconnect 4
- 配置用户达到登录尝试失败阈值后用户帐户保持锁定状态的分钟数。
[edit system login retry-options] user@host# set lockout-period minutes
例如,要在用户达到登录尝试失败阈值后将用户帐户锁定 120 分钟,请执行以下操作:
[edit system login retry-options] user@host# set lockout-period 120
-
提交配置。
[edit system login retry-options] user@host# commit
要在管理员启动的注销期间清除控制台,请在层次结构级别配置message
[edit system login]
语句时包括换行符 (\n)。要完全清除控制台,管理员可以在消息字符串中输入 50 个或更多 \n 个字符。例如:
user@host# set system login message "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Welcome to Junos!!!"
限制 SSH 和 Telnet 会话的用户登录尝试次数
您可以限制用户在通过 SSH 或 Telnet 登录设备时尝试输入密码的次数。如果用户在达到指定尝试次数后未能登录,设备将终止连接。您还可以指定用户在尝试失败后尝试输入密码之前的延迟(以秒为单位)。此外,您可以指定在用户再次输入密码时遇到延迟之前的失败尝试次数的阈值。
要指定用户在登录时可以尝试输入密码的次数,请在层次结构级别包含 retry-options
语句 [edit system login]
:
[edit system login] retry-options { tries-before-disconnect number; backoff-threshold number; backoff-factor seconds; lockout-period minutes; maximum-time seconds minimum-time seconds; }
您可以配置以下选项:
-
tries-before-disconnect
- 用户通过 SSH 或 Telnet 登录设备时可以输入密码的最大次数。如果用户在指定号码后无法登录,则连接将关闭。范围为 1 到 10,默认值为 3。 -
backoff-threshold
- 用户在再次输入密码时遇到延迟之前失败登录尝试次数的阈值。范围为 1 到 3,默认值为 2。使用该backoff-factor
选项指定延迟的长度。 -
backoff-factor
- 用户在登录尝试backoff-threshold
失败后必须等待的时间长度(以秒为单位)。对于该backoff-threshold
值之后的每次后续尝试,延迟都会增加指定的值。范围为 5 到 10,默认值为 5 秒。 -
lockout-period
- 达到阈值后tries-before-disconnect
用户帐户被锁定的时间长度(以分钟为单位)。范围为 1 到 43,200 分钟。 -
maximum-time seconds
- 连接保持打开状态以供用户输入用户名和密码进行登录的最长时间长度(以秒为单位)。如果用户保持空闲状态并且未在配置maximum-time
的 中输入用户名和密码,则连接将关闭。范围为 20 到 300 秒,默认值为 120 秒。 -
minimum-time
- 当用户尝试输入正确的密码时,连接保持打开状态的最短时间长度(以秒为单位)。范围为 20 到 60,默认值为 20 秒。
限制每个用户的 SSH 和 Telnet 登录尝试次数是阻止暴力攻击损害网络安全的最有效方法之一。暴力攻击者在短时间内执行大量登录尝试,以非法访问专用网络。通过配置 retry-options
语句,您可以在每次失败的登录尝试后创建递增的延迟,最终断开通过您设置的登录尝试阈值的任何用户的连接。
要限制用户通过 SSH 或 Telnet 登录时的登录尝试:
对于以下配置,用户在第二次尝试输入正确密码失败后会遇到 5 秒的延迟。每次后续尝试失败后,延迟都会增加 5 秒。在第四次也是最后一次尝试输入正确密码失败后,用户会遇到额外的 10 秒延迟。连接将在总共 40 秒后关闭。
[edit] system { login { retry-options { backoff-threshold 2; backoff-factor 5; minimum-time 40; tries-before-disconnect 4; } } }
示例:配置登录重试选项
此示例说明如何配置登录重试选项以保护设备免受恶意用户的侵害。
要求
在开始之前,您应该了解 限制 SSH 和 Telnet 会话的用户登录尝试次数.
配置此功能之前,不需要除设备初始化之外的特殊配置。
概述
恶意用户有时会尝试通过猜测授权用户帐户的密码来登录安全设备。您可以在一定次数的身份验证尝试失败后锁定用户帐户。此预防措施有助于保护设备免受恶意用户的侵害。
您可以配置设备锁定用户帐户之前的失败登录尝试次数,并且可以配置帐户保持锁定状态的时间量。您还可以配置用户在两次失败的登录尝试之间必须等待的时间。
此示例包括以下设置:
-
backoff-factor
- 用户在每次失败登录尝试backoff-threshold
后必须等待的延迟长度(以秒为单位)。对于语句中backoff-threshold
指定的值之后的每次后续登录尝试,延迟都会增加此值。 -
backoff-threshold
- 用户在尝试重新输入密码时遇到延迟之前在设备上失败的登录尝试次数的阈值。当用户达到登录尝试失败的阈值时,用户会遇到语句中设置的backoff-factor
延迟。延迟后,用户可以再次尝试登录。 -
lockout-period
- 用户达到tries-before-disconnect
阈值后用户帐户被锁定的分钟数。用户必须等待配置的分钟数,然后才能再次登录设备。 -
tries-before-disconnect
- 用户尝试通过 SSH 或 Telnet 登录设备时可以输入密码的最大次数。
如果您被锁定在设备之外,则可以登录到设备的控制台端口,这将忽略任何用户锁定。这为管理员提供了一种删除其自己用户帐户上的用户锁定的方法。
此示例将 tries-before-disconnect
选项设置为 3。因此,用户有三次尝试登录设备的机会。如果失败的登录尝试次数等于语句中 backoff-threshold
指定的值,则用户必须等待 乘 backoff-threshold
以 backoff-factor
间隔(以秒为单位)才能获得登录提示。在此示例中,用户必须在第一次登录尝试失败后等待 5 秒,在第二次登录尝试失败后等待 10 秒才能获得登录提示。设备在第三次尝试失败后断开用户连接。
如果用户在三次尝试后仍未成功登录,则用户帐户将被锁定。用户在 120 分钟后才能登录,除非系统管理员在此期间手动清除锁定。
系统管理员可以通过发出 clear system login lockout user <username>
命令来手动解锁帐户。该 show system login lockout
命令显示锁定的用户帐户以及每个用户的锁定期的开始和结束时间。
配置
程序
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,将命令复制并粘贴到 [edit]
层级的 CLI 中,然后从配置模式进入 commit
。
set system login retry-options backoff-factor 5 set system login retry-options backoff-threshold 1 set system login retry-options lockout-period 120 set system login retry-options tries-before-disconnect 3
分步过程
要配置系统重试选项,请执行以下操作:
-
配置退避因子。
[edit] user@host# set system login retry-options backoff-factor 5
-
配置退避阈值。
[edit] user@host# set system login retry-options backoff-threshold 1
-
配置用户达到登录尝试失败阈值后用户帐户保持锁定状态的分钟数。
[edit] user@host# set system login retry-options lockout-period 120
-
配置用户可以尝试输入密码的次数。
[edit] user@host# set system login retry-options tries-before-disconnect 3
结果
在配置模式下,输入 show system login retry-options
命令以确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明,以便进行更正。
[edit] user@host# show system login retry-options tries-before-disconnect 3; backoff-threshold 1; backoff-factor 5; lockout-period 120;
如果完成设备配置,请从配置模式输入 commit
。
验证
显示锁定的用户登录名
目的
验证是否启用了登录锁定配置。
操作
尝试对特定用户名进行三次不成功的登录。该设备将被锁定为该用户名。然后使用其他用户名登录到设备。在操作模式下,发出 show system login lockout
命令以查看锁定的帐户。
user@host> show system login lockout User Lockout start Lockout end jsmith 2021-08-17 16:27:28 PDT 2021-08-17 18:27:28 PDT
意义
使用特定用户名执行三次不成功的登录尝试后,该设备将为该用户锁定 120 分钟,如示例中所示。您可以通过使用其他用户名登录设备并输入 show system login lockout
命令来验证该设备是否已为该用户锁定。