ユーザー認証の概要
Junos OS は、ネットワーク管理者がネットワークへのユーザー アクセスを制御するために使用するさまざまな認証方法をサポートしています。これらの方式には、ローカルパスワード認証、 RADIUS、TACACS+などがあります。 これらの認証方法のいずれかを使用して、 SSH および Telnet を使用してルーターまたはスイッチにアクセスしようとするユーザーとデバイスを検証します。認証により、許可されていないデバイスやユーザーがLANにアクセスすることを防ぎます。
ユーザー認証方法
Junos OS では、次の 3 種類のユーザー認証方法をサポートしています。RADIUS と TACACS+ ローカル パスワード認証。
ローカルパスワード認証では、ルーターまたはスイッチへのログインを許可するユーザーごとにパスワードを設定します。
RADIUSおよびTACACS+は、いずれかのログイン方法を使用してルーターまたはスイッチにアクセスしようとするユーザーを検証するための認証方法です。これらは分散クライアント/サーバーシステムであり、 RADIUSおよびTACACS+クライアントはルーターまたはスイッチで実行され、サーバーはリモートネットワークシステムで実行されます。
ルーターまたはスイッチは RADIUS、TACACS+クライアント、またはその組み合わせに設定できます。Junos OS設定ファイルで認証パスワードを設定することもできます。ユーザー アクセスを検証する際に、ソフトウェアが異なる認証方法を試行する順序を設定するために、方法に優先順位を付けることができます。
ユーザー認証用のローカルユーザーテンプレートアカウントの設定
ローカルユーザーテンプレートアカウントを使用して、異なるログインクラスを割り当て、リモート認証サーバーを介して認証されるユーザーに異なる権限を付与します。各テンプレートは、そのテンプレートに割り当てられたユーザーに適した異なる権限セットを定義できます。ルーターまたはスイッチでローカルにテンプレートを定義し、TACACS+ および RADIUS 認証サーバーがテンプレートを参照します。認証済みユーザーがテンプレートアカウントに割り当てられると、CLIユーザー名がログイン名になりますが、ユーザーはテンプレートアカウントから権限、ファイル所有権、および有効なユーザーIDを継承します。
ローカルユーザーテンプレートを設定し、ユーザーがログインすると、Junos OSは認証サーバーにユーザーのログイン名を認証するリクエストを発行します。ユーザーが認証されると、サーバーはローカル ユーザー名を Junos OS(TACACS+ の場合は local-user-name
、RADIUS の場合は Juniper-Local-User-Name
)に返します。次に、Junos OSがそのログイン名にローカルユーザー名が指定されているかどうかを判断し、指定されている場合は、Junos OSがそのローカルユーザーテンプレートにユーザーを割り当てます。認証されたユーザのローカル ユーザ テンプレートが存在しない場合、ルータまたはスイッチは、設定されていれば、デフォルトで 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
ローカル ユーザー テンプレートを適用します。ログインユーザーのハロルドとジムが認証されると、ルーターまたはスイッチは 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 は、次の場合にリモート認証されたユーザーを 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 は次の場合にリモート認証されたユーザーを 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+サーバーの設定」 を参照してください。
-
システム認証の順序を設定します。「例:認証順序の設定」 を参照してください。
リモート認証サーバーとは
ネットワークでリモート認証サーバーを既に使用している可能性があります。これらのサーバーを使用すると、ネットワーク内のすべてのデバイスに対して一貫したユーザーアカウントのセットを一元的に作成できるため、ベストプラクティスです。リモート認証サーバーを使用して認証、許可、および説明責任(AAA)ソリューションをネットワークに実装すると、ユーザー アカウントの管理がはるかに簡単になります。
ほとんどの企業では、次の 3 つの基本的なリモート認証方法のうち 1 つ以上を使用します。 RADIUS、TACACS+などがあります。Junos OSは3つの方法をすべてサポートしており、Junos OSを設定してあらゆるタイプのリモート認証サーバーにクエリーを実行できます。 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 など、より多くのエンタープライズ プロトコルをサポートしています。
-