RADIUS TACACS+の認証順序とローカルパスワード
Junos OSは、ネットワークへのアクセスを制御するために、ローカルパスワード認証、 RADIUS、TACACS+などのさまざまな認証方法をサポートしています。
複数の認証方法をサポートするようにデバイスを構成する場合、デバイスが異なる認証方法を試す順序に優先順位を付けることができます。このトピックでは、認証順序のしくみと、デバイスでの認証順序の構成方法について説明します。
認証順序の概要
ネットワーク管理者は、 authentication-order
ステートメントを設定して、ルーターまたはスイッチへのユーザー アクセスを検証するために Junos OS さまざまな認証方法を試みる順序に優先順位を付けることができます。認証順序を設定しない場合、デフォルトでは、 Junos OS は設定されたローカルパスワードに基づいてユーザーを確認します。
認証順序に RADIUS または TACACS+ サーバーが含まれているにもかかわらず、サーバーが要求に応答しない場合、 Junos OS は常に、最後の手段としてローカルパスワード認証を試行することをデフォルトにします。
認証順序に つのRADIUSまたはTACACS+サーバーが含まれているにもかかわらず、サーバーが要求を拒否する場合、要求の処理はより複雑になります。
-
認証順序の最後に
password
(ローカルパスワード 認証)が含まれ 、リモート認証サーバーが認証要求を拒否した場合、デバイスはローカルパスワード認証を試みます。 -
password
(ローカルパスワード認証)が認証順序に含まれておらず、リモート認証サーバーが認証要求を拒否した場合、要求は拒否されて終了します。
したがって、デバイスは、リモート認証サーバーが要求を拒否した場合にデバイスがローカルパスワード認証を試みるための最終的な認証順序オプションとして password
を含める必要があります。
認証順序が authentication-order password
に設定されている場合、デバイスはローカルパスワード認証のみを使用します。
リモート認証の使用
Junos OSを RADIUSまたはTACACS+認証クライアント(あるいはその組み合わせ)として設定できます。
authentication-order
ステートメントに含まれる認証方法が利用できない場合、または認証方法は使用できるが、対応する認証サーバーが拒否応答を返す場合、Junos OS は authentication-order
ステートメントに含まれる次の認証方法を試行します。
RADIUS、またはTACACS+サーバー認証は、以下の1つ以上の理由で失敗する可能性があります。
-
認証方法は構成されていますが、対応する認証サーバーが構成されていません。例えば、RADIUS および TACACS+ の認証方法は
authentication-order
ステートメントに含まれていますが、対応する RADIUS または TACACS+ サーバーは、それぞれの[edit system radius-server]
および[edit system tacplus-server]
階層レベルでは設定されません。 -
認証サーバーは、そのサーバーに構成されたタイムアウト値より前、またはタイムアウトが設定されていない場合はデフォルトのタイムアウト前に応答しません。
-
ネットワークの問題のため、認証サーバーに到達できません。
認証サーバーは、以下の理由の 1 つまたは両方で拒否応答を返す場合があります。
-
ルーターまたはスイッチにアクセスするユーザーのユーザープロファイルが、認証サーバー上で設定されていません。
-
ユーザーが誤ったログオン資格情報を入力します。
ローカルパスワード認証の使用方法
authentication-order
ステートメントでpassword
認証方法を明示的に設定するか、リモート認証サーバーに障害が発生した場合のフォールバックメカニズムとしてこのメソッドを使用できます。password
認証方法は、[edit system login]
階層レベルで設定されたローカルユーザープロファイルを参照します。以下のシナリオでは、ユーザーはローカルのユーザー名とパスワードを使用してルーターまたはスイッチにログインできます。
-
パスワード認証方法(
password
)は、authentication-order
ステートメントの認証方法の 1 つとして明示的に設定されます。この場合、以前の認証方法がログオン資格情報を受け入れない場合、デバイスはローカルパスワード認証を試みます。これは、以前の認証方法が応答に失敗した場合や、ユーザー名またはパスワードが正しくないために拒否応答を返した場合にも当てはまります。
-
パスワード認証方法は、
authentication-order
ステートメントの認証方法の 1 つとして明示的に設定されていません。この場合、オペレーティングシステムは、構成されたすべての認証方法が応答に失敗した場合にのみ、ローカルパスワード認証を試みます。設定された認証方法がユーザー名またはパスワードが正しくないために拒否応答を返す場合、オペレーティングシステムはローカルパスワード認証を使用しません。
認証試行の順序
表 1は、[edit system]
階層レベルの authentication-order
ステートメントが、Junos OS がデバイスへのアクセスを認証するために使用する手順をどのように決定するかを説明しています。
構文 |
認証試行の順序 |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SSHパブリックキーが設定されている場合、SSHユーザー認証は、 authentication-order
ステートメントで設定された認証方法を使用する前に、まず公開キー認証を実行しようとします。最初に公開鍵認証を行わずに、SSH ログインで authentication-order
ステートメントで設定された認証方法を使用できるようにする場合は、SSH 公開鍵を設定しないでください。
RADIUS、TACACS+、ローカルパスワード認証の認証順序の設定
authentication-order
ステートメントを使用すると、ルーターまたはスイッチへのユーザー アクセスを検証する際に、Junos OSが異なる認証方法を試す順序に優先順位を付けることができます。認証順序を設定しない場合、デフォルトでは、ユーザーはローカルで設定されたパスワードに基づいて検証されます。
プレーンテキストを使用してパスワードを設定し、 Junos OS に依存して暗号化する場合、パスワードはインターネット経由でプレーンテキストで送信されます。事前に暗号化されたパスワードを使用すると、パスワードのプレーンテキストをインターネット経由で送信する必要がないため、より安全です。また、パスワードでは、一度に 1 人のユーザーしかパスワードに割り当てることができません。
一方、 RADIUSとTACACS+はパスワードを暗号化します。これらの認証方法では、ユーザーを 1 人ずつ割り当てる代わりに、一度に一連のユーザーを割り当てることができます。ただし、これらの認証システムの違いは次のとおりです。
-
RADIUS は UDP を使用します。TACACS+ はTCPを使用します。
-
RADIUS は送信中のパスワードのみを暗号化しますが、TACACS+ はセッション全体を暗号化します。
-
RADIUS 認証(デバイス)と許可(ユーザー)を組み合わせ、TACACS+ が認証、許可、説明責任を分離します。
つまり、TACACS+ は RADIUS よりも高い安全性を備えています。ただし、RADIUS の方がパフォーマンスが高く、相互運用性も優れています。RADIUS は広くサポートされていますが、TACACS+ はシスコ独自の製品であり、シスコ以外では広くサポートされていません。
認証順序は、システム、その制限、および IT ポリシーと運用設定に基づいて設定できます。
認証順序を設定するには、[edit system]
階層レベルで authentication-order
ステートメントを含めます。
[edit system] user@host# set authentication-order [authentication-methods ]
このステートメントを含めることができる階層レベルの一覧は、このステートメントのステートメント概要のセクションを参照してください。
可能な認証順序入力オプションは次のとおりです。
-
radius
- RADIUS 認証サーバを使用してユーザを確認します。 -
tacplus
- TACACS+ 認証サーバを使用してユーザを検証します。 -
password
-[edit system login user]
階層レベルの認証ステートメントでローカルに設定されたユーザ名とパスワードを使用して、ユーザを検証します。
チャレンジ ハンドシェイク認証プロトコル (CHAP) 認証シーケンスは、30 秒を超えることはできません。クライアントの認証に 30 秒以上かかる場合、認証は破棄され、新しいシーケンスが開始されます。
例えば、ルーターまたはスイッチが各サーバーへのコンタクトを 3 回試行するように、3 つの RADIUS サーバーを構成するとします。さらに、再試行するたびに、サーバーが 3 秒後にタイムアウトすると仮定します。このシナリオでは、CHAP がエラーと見なす前に RADIUS 認証方法に与えられる最大時間は 27 秒です。この構成に RADIUS サーバーを追加すると、これらのサーバーが試行される前に認証プロセスが中止される可能性があるため、それらのサーバーに接続されない可能性があります。
Junos OS CHAP 認証が一度に持つことができる永続的な認証サーバー要求の数に制限を適用します。そのため、認証サーバー方式(RADIUS など)は、この制限を超えるとクライアントの認証に失敗する可能性があります。認証に失敗した場合、認証に成功してリンクが確立されるまで、ルーターまたはスイッチによって認証シーケンスが再開されます。ただし、RADIUSサーバーが利用できず、 tacplus
や password
などの追加の認証方法も構成されている場合は、次の認証方法が試されます。
次に、 radius
および password
認証を設定する例を示します。
[edit system] user@switch# set authentication-order [ radius password ]
以下の例は、radius
ステートメントの後に tacplus
ステートメントを挿入する方法を示しています。
[edit system] user@switch# insert authentication-order tacplus after radius
以下の例は、認証順序から radius
ステートメントを削除する方法を示しています。
[edit system] user@switch# delete authentication-order radius
例:認証順序の設定
この例では、ユーザー ログインの認証順序を設定する方法を示します。
要件
開始する前に、デバイスの初期設定を行います。お使いのデバイスの『スタートアップガイド』をご覧ください。
概要
デバイスへのユーザー アクセスを検証するためにデバイスが使用する認証方法の順序を構成できます。パスワードが一致するか、すべての認証方法が試行されるまで、デバイスはログインを試みるたびに、設定された順序で認証方法を試みます。リモート認証を設定しない場合、ユーザは設定されたローカルパスワードに基づいて検証されます。
この例では、最初にRADIUS認証サービス、次にTACACS+認証サービス、最後にローカルパスワード認証を使用してユーザー認証を試みるようにデバイスを設定します。
ローカルパスワード認証を使用する場合は、システムにアクセスするすべてのユーザーのローカルユーザーアカウントを作成する必要があります。ただし、リモート認証サーバーを使用する場合は、一連のユーザーが共有するテンプレートアカウントを(承認目的で)作成できます。ユーザーがテンプレートアカウントに割り当てられると、コマンドラインインターフェイス(CLI)ユーザー名がログイン名になります。ただし、ユーザーはテンプレートアカウントから権限、ファイル所有権、および有効なユーザーIDを継承します。
設定
手順
CLIクイック構成
この例を手早く設定するには、以下のコマンドをコピーして、テキストファイルに貼り付けます。改行を削除し、ネットワーク設定に合わせて必要な変更を加え、コマンドを[edit]
階層レベルのCLIにコピー、貼り付けしてから、設定モードでcommit
を入力します。
delete system authentication-order set system authentication-order radius insert system authentication-order tacplus after radius insert system authentication-order password after tacplus
GUI クイックコンフィグレーション
ステップバイステップでの手順
認証順序を設定するには:
-
J-Webユーザー インターフェースで、
Configure>System Properties>User Management
を選択します。 -
Edit
をクリックします。「ユーザー管理の編集」ダイアログボックスが表示されます。 -
Authentication Method and Order
タブを選択します。 -
[使用可能な方法] で、デバイスがユーザーの認証に使用する認証方法を選択します。矢印ボタンを使用して、項目を [選択したメソッド] リストに移動します。利用可能な方法は次のとおりです。
-
RADIUS
-
TACACS+
-
ローカルパスワード
複数の方法を使用してユーザーを認証する場合は、この手順を繰り返して、他の方法を [選択した方法] リストに追加します。
-
-
[選択した方法] で、上矢印と下矢印を使用して、デバイスが認証方法を実行する順序を指定します。
-
OK
をクリックして、設定を確認し、設定の候補としてそれを保存します。 -
デバイスを設定した後、
Commit Options>Commit
をクリックします。
ステップバイステップでの手順
認証順序を設定するには:
-
既存の
authentication-order
ステートメントを削除します。[edit] user@host# delete system authentication-order
-
認証順序にRADIUS認証を追加します。
[edit] user@host# set system authentication-order radius
-
TACACS+ 認証を認証オーダーに追加します。
[edit] user@host# insert system authentication-order tacplus after radius
-
ローカルパスワード認証を認証順序に追加します。
[edit] user@host# insert system authentication-order password after tacplus
結果
設定モードで、show system authentication-order
コマンドを入力して設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の設定手順を繰り返して設定を修正します。
[edit] user@host# show system authentication-order authentication-order [ radius tacplus password ];
デバイスの設定後、コンフィギュレーションモードでcommit
を入力します。
RADIUS または TACACS+ 認証 完全設定するには、少なくとも 1 つの RADIUS または TACACS+ サーバーを設定し、ユーザー アカウントまたはユーザー テンプレート アカウントを作成する必要があります。
-
RADIUS サーバーを設定します。「例:システム認証用の RADIUS サーバーの設定」 を参照してください。
-
TACACS+サーバーを設定します。「例:システム認証用のTACACS+サーバーの設定」 を参照してください。
-
ユーザーを設定します。「例:新しいユーザーアカウントの設定」 を参照してください。
-
テンプレート アカウントを構成します。「例:テンプレートアカウントの作成」 を参照してください。
検証
設定が正常に機能していることを確認します。
認証順序の設定の確認
目的
デバイスが設定された順序で認証方法を使用していることを確認します。
アクション
認証方法ごとに異なるパスワードを持つテスト ユーザーを作成します。別のパスワードを使用してデバイスにログインします。前の認証方法がパスワードを拒否するか、応答に失敗した場合に、デバイスが後続の認証方法を照会することを確認します。
または、テスト環境では、認証サーバー構成またはローカルユーザーアカウント構成(あるいはその両方)を非アクティブ化して、各認証方法をテストできます。例えば、TACACS+ サーバーをテストするには、RADIUS サーバー設定とユーザーのローカルアカウントを非アクティブ化します。ただし、ユーザーのローカルアカウントを非アクティブ化する場合は、ユーザーが remote
ユーザーテンプレートなどのローカルユーザーテンプレートアカウントに引き続きマップされていることを確認する必要があります。
例: RADIUS、TACACS+、およびパスワード認証のシステム認証を設定する
次の例は、Junos OS を実行するデバイスで、 RADIUS、TACACS+、およびパスワード認証のためのシステム認証を設定する方法を示しています。
この例では、ユーザー Philip と RADIUS サーバーで認証されたユーザーのみがログインできます。ユーザーがログインしても RADIUSサーバーによって認証されていない場合、ルーターまたはスイッチへのアクセスが拒否されます。RADIUSサーバーが利用できない場合、ユーザーは password
認証方法を使用して認証され、ルーターまたはスイッチへのアクセスが許可されます。パスワード認証方法の詳細については、「 認証順序の概要」を参照してください。
フィリップがシステムにログインしようとしたときに、RADIUS サーバーが彼を認証すると、 super-user
クラスのアクセスと権限が付与されます。ローカル アカウントは、他のユーザー用に構成されません。ユーザーがシステムにログインし、RADIUS サーバーが認証すると、同じユーザーID(UID)9999と、 operator
クラスに関連する権限を使用してアクセス権が付与されます。
[edit] system { authentication-order radius; login { user philip { full-name "Philip"; uid 1001; class super-user; } user remote { full-name "All remote users"; uid 9999; class operator; } } }
承認のために、テンプレートアカウントを使用して、一連のユーザーが同時に共有できる単一のアカウントを作成できます。たとえば、リモートテンプレートアカウントを作成すると、一連のリモートユーザーが1つのUIDを同時に共有できます。テンプレート アカウントの詳細については、「 例:認証順序の設定」を参照してください。
ユーザーがデバイスにログインすると、 RADIUSまたはTACACS+サーバーはユーザーのログイン名を認証に使用します。認証サーバーがユーザーを正常に認証し、ユーザーが [edit system login user]
階層レベルで構成されていない場合、次のようになります。リモート テンプレート アカウントが edit system login user remote
階層レベルで設定されている場合、デバイスはユーザーのデフォルトのリモート テンプレート ユーザー アカウントを使用します。リモート テンプレート アカウントは、認証サーバーによって認証されますが、デバイスにローカルに設定されたユーザー アカウントがないすべてのユーザーのデフォルト テンプレート ユーザー アカウントとして機能します。このようなユーザーは、同じログインクラスとUIDを共有します。
代替テンプレート ユーザーを構成するには、 RADIUS 認証応答パケットで返される user-name
パラメーターを指定します。すべての RADIUS サーバーでこのパラメーターを変更できるわけではありません。以下に、Junos OS の設定例を示します。
[edit] system { authentication-order radius; login { user philip { full-name "Philip"; uid 1001; class super-user; } user operator { full-name "All operators"; uid 9990; class operator; } user remote { full-name "All remote users"; uid 9999; class read-only; } } }
RADIUS サーバーが次の情報で構成されているとします。
ユーザー フィリップ パスワード "オリンピア"
パスワード「bucephalus」とユーザー名「オペレーター」を持つユーザーアレクサンダー
パスワードが「赤毛」、ユーザー名が「オペレーター」のユーザーDarius。
ユーザー Roxane とパスワード "athena"
Philip は、一意のローカル ユーザー アカウントを持っているため、スーパーユーザー (super-user
) としてアクセス権が付与されます。アレクサンダーとダリウスはUID 9990を共有し、オペレーターとしてアクセスできます。Roxane にはテンプレート ユーザーのオーバーライドがないため、他のすべてのリモート ユーザーとアクセスを共有し、読み取り専用のアクセス権を取得します。