ログイン設定
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-startaccess-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 文字以上を入力できます。次に例を示します。
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 コマンドを入力することで、そのユーザーに対してデバイスがロックされていることを確認できます。