ログイン設定
Junos OS では、ユーザーがデバイスにログインする際のさまざまな設定を定義できます。システム管理者は、以下を設定できます。
- ログイン前またはログイン後に表示するメッセージまたはお知らせ
- ログイン時にシステムアラームを表示するかどうか
- ログインのヒント
- 時間ベースのユーザーアクセス
- アイドルセッションのタイムアウト値
- ログイン試行回数の制限
- 認証試行が何回か失敗した後にユーザー アカウントをロックするかどうか
システムログインアナウンスまたはメッセージを表示する
許可されたユーザーがデバイスにログインした後にのみアナウンスを行いたい場合があります。たとえば、今後のメンテナンス イベントをアナウンスできます。また、デバイスに接続するすべてのユーザーに、セキュリティ警告などのメッセージを表示するのが適切な場合もあります。
デフォルトでは、 Junos OS はログインメッセージやアナウンスを表示しません。[edit system login]
階層レベルで message
ステートメントまたは 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
曜日と時刻の両方を含めるようにアクセスを構成することもできます。次の例では、月曜日、水曜日、金曜日の午前 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 に及ぶ場合があります。その場合、 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
ステートメントは、デバイスがユーザーの接続を切断する前に失敗したログイン試行のしきい値を定義します。デフォルトでは、デバイスではログイン試行が 3 回失敗することが許容されます。
lockout-period
ステートメントは、ユーザーがログイン試行失敗のしきい値に達した場合に、指定された時間だけユーザーアカウントをロックするようにデバイスに指示します。ロックにより、ユーザーは、ロックアウト期間が経過するか、システム管理者が手動でロックを解除するまで、認証を必要とするアクティビティを実行できなくなります。既存のロックは、ユーザーがローカルコンソールからログインしようとすると無視されます。
ログイン再試行オプションを設定するには:
-
ユーザーがパスワードの入力を試行できる回数を構成します。
[edit system login retry-options] user@host# set tries-before-disconnect number
たとえば、デバイスが接続を閉じる前に、ユーザーがパスワードを 4 回入力できるようにするには、次のようにします。
[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 経由でデバイスにログインする際に、ユーザーがパスワードの入力を試行できる回数を制限できます。指定した試行回数を超えてユーザーがログインに失敗した場合、デバイスは接続を終了します。また、試行が失敗した後にユーザーがパスワードの入力を試行できるようになるまでの遅延を秒単位で指定することもできます。さらに、ユーザーがパスワードを再入力できるようになるまでに遅延が発生するまでの試行失敗回数のしきい値を指定できます。
ユーザーがログイン中にパスワードの入力を試行できる回数を指定するには、[edit system login]
階層レベルで retry-options
ステートメントを含めます。
[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ログイン試行回数を制限することは、ブルートフォース攻撃によるネットワークセキュリティの侵害を防ぐ最も効果的な方法の1つです。ブルートフォース攻撃者は、短期間に多数のログイン試行を実行して、プライベートネットワークに不正にアクセスします。retry-options
ステートメントを設定することで、ログイン試行が失敗するたびに遅延を増やし、最終的に、設定したログイン試行のしきい値を超えたユーザーを切断することができます。
ユーザーが SSH または Telnet 経由でログインする場合のログイン試行を制限するには:
次の構成では、正しいパスワードを入力する 2 回目の試行が失敗してから 5 秒の遅延が発生します。その後の試行が失敗するたびに、遅延は5秒ずつ増加します。4 回目で最後の正しいパスワードの入力に失敗した後、ユーザーにはさらに 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 に設定します。その結果、ユーザーはデバイスへのログインを 3 回試行する必要があります。失敗したログイン試行回数が backoff-threshold
ステートメントで指定された値と等しい場合、ユーザーはログイン プロンプトを受け取るまで、 backoff-threshold
に backoff-factor
間隔 (秒単位) を掛けるのを待つ必要があります。この例では、ユーザーはログイン プロンプトを受け取るために、最初の失敗したログイン試行から 5 秒間、2 回目のログイン試行の失敗から 10 秒間待つ必要があります。3 回目の試行が失敗すると、デバイスはユーザーの接続を切断します。
3 回試行してもユーザーが正常にログインできない場合、ユーザー アカウントはロックされます。ユーザーは、システム管理者が手動でロックを解除しない限り、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
コマンドを入力することで、そのユーザーに対してデバイスがロックされていることを確認できます。