ユーザー認証の概要
Junos OS Evolvedは、ネットワーク管理者がネットワークへのユーザーアクセスを制御するために使用するさまざまな認証方法をサポートしています。これらの方法には、ローカルパスワード認証、RADIUS、TACACS+ が含まれます。これらの認証方法のいずれかを使用して、SSH と Telnet を使用してルーターまたはスイッチにアクセスしようとするユーザーとデバイスを検証します。認証により、不正デバイスやユーザーが LAN にアクセスするのを防ぎます。
ユーザー認証方法
Junos OS Evolvedは、ローカルパスワード認証、RADIUS、TACACS+の3つのユーザー認証方法をサポートしています。
ローカルパスワード認証では、ルーターまたはスイッチへのログインを許可するユーザーごとにパスワードを設定します。
RADIUSおよびTACACS+は、いずれかのログイン方法を使用してルーターまたはスイッチへのアクセスを試みるユーザーを検証するための認証方法です。これらは分散型クライアント/サーバーシステムであり、RADIUSおよびTACACS+クライアントはルーターまたはスイッチで実行され、サーバーはリモートネットワークシステム上で実行されます。
ルーターまたはスイッチを RADIUS クライアントまたは TACACS+ クライアント、あるいはその両方に設定できます。Junos OS Evolved設定ファイルで認証パスワードを設定することもできます。ユーザーのアクセスを確認するときに、ソフトウェアがさまざまな認証方法を試す順序を設定する方法に優先順位を付けることができます。
ユーザー認証用のローカルユーザーテンプレートアカウントの設定
ローカルユーザーテンプレートアカウントを使用して、リモート認証サーバーを介して認証されたユーザーに異なるログインクラスを割り当て、異なる権限を付与します。各テンプレートは、そのテンプレートに割り当てられたユーザーに適した異なる権限セットを定義できます。テンプレートはルーターまたはスイッチ上でローカルに定義し、TACACS+ および RADIUS 認証サーバーはテンプレートを参照します。認証済みユーザーがテンプレートアカウントに割り当てられると、CLIユーザー名はログイン名になりますが、ユーザーはテンプレートアカウントから権限、ファイル所有権、有効なユーザーIDを継承します。
ローカルユーザーテンプレートを設定し、ユーザーがログインすると、Junos OS Evolvedはユーザーのログイン名を認証するリクエストを認証サーバーに発行します。ユーザーが認証されると、サーバーはローカルユーザー名をJunos OS Evolvedに返します(TACACS+の場合はlocal-user-name 、RADIUSの場合は Juniper-Local-User-Name )。次に、Junos OS Evolvedは、そのログイン名にローカルユーザー名が指定されているかどうかを判断し、指定されている場合、Junos OS Evolvedはユーザーをそのローカルユーザーテンプレートに割り当てます。認証済みユーザーのローカルユーザーテンプレートが存在しない場合、デバイスはユーザーを remote テンプレートに割り当てます(設定されている場合)。
ローカルユーザーテンプレートを設定するには、 [edit system login] 階層レベルでテンプレートのユーザー名を定義します。クラスを割り当てて、テンプレートを適用するローカルユーザーに付与する権限を指定します。
[edit system login]
user local-username {
full-name "Local user account";
uid uid-value;
class class-name;
}
ローカルユーザーテンプレートにユーザーを割り当てるには、適切なパラメータ(TACACS+の場合はlocal-user-name 、RADIUSの場合は Juniper-Local-User-Name )を使用してリモート認証サーバーを設定し、ローカルユーザーテンプレートに定義されたユーザー名を指定します。ローカルユーザーテンプレートアカウントを共有するユーザーに異なるアクセス権限を設定するには、認証サーバー設定ファイルでベンダー固有の属性を使用して、ユーザーに対して特定のコマンドや設定階層を許可または拒否できます。
この例では、ローカルデバイスで sales と engineering ユーザーテンプレートを設定します。その後、TACACS+ サーバー設定ファイルがユーザーを特定のテンプレートに割り当てます。
[edit]
system {
login {
user sales {
uid 6003;
class sales-class;
}
user engineering {
uid 6004;
class super-user;
}
}
}
サイモンとロブが認証されると、ルーターまたはスイッチは sales ローカルユーザーテンプレートを適用します。ログインユーザーのハロルドとジムが認証されると、ルーターまたはスイッチは engineering ローカルユーザーテンプレートを適用します。
user = simon {
...
service = junos-exec {
local-user-name = sales
allow-commands = "configure"
deny-commands = "shutdown"
}
}
user = rob {
...
service = junos-exec {
local-user-name = sales
allow-commands = "(request system)|(show rip neighbor)"
deny-commands = "clear"
}
}
user = harold {
...
service = junos-exec {
local-user-name = engineering
allow-commands = "(monitor)|(help)|(show)|(ping)|(traceroute)"
deny-commands = "configure"
}
}
user = jim {
...
service = junos-exec {
local-user-name = engineering
allow-commands = "show bgp neighbor"
deny-commands = "(telnet)|(ssh)"
}
}
ユーザー認証用のリモートユーザーテンプレートアカウントの設定
ネットワークデバイスは、リモートで認証されたユーザーをローカルで定義されたユーザーアカウントまたはユーザーテンプレートアカウントにマッピングでき、これにより認証が決定されます。 remote テンプレートアカウントは、特別なユーザーテンプレートです。デフォルトでは、 Junos OS Evolved は、次の場合にリモート認証されたユーザーを remote テンプレートアカウントに割り当てます(設定されている場合)。
-
認証されたユーザーは、ローカルデバイスにユーザーアカウントを設定していません。
-
リモート認証サーバーは、ローカルユーザーテンプレートにユーザーを割り当てません。また、サーバーが割り当てるテンプレートがローカルデバイスでは設定されていません。
remoteテンプレートアカウントを設定するには、[edit system login]階層レベルでuser remoteステートメントを含め、remoteテンプレートに割り当てられたユーザーのログインクラスを指定します。
[edit system login]
user remote {
full-name "remote users";
uid uid-value;
class class-name;
}
remoteテンプレートアカウントを共有するユーザーに異なるアクセス権限を設定するには、認証サーバー設定ファイルでベンダー固有の属性を使用して、ユーザーに対して特定のコマンドと設定階層を許可または拒否できます。
例:テンプレートアカウントの作成
この例では、テンプレートアカウントを作成する方法を示しています。
要件
この機能を設定する前に、デバイスの初期化以外の特別な設定を行う必要はありません。
概要
RADIUSまたはTACACS+認証を使用している場合、一連のユーザーによって共有されるテンプレートアカウントを作成できます。認証済みユーザーがテンプレートアカウントに割り当てられると、CLIユーザー名はログイン名になりますが、ユーザーはテンプレートアカウントから権限、ファイル所有権、有効なユーザーIDを継承します。
デフォルトでは、 Junos OS Evolved は、次の場合にリモート認証されたユーザーを remote テンプレートアカウントに割り当てます。
-
認証されたユーザーは、ローカルデバイスにユーザーアカウントを設定していません。
-
リモート認証サーバーは、ローカルユーザーテンプレートにユーザーを割り当てません。また、サーバーが割り当てるテンプレートがローカルデバイスでは設定されていません。
この例では、 remote テンプレートアカウントを作成し、ユーザー名を remote に、ユーザーのログインクラスを operatorに設定します。デバイスは、RADIUSまたはTACACS+で認証されているが、ローカルユーザーアカウントを持っていないか、別のローカルテンプレートアカウントに属していないユーザーに remote テンプレートを割り当てます。
次に、ローカルテンプレートアカウントを作成し、ユーザー名をadmin、ログインクラスをスーパーユーザーとして設定します。ローカルテンプレートアカウントは、リモートで認証されたユーザーを異なるログインクラスに割り当てる必要がある場合に使用します。したがって、各テンプレートは、そのユーザーテンプレートに割り当てられたユーザーに適した異なるアクセス許可セットを付与できます。
設定
リモートテンプレートアカウントの作成
ステップバイステップの手順
remoteテンプレートアカウントを作成するには:
-
remoteユーザーのユーザー名とログインクラスを設定します。[edit system login] user@host# set user remote class operator
結果
設定モードで、 show system login コマンドを入力して設定を確認します。出力に意図した設定が表示されない場合は、この例の設定手順を繰り返して修正します。
[edit]
user@host# show system login
user remote {
class operator;
}
デバイスの設定が完了したら、設定モードで commit を入力します。
ローカルテンプレートアカウントの作成
ステップバイステップの手順
ローカルテンプレートアカウントを作成するには:
-
ユーザーテンプレートのユーザー名とログインクラスを設定します。
[edit system login] user@host# set user admin class superuser
結果
設定モードで、 show system login コマンドを入力して設定を確認します。出力に意図した設定が表示されない場合は、この例の設定手順を繰り返して修正します。
[edit]
user@host# show system login
user admin {
class super-user;
}
デバイスの設定後、設定モードで commit を入力します。
RADIUS または TACACS+ 認証を完全にセットアップするには、少なくとも 1 つの RADIUS または TACACS+ サーバーを設定し、システム認証順序を指定する必要があります。詳細については、次のタスクを参照してください。
-
RADIUSサーバーを設定します。 RADIUS認証を参照してください。
-
TACACS+サーバーを設定します。 TACACS+ 認証を参照してください。
-
システム認証順序を設定します。 LDAPS、RADIUS、TACACS+、およびローカルパスワードの認証順序を参照してください。
リモート認証サーバーとは?
おそらく、ネットワーク内でリモート認証サーバー(または複数のサーバー)をすでに使用している可能性があります。これらのサーバーを使用すると、ネットワーク内のすべてのデバイスに対して一貫したユーザーアカウントのセットを一元的に作成できるため、ベストプラクティスです。リモート認証サーバーを使用して、ネットワークに認証、許可、および説明責任(AAA)ソリューションを実装すると、ユーザーアカウントの管理がはるかに簡単になります。
ほとんどの企業は、LDAPS、RADIUS、TACACS+ の 3 つの基本的なリモート認証方法のうちの 1 つ以上を使用します。Junos OS EvolvedはRADIUSとTACACS+をサポートしており、どちらのタイプのリモート認証サーバーにもクエリーするようにJunos OS Evolvedを設定できます。RADIUSまたはTACACS+サーバーの背後にある考え方はシンプルです。それぞれが中央の認証サーバーとして機能し、ルーター、スイッチ、セキュリティデバイス、サーバーは、システムへのアクセスを試みるときにユーザーを認証するために使用できます。クライアント/サーバーモデルにおける認証、監査、アクセス制御に一元的なユーザーディレクトリがもたらす利点について考えてみましょう。RADIUSとTACACS+の認証方法は、ネットワークインフラストラクチャに同等のメリットをもたらします。
中央サーバーを使用することには、時間がかかりエラーが発生しやすい各デバイス上にローカルユーザーを作成する方法に比べて、複数の利点があります。また、一元化された認証システムにより、パスワードのスニッフィングやパスワードリプレイ攻撃に対する保護を提供するSecureIDなどのワンタイムパスワードシステムの使用が簡素化されます。このような攻撃では、キャプチャされたパスワードを使用してシステム管理者になりすます可能性があります。
-
RADIUS—相互運用性とパフォーマンスが優先事項である場合は、RADIUS を使用する必要があります。
-
相互運用性 - RADIUSはTACACS+よりも相互運用性に優れていますが、これは主にTACACS+が独自仕様であるためです。TACACS+ はより多くのプロトコルをサポートしますが、RADIUS は普遍的にサポートされています。
-
パフォーマンス - RADIUS は、TACACS+ よりもルーターやスイッチではるかに軽量です。このため、ネットワークエンジニアは一般的にTACACS+よりもRADIUSを好みます。
-
-
TACACS+—セキュリティと柔軟性を優先する場合は、TACACS+を使用する必要があります。
-
セキュリティ—TACACS+はRADIUSよりも安全です。セッション全体が暗号化されるだけでなく、認証と認証が別々に行われるため、ネットワークへの侵入を阻止します。
-
柔軟性 - 伝送制御プロトコル(TCP)は、UDPよりも柔軟なトランスポートプロトコルです。より高度なネットワークでは、TCPでより多くのことを行うことができます。さらに、TACACS+は、NetBIOSなど、より多くのエンタープライズプロトコルをサポートしています。
-