ユーザー認証の概要
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; } } }
ユーザ Simon と Rob が認証されると、ルーターまたはスイッチは sales
ローカルユーザテンプレートを適用します。ログイン ユーザの Harold と Jim が認証されると、ルーターまたはスイッチは 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、ログインクラスをsuperuserに設定します。ローカルテンプレートアカウントは、リモートで認証されたユーザーを異なるログインクラスに割り当てる必要がある場合に使用します。したがって、各テンプレートは、そのユーザーテンプレートに割り当てられたユーザーに適した異なる権限セットを付与できます。
構成
リモートテンプレートアカウントの作成
手順
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+、およびローカルパスワードの認証順序 1 オプションにを参照してください。
リモート認証サーバーとは
ネットワークでリモート認証サーバー(またはサーバー)をすでに使用している可能性があります。これらのサーバーを使用すると、ネットワーク内のすべてのデバイスに対して一貫したユーザー アカウントのセットを一元的に作成できるため、ベスト プラクティスです。リモート認証サーバーを使用してネットワークに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 など、より多くのエンタープライズプロトコルをサポートしています。
-