登录设置
您可以通过 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
配置登录提示
您可以将 Junos OS CLI 配置为在给定登录类中的用户登录到设备时显示提示。默认情况下,设备不显示提示。
要启用提示:
配置该 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
您还可以将访问权限配置为包括日期和时间。以下示例将登录类的用户 operator-day-shift 访问权限配置为周一、周三和周五上午 8:30 至下午 4:30:
[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。在这种情况下,即使您没有在语句中 allowed-days 显式配置当天,用户在第二天之前仍具有访问权限。
配置空闲登录会话的超时值
空闲登录会话是指 CLI 显示操作模式或配置模式提示,但键盘没有输入的会话。默认情况下,登录会话将保持建立状态,直到用户注销设备为止,即使该会话处于空闲状态也是如此。要自动关闭空闲会话,您必须为每个登录等级配置时间限制。如果该类中的用户建立的会话在配置的时间限制内保持空闲状态,则会话会自动关闭。自动关闭空闲登录会话有助于防止恶意用户访问设备并使用授权用户帐户执行操作。
只能为用户定义的类配置空闲超时。不能为系统预定义类配置此选项:operator、 、 read-onlysuper-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
如果配置超时值,则会话将在指定时间过后关闭,但以下情况除外:
-
用户正在运行
sshortelnet命令。 -
用户将登录到本地 UNIX shell。
-
用户正在使用 或
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
要在管理员发起的注销期间清除控制台,请在层次结构级别配置[edit system login]语句时message包含换行符 (\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-thresholdbackoff-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
验证
显示锁定的用户登录信息
目的
验证登录锁定配置是否已启用。
行动
尝试对特定用户名登录 3 次失败。设备将针对该用户名锁定。然后使用其他用户名登录设备。在操作模式下,发出 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
意义
使用特定用户名执行 3 次登录失败尝试后,设备将为该用户锁定 120 分钟,如示例中配置。您可以使用其他用户名登录设备并输入 show system login lockout 命令,验证设备是否已为该用户锁定。