Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

RADIUS認証

Junos OS は、ネットワークデバイス上のユーザーの一元的な認証のためのRADIUSをサポートしています。デバイスで RADIUS 認証を使用するには、ネットワーク管理者が、ネットワーク上の 1 台以上の RADIUS サーバーに関する情報を設定する必要があります。また、デバイス上で RADIUS アカウンティングを設定して、LAN にログインまたはログアウトするユーザーに関する統計データを収集し、そのデータを RADIUS アカウンティング サーバーに送信することもできます。

RADIUSサーバー認証を設定する

RADIUS 認証は、ネットワーク デバイスへのアクセスを試みるユーザーを認証する方法です。次のセクションでは、RADIUS を使用する理由とその構成方法について説明します。

RADIUS を使用する理由

ネットワーク管理者は、RADIUS や TACACS+ など、ネットワーク デバイス上のユーザーの一元的認証に異なるプロトコルを使用できます。RADIUS はマルチベンダー IETF 標準であり、その機能は TACACS+ や他の独自システムよりも広く受け入れられているため、お勧めします。また、セキュリティ強化のためにワンタイムパスワードシステムの利用を推奨しており、これらのシステムのベンダーすべてがRADIUSをサポートしています。

相互運用性とパフォーマンスが優先事項である場合は、RADIUS を使用してください。

  • 相互運用性 - RADIUSはTACACS+よりも相互運用性に優れていますが、これは主にTACACS+が独自仕様であるためです。TACACS+ はより多くのプロトコルをサポートしますが、RADIUS は普遍的にサポートされています。

  • パフォーマンス - RADIUS は、ルーターやスイッチの負荷を大幅に軽減します。このため、ネットワークエンジニアは一般的にTACACS+よりもRADIUSを好みます。

RADIUSサーバーの詳細を設定する

デバイス上でRADIUS認証を使用するには、各RADIUSサーバーの[edit system]階層レベルに1つのradius-serverステートメントを含めて、ネットワーク上の1つ以上のRADIUSサーバーの情報を構成します。デバイスは、設定された順番で RADIUS サーバーに対してクエリーを実行します。プライマリサーバー(設定された最初のサーバー)が使用できない場合、デバイスは応答を受信するまで、リスト内の各サーバーに接続しようとします。

ネットワークデバイスは、RADIUS認証されたユーザーをローカルで定義されたユーザーアカウントまたはユーザーテンプレートアカウントにマッピングでき、これにより認証が決定されます。デフォルトでは、 Junos OS は次の場合に、RADIUS認証されたユーザーをユーザーテンプレートアカウント remoteに割り当てます(設定されている場合)。

  • 認証されたユーザーは、ローカルデバイスにユーザーアカウントを設定していません。

  • RADIUSサーバーは、ローカルユーザーテンプレートにユーザーを割り当てません。また、サーバーが割り当てるテンプレートはローカルデバイスでは設定されていません。

RADIUSサーバーは、認証済みユーザーを別のユーザーテンプレートに割り当て、そのユーザーに異なる管理権限を付与できます。ユーザーはCLIに同じログイン名を保持しますが、割り当てられたテンプレートからログインクラス、アクセス権限、有効なユーザーIDを継承します。RADIUS認証されたユーザーがローカルで定義されたユーザーアカウントまたはユーザーテンプレートにマッピングされておらず、 remote テンプレートが設定されていない場合、認証失敗します。

注:

remoteのユーザー名はJunos OSの特殊なケースで、常に小文字にする必要があります。これは、リモートサーバーで認証されているが、デバイスにローカルで設定されたユーザーアカウントを持っていないユーザーのテンプレートとして機能します。Junos OSは、ローカルで定義されたアカウントを持たない認証済みユーザーに、remoteテンプレートの権限を適用します。remoteテンプレートにマッピングされたすべてのユーザーは、同じログインクラスにいます。

リモート認証は複数のデバイスで構成するため、通常は構成グループ内で構成します。ここで示す手順は、 globalと呼ばれる設定グループにあります。設定グループの使用はオプションです。

RADIUSサーバーによる認証を設定するには:

  1. RADIUS 認証サーバーの IPv4 アドレスまたは IPv6 アドレスを設定します。

    次に例を示します。

  2. (オプション)RADIUSサーバーに送信されたリクエストのパケット送信元アドレスを設定します。

    次に例を示します。

    送信元アドレスは、ルーターインターフェイスまたはスイッチインターフェイスのいずれかで構成された有効なIPv4アドレスまたはIPv6アドレスです。ネットワークデバイスにRADIUSサーバーに到達できる複数のインターフェイスがある場合は、デバイスがRADIUSサーバーとのすべての通信に使用できるIPアドレスを割り当てます。これを行うと、ローカルで生成されるIPパケットの送信元アドレスとして固定アドレスが設定されます。

  3. ネットワークデバイスがRADIUSサーバーとの認証に使用する共有シークレットパスワードを設定します。

    設定したパスワードは、RADIUSサーバーに設定されているパスワードと一致する必要があります。パスワードにスペースが含まれている場合は、引用符で囲んでください。デバイスは、パスワードを暗号化された値として設定データベースに保存します。

    次に例を示します。

  4. (オプション)デフォルトと異なる場合、RADIUSサーバーに接続するポートを指定します。

    デフォルト ポートは 1812 です(RFC 2865 で指定)。

    次に例を示します。

    注:

    また、 accounting-port ステートメントを設定して、アカウンティングパケットを送信するRADIUSサーバーポートを指定することもできます。デフォルトは1813です(RFC 2866で指定)。

  5. (オプション)デバイスが RADIUS サーバーへの接続を試みる回数と、サーバーから応答を受け取るまでデバイスが待機する時間を設定します。

    デフォルトでは、デバイスはサーバーへのコンタクトを 3 回試み、3 秒間待ちます。 retry 値は1〜100回、 timeout 値は1〜1000秒の範囲で設定できます。

    例えば、RADIUSサーバーに2回コンタクトし、応答を10秒待つ場合:

  6. 認証順序を指定し、radiusオプションを含めます。

    次の例では、ユーザーがログインを試みると、 Junos OS はまず RADIUS サーバーに認証のクエリーを実行します。それが失敗した場合、TACACS+ サーバーにクエリーを実行します。それが失敗すると、ローカルで設定されたユーザーアカウントで認証を試みます。

  7. RADIUSサーバーがAccess-Requestメッセージへの返信にMessage Authenticator属性を含める必要があるかどうかを設定します。
    • メッセージ認証器属性は、中間者攻撃に対する保護を強化します。この機能を有効にすることをお勧めします。この機能を有効にするには:

    • この属性をサポートしていない RADIUS サーバーとの下位互換性のために、次のようにこの機能を無効にします。

    注:

    これらの設定は相互に排他的です。どちらか一方を明示的に設定することをお勧めします。デフォルトに頼らないでください。

  8. ローカルで定義されたユーザー アカウントを持たない RADIUS 認証されたユーザーにログイン クラスを割り当てます。

    ユーザーテンプレートアカウントは、ローカルユーザーアカウントと同じ方法で設定しますが、RADIUSサーバーがユーザーを認証するため、ローカル認証パスワードが設定されない場合を除きます。

    • すべてのRADIUS認証されたユーザーに同じ権限を使用するには、 remote ユーザーテンプレートを設定します。

      次に例を示します。

    • RADIUS認証されたユーザーごとに異なるログインクラスを使用するには、別の権限を付与します。

      1. Junos OS設定で複数のユーザーテンプレートを作成します。次に例を示します。

      2. 認証済みのユーザーを適切なユーザーテンプレートにマッピングするように、RADIUSサーバーを設定します。

        ジュニパー-ローカルユーザー名ジュニパーVSA(ベンダー固有属性)(ベンダー2636、タイプ1、文字列)を、デバイスに設定されたユーザーテンプレートの名前(前の例ではRO、OP、またはSU)に設定します。RADIUSサーバーは、この属性をRADIUS Access-Acceptメッセージに含めます。デバイスがローカルユーザーアカウントまたはユーザーテンプレートにユーザーを割り当てることができず、 remote ユーザーテンプレートが設定されていない場合、認証は失敗します。

システム認証用の RADIUS over TLS(RADSEC)の設定

RADIUS over TLS(RADSEC)は、システム認証とアカウンティングのために、JunosデバイスとRADIUSサーバー間のセキュアで暗号化された通信を提供します。システムは、OpenSSL APIを使用してSSL/TLSセッションを確立し、証明書の検証を実行します。

重要:この設定は、 system階層の下のシステムレベル認証(管理アクセス)に適用されます。ネットワークアクセス制御のためのRADSEC設定は、 access階層下にRADSECを設定します。

RADSECは、(UDPポート1812/1813ではなく)TCPポート2083でTLS暗号化を使用して管理認証トラフィックを保護します。RADSEC は、次の 2 つの認証モードをサポートしています。

  • 一方向TLS: クライアントは、信頼できるCA証明書を使用してサーバーの証明書を検証します。
  • 相互TLS(mTLS): クライアントとサーバーの両方が証明書を使用して互いを認証します。

始める前に:

以下を確認します。

  • CA証明書はサーバー検証に使用できます
  • クライアント証明書が利用可能です(相互認証にのみ必要)

CA証明書の設定:

ファイルをコピーして、名前を /var/tmp/certs/<trusted-ca-group>/の下の件名<hash>.0に変更できます。または、 /var/tmp/certs/<trusted-ca-group> の下にサブジェクト<hash>.0を含むシンボリックリンクを作成し、これを実際の証明書ファイルにリンクすることもできます。

  1. 件名のハッシュを生成します。
  2. シンボリック リンクの作成:
注:

同じサブジェクト名のハッシュ値を持つ CA ファイルが複数ある場合、それらの拡張子は異なる必要があります。例えば、「e5d93f80.1」などです。それに応じて、内線番号がどのように並べられたかについて検索が実行されます。

例:

クライアント証明書の設定(相互認証のみ):

相互認証の場合は、クライアント証明書と秘密キーを /var/tmp/certs/<certificate-id>/に配置します。

フォルダーには次のものが含まれている必要があります。

  • client.crt - クライアント証明書ファイル
  • client.key - クライアント秘密鍵ファイル

例:

システム認証にRADSECを設定するには:

  1. TLSをサポートするRADIUS認証サーバーを設定します。

    一方向TLS(サーバーのみの認証)の場合:

    相互TLS(双方向認証)の場合:

    例:

  2. (オプション)TLSをサポートするRADIUSアカウンティングサーバーを設定します。

    一方向TLSの場合:

    相互TLSの場合:

    例:

  3. 認証順序を設定します。
  4. リモートユーザーテンプレートを設定します。
  5. 設定を確認します。
  6. 設定をコミットします。

次の例は、相互認証による完全なRADSEC設定を示しています。

検証:

ネットワークデバイスにログインし、認証に成功していることを確認します。RADSECが動作していることを確認するために、ローカルパスワードが設定されていないアカウントでログインを試みます。

設定パラメータ:

  • trusted-ca-group/var/tmp/certs/の下にCA証明書を含むフォルダーに対応する信頼できるCAグループ名。OpenSSLは、これらのCA証明書を使用してRADIUSサーバーの証明書を検証します。
  • certificate-id/var/tmp/certs/の下のクライアント証明書と秘密鍵を含むフォルダーに対応する証明書識別子。相互認証に必要です。

管理インスタンスを使用するための RADIUS の設定

デフォルトでは、 Junos OS は、デフォルトのルーティング インスタンスを介して RADIUS の認証、許可、アカウンティング パケットをルーティングします。また、デフォルト以外のVRFインスタンスの管理インターフェイスを介してRADIUSパケットをルーティングすることもできます。

mgmt_junos管理インスタンスを介してRADIUSパケットをルーティングするには:

  1. mgmt_junos管理インスタンスを有効にします。

  2. 設定されている場合、RADIUS認証サーバーとRADIUSアカウンティングサーバーに routing-instance mgmt_junos ステートメントを設定します。

例:システム認証用の RADIUS サーバーの設定

この例では、RADIUSサーバーを介したシステム認証を設定します。

要件

始める前に:

  • デバイスの初期設定を行います。お使いのデバイスの『スタートアップガイド』を参照してください。

  • ネットワーク上に少なくとも1つのRADIUSサーバーを設定します。

概要

この例では、IP アドレスが 172.16.98.1 の新しい RADIUS サーバーを追加します。RADIUSサーバーの共有秘密パスワードをRadiussecret1として指定します。デバイスは、この秘密を暗号化された値として設定データベースに保存します。最後に、デバイスが RADIUS サーバーの要求で使用する送信元アドレスを指定します。ほとんどの場合、デバイスのループバックアドレス(この例では10.0.0.1)を使用することができます。

ネットワークデバイスでは、ローカルパスワード認証、RADIUS、TACACS+ など、複数のユーザー認証方法のサポートを設定できます。複数の認証方法を設定する場合、デバイスが異なる方法を試す順序に優先順位を付けることができます。この例では、まず RADIUS 認証サービスを使用し、それが失敗した場合はローカルパスワード認証を試みるようにデバイスを設定します。

RADIUSで認証されたユーザーは、ネットワークデバイス上のローカルユーザーアカウントまたはローカルユーザーテンプレートアカウントにマッピングする必要があり、これにより認可が決定されます。デフォルトでは、RADIUS認証されたユーザーがローカルユーザーアカウントまたは特定のユーザーテンプレートにマッピングされていない場合、設定されていれば、ユーザーは remote ユーザーテンプレートに割り当てられます。この例では、 remote ユーザーテンプレートを設定します。

設定

手順

CLIクイックコンフィグレーション

この例をすばやく設定するには、以下のコマンドをコピーしてテキスト ファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを [edit] 階層レベルでCLIにコピー アンド ペーストして、設定モードから commit を入力します。

ステップバイステップの手順

システム認証用に RADIUS サーバーを設定するには:

  1. 新しいRADIUSサーバーを追加し、そのIPアドレスを設定します。

  2. RADIUSサーバーの共有シークレット(パスワード)を指定します。

  3. 送信元アドレスとしてデバイスのループバックアドレスを指定します。

  4. デバイスの認証順序を指定し、 radius オプションを含めます。

  5. remoteユーザーテンプレートとそのログインクラスを設定します。
結果

設定モードで、 show system コマンドを入力して設定を確認します。出力に意図した設定が表示されない場合は、この例の設定手順を繰り返して修正します。

以下の出力には、この例に関連する設定階層の部分のみが含まれています。

デバイスの設定後、構成モードで commit を入力します。

検証

設定が正常に機能していることを確認します。

RADIUSサーバーの設定の確認

目的

RADIUSサーバーがユーザーを認証していることを確認します。

アクション

ネットワークデバイスにログインし、ログインに成功したことを確認します。デバイスが認証にRADIUSサーバーを使用していることを確認するために、設定でローカル認証パスワードを定義していないアカウントでログインを試みることができます。

RADIUS認証の設定(QFXシリーズまたはOCXシリーズ)

RADIUS 認証は、ルーターまたはスイッチへのアクセスを試みるユーザーを認証する方法です。RADIUS 認証を設定するタスクは次のとおりです。

注:

source-addressステートメントは[edit system-radius-server name]QFabricシステムの階層レベルではサポートされていません。

RADIUSサーバーの詳細を設定する

ルーターまたはスイッチでRADIUS認証を使用するには、各RADIUSサーバーの[edit system]階層レベルに1つのradius-serverステートメントを含めて、ネットワーク上の1つ以上のRADIUSサーバーに関する情報を設定します。

server-address は、RADIUSサーバーのアドレスです。

RADIUSサーバーに接続するポートを指定できます。デフォルトでは、ポート番号1812が使用されます(RFC 2865の指定どおり)。また、アカウンティングポートを指定して、アカウンティングパケットを送信することもできます。デフォルトは1813です(RFC 2866で指定)。

secret passwordステートメントでパスワードを指定する必要があります。パスワードにスペースが含まれている場合は、引用符で囲んでください。ローカルルーターまたはスイッチが使用するシークレットは、サーバーが使用するシークレットと一致する必要があります。

オプションで、ローカルルーターまたはスイッチがRADIUSサーバーからの応答を受信するまで待機する時間( timeout ステートメント内)と、ルーターまたはスイッチがRADIUS認証サーバーの連絡を試みる回数( retry ステートメント内)を指定できます。デフォルトでは、ルーターまたはスイッチは3秒間待機します。これは、1秒から90秒の値になるように設定できます。デフォルトでは、ルーターまたはスイッチがサーバーへの接続を3回再試行します。1〜10倍の値に設定できます。

source-addressステートメントを使用して、個々のサーバーまたは複数のRADIUSサーバーの論理アドレスを指定できます。

複数のRADIUSサーバーを設定するには、複数の radius-server ステートメントを含めます。

認証用に1つのアカウントを共有するユーザーセットを設定するには、テンプレートユーザーを作成します。これを行うには、LDAPS、RADIUS、TACACS+、およびローカルパスワードの認証順序で説明されているように、[edit system login]階層レベルにuserステートメントを含めます。

また、 [edit access] および [edit access profile] 階層レベルでRADIUS認証を設定することもできます。Junos OSは、以下の検索順序を使用して、認証に使用するサーバーのセットを決定します。

  1. [edit access profile profile-name radius-server server-address]

  2. [edit access radius-server server-address]

  3. [edit system radius-server server-address]

パスワード変更をサポートするためのMS-CHAPv2の設定

パスワード変更をサポートするためにMS-CHAPv2を設定する前に、以下を確認してください。

  • RADIUSサーバーの認証パラメーターを設定します。

  • 最初のパスワード試行に RADIUS サーバーを使用するための 認証順序 を設定します。

Microsoft実装のChallenge Handshake Authentication Protocolバージョン2(MS-CHAPv2)をルーターまたはスイッチで設定して、パスワードの変更をサポートできます。この機能は、パスワードが期限切れになったとき、リセットされたとき、または次のログイン時に変更するように設定されたときに、ルーターまたはスイッチにアクセスするユーザーにパスワードを変更するためのオプションを提供します。

MS-CHAP-v2を設定するには、 [edit system radius-options] 階層レベルで以下のステートメントを含めます。

以下の例では、MS-CHAPv2パスワードプロトコル、パスワード認証の順序、ユーザーアカウントを設定するためのステートメントを示しています。

外部RADIUSサーバーにアクセスするためのJunos OSの送信元アドレスを指定する

認証のために外部のRADIUSサーバーに接続するためにネットワークにアクセスするときに、Junos OSが使用する送信元アドレスを指定することができます。また、アカウント情報を送信するために RADIUS サーバーに接続するときに Junos OS が使用する送信元アドレスを指定することもできます。

RADIUSサーバーの送信元アドレスを指定するには、[edit system radius-server server-address]階層レベルでsource-addressステートメントを含めます。

source-address は、ルーターインターフェイスまたはスイッチインターフェイスのいずれかで構成された有効なIPアドレスです。

ジュニパーネットワークスのベンダー固有のRADIUS属性

Junos OSは、認証サーバー上でのジュニパーネットワークスのRADIUSベンダー固有属性(VSA)の設定をサポートしています。これらのVSAは、RADIUSベンダー固有属性にカプセル化され、ベンダーIDはジュニパーネットワークスのID番号2636に設定されています。

表1は 、設定可能なジュニパーネットワークスVSAの一覧です。

属性の一部は、POSIX 1003.2で定義されている拡張正規表現を受け入れます。正規表現にスペース、演算子、またはワイルドカード文字が含まれる場合は引用符で囲みます。詳細については、次を参照してください。

表1:ジュニパーネットワークスベンダー固有のRADIUS属性

名前

説明

タイプ

長さ

文字列

ジュニパーローカルユーザー名

デバイスにユーザーがログインする際にこのユーザーに割り当てられるユーザーテンプレート名を示します。この属性は、Access-Acceptパケットでのみ使用されます。

1

≥3

印刷可能なASCII文字を含む1つまたは複数のオクテット。

ジュニパー許可コマンド

ユーザーのログインクラスのパーミッションビットで承認されたコマンドに加えて、ユーザーがコマンドを実行できるようにする拡張正規表現を含みます。この属性は、Access-Acceptパケットでのみ使用されます。

2

≥3

拡張正規表現の形式で印刷可能なASCII文字を含む、1つまたは複数のオクテット。

ジュニパー拒否コマンド

ユーザーのログインクラスのパーミッションビットで承認されたコマンドを実行するユーザーパーミッションを拒否する拡張正規表現を含みます。この属性は、Access-Acceptパケットでのみ使用されます。

3

≥3

拡張正規表現の形式で印刷可能なASCII文字を含む、1つまたは複数のオクテット。

ジュニパー許可設定

ユーザーのログインクラスのパーミッションビットで承認されたステートメントに加えて、ユーザーが設定ステートメントを表示および変更できるようにする拡張正規表現を含みます。この属性は、Access-Acceptパケットでのみ使用されます。

4

≥3

拡張正規表現の形式で印刷可能なASCII文字を含む、1つまたは複数のオクテット。

ジュニパー拒否設定

ユーザーのログインクラスのパーミッションビットで承認された設定ステートメントを表示または変更するユーザーパーミッションを拒否する拡張正規表現を含みます。この属性は、Access-Acceptパケットでのみ使用されます。

5

≥3

拡張正規表現の形式で印刷可能なASCII文字を含む、1つまたは複数のオクテット。

ジュニパーインタラクティブコマンド

ユーザーが入力した対話型コマンドを示します。この属性は、Accounting-Requestパケットでのみ使用されます。

8

≥3

印刷可能なASCII文字を含む1つまたは複数のオクテット。

ジュニパーの設定変更

設定(データベース)の変更につながる対話型コマンドを示しています。この属性は、Accounting-Requestパケットでのみ使用されます。

9

≥3

印刷可能なASCII文字を含む1つまたは複数のオクテット。

ジュニパーユーザー権限

ユーザーパーミッションを指定するためにサーバーが使用する情報を含みます。この属性は、Access-Acceptパケットでのみ使用されます。

注:

RADIUS サーバーが Juniper-User-Permissions 属性を定義して、 maintenance パーミッションまたは all パーミッションをユーザーに付与する場合、ユーザーのグループメンバーシップのリストに UNIX ホイールグループは自動的には含まれません。ローカルシェルからの su root コマンドの実行など、一部の操作にはホイールグループメンバーシップのパーミッションが必要です。ただし、ネットワークデバイスが maintenance または allのパーミッションでローカルユーザーアカウントを定義すると、UNIXホイールグループへのメンバーシップが自動的にユーザーに付与されます。そのため、必要なパーミッションを持つユーザーテンプレートアカウントを作成し、個々のユーザーアカウントをユーザーテンプレートアカウントに関連付けることをお勧めします。

10

≥3

印刷可能なASCII文字を含む1つまたは複数のオクテット。

文字列は、スペースで区切られたパーミッションフラグのリストです。各フラグの正確な名前は、全体で指定する必要があります。

を参照してください 。/concept/../topic-map/junos-os-access-privileges.html#id-understanding-junos-os-access-privilege-levels)

ジュニパー認証タイプ

ユーザーの認証に使用される認証方法(ローカルデータベースまたはRADIUSサーバー)を示します。ローカルデータベースを使用してユーザーが認証される場合、属性の値には「local」が表示されます。ユーザーがRADIUSまたはLDAPサーバーを使用して認証される場合、属性の値には「remote」が表示されます。

11

≥5

印刷可能なASCII文字を含む1つまたは複数のオクテット。

ジュニパーセッションポート

確立されたセッションの送信元ポート番号を示します。

12

整数のサイズ

整数

ジュニパー許可設定正規表現
(RADIUSのみ)

ユーザーのログインクラスのパーミッションビットで承認されたステートメントに加えて、ユーザーが設定ステートメントを表示および変更できるようにする拡張正規表現を含みます。この属性は、Access-Acceptパケットでのみ使用されます。

13

≥3

拡張正規表現の形式で印刷可能なASCII文字を含む、1つまたは複数のオクテット。

ジュニパー拒否設定正規表現
(RADIUSのみ)

ユーザーのログインクラスのパーミッションビットで承認された設定ステートメントを表示または変更するユーザーパーミッションを拒否する拡張正規表現を含みます。この属性は、Access-Acceptパケットでのみ使用されます。

14

≥3

拡張正規表現の形式で印刷可能なASCII文字を含む、1つまたは複数のオクテット。

VSAの詳細については、RFC 2138、 リモート認証ダイヤルインユーザーサービス(RADIUS)を参照してください。

RADIUSまたはTACACS+サーバーで正規表現を使用してコマンドを許可または拒否する

Junos OS では、RADIUSおよびTACACS+認証ユーザーを、ローカルで定義されたユーザーアカウントまたはユーザーテンプレートアカウントにマッピングできます。これは、ユーザーのアクセス権限を定義します。また、オプションで、ジュニパーネットワークスのRADIUSおよびTACACS+ベンダー固有属性(VSA)をそれぞれの認証サーバーで定義することで、ユーザーの認証権限を設定することもできます。

ユーザーのログインクラスは、ユーザーが許可されている操作モードおよび設定モードコマンドと、ユーザーが設定のどのエリアを表示および変更できるかを決定する一連のパーミッションを定義します。また、ログインクラスは、パーミッションフラグが許可する機能に加えて、ユーザーに特定のコマンドを実行したり、設定の特定の領域を表示および変更する機能を許可または拒否する正規表現を定義することもできます。ログインクラスには、以下のステートメントを含めることで、ユーザー許可を定義できます。

  • permissions

  • allow-commands

  • allow-commands-regexps

  • allow-configuration

  • allow-configuration-regexps

  • deny-commands

  • deny-commands-regexps

  • deny-configuration

  • deny-configuration-regexps

同様に、RADIUSまたはTACACS+サーバー構成では、ジュニパーネットワークスVSAを使用して、ユーザーのアクセス権限を決定する特定のパーミッションまたは正規表現を定義できます。サポートされているRADIUSおよびTACACS+ VSAのリストについては、以下を参照してください。

RADIUSまたはTACACS+サーバーのユーザーパーミッションを、スペース区切りの値のリストとして定義できます。

  • RADIUSサーバーは、以下の属性と構文を使用します。

    次に例を示します。

  • TACACS+ サーバーは、以下の属性と構文を使用します。

    次に例を示します。

RADIUSまたはTACACS+サーバーは、単一の拡張正規表現(POSIX 1003.2で定義)を使用するジュニパーネットワークスVSAを定義して、ユーザーに特定のコマンドを実行したり、設定エリアを表示および変更する機能を許可または拒否することもできます。複数のコマンドまたは設定階層を括弧で囲み、パイプ記号を使用して区切ります。正規表現にスペース、演算子、またはワイルドカード文字が含まれる場合は引用符で囲みます。ローカルとリモートの両方で認証パラメータを設定する場合、デバイスは、TACACS+またはRADIUS認証時に受け取った正規表現を、ローカルデバイスで定義された正規表現とマージします。

  • RADIUSサーバーは、以下の属性と構文を使用します。

    次に例を示します。

  • TACACS+ サーバーは、以下の属性と構文を使用します。

    次に例を示します。

RADIUSおよびTACACS+サーバーは、ローカルデバイスで設定できる同じ *-regexps ステートメントに対応する属性の設定もサポートしています。 *-regexps TACACS+ 属性と *-Regexps RADIUS 属性は、以前の属性と同じ正規表現構文を使用しますが、変数で正規表現を設定できます。

  • RADIUSサーバーは、以下の属性と構文を使用します。

  • TACACS+ サーバーは、以下の属性と構文を使用します。

    例えば、TACACS+サーバー構成では、以下の属性が定義されている場合があります。

RADIUS または TACACS+ サーバーでは、個々の式を別の行で指定する簡略化された構文を使用して属性を定義することもできます。

RADIUSサーバーでは、以下の構文を使用して個々の正規表現を指定します。

TACACS+ サーバーの場合、以下の構文を使用して個々の正規表現を指定します。

注:
  • TACACS+ サーバー構文では、数値 1 から n は一意である必要がありますが、連続している必要はありません。例えば、以下の構文が有効です。

  • RADIUSまたはTACACS+サーバーは、個々の正規表現ラインの数に制限を課します。

  • show cli authorizationコマンドを発行すると、コマンド出力は、個別の行で個別表現を指定した場合でも、1行で正規表現を表示します。

ユーザーは、 show cli authorization 動作モードコマンドを発行することで、クラス、パーミッション、コマンドおよび構成認証を確認できます。

注:

認証パラメーターをネットワークデバイス上でローカルに設定し、RADIUSまたはTACACS+サーバー上でリモートで設定すると、デバイスは、TACACS+またはRADIUS認証時に受信した正規表現とローカルに設定された正規表現をマージします。最終表現に構文エラーが含まれている場合、全体的な結果は無効な正規表現になります。

ジュニパースイッチングフィルター VSAのガイドライン、一致条件およびアクション

デバイスは、ジュニパーネットワークスに固有のRADIUSサーバー属性の設定をサポートします。これらの属性は、VSA(ベンダー固有属性)として知られており、RFC 2138, Remote Authentication Dial In User Service (RADIUS) に記載されています。ベンダー固有の属性は、パブリック標準属性で提供されている機能以上にRADIUSサーバーの機能を拡張し、加入者管理とサービスサポートに必要な多くの便利な機能を実装できるようにします。

ジュニパーネットワークスVSAでは、ベンダーIDが2636に設定されています。

属性は、認証の成功または失敗の結果として、RADIUSサーバーからデバイスに送信されるクリアテキストのフィールドです。デバイスが RADIUS サーバーによって認証されるまで、認証は、ポートでサプリカントをブロックすることで不正なユーザーアクセスを防ぎます。RADIUSサーバーに認証付きのフィルタリング属性を実装することで、サプリカントのLANアクセスを一元的に制御する場所を提供します。

ジュニパースイッチングフィルター属性は、802.1X認証と連携して機能し、ネットワークへのサプリカントのアクセスを一元的に制御します。この属性を使用して、RADIUSサーバーにフィルターを設定できます。これらのフィルターはスイッチに送信され、802.1X認証を使用して認証されたユーザーに適用されます。

ジュニパースイッチングフィルターには、1つ以上のフィルター条件を含めることができます。フィルター項目は、結果として発生するアクションによって1つ以上の一致条件を使用して設定されます。一致条件とは、設定されたアクションが適用されるためにパケットが満たす必要がある基準です。設定されたアクションは、パケットが一致条件で指定された基準を満たす場合にスイッチが実行するアクションです。スイッチが実行できるアクションは、パケットの受け入れまたは拒否です。

RADIUSサーバーにポートファイアウォールフィルターを追加することで、複数のポートやデバイスにフィルターを追加する必要はありません。これを行う方法の1つは、 ジュニパー-Firewall-filter-name VSAを使用して、以前に設定されたポートファイアウォールフィルターをRADIUSサーバーに直接適用することです。ポートフィルター属性と同様に、このフィルターは認証プロセス中に適用され、そのアクションはデバイスポートで適用されます。

VSAガイドライン

ベンダー固有のRADIUS属性は、1属性あたり最大247文字です。さらに長さが必要な場合、ジュニパーは同じ属性の複数のインスタンスをサポートしており、最大4000文字です。247文字を超えるフィルターをサポートする場合は、複数のジュニパースイッチングフィルター属性を使用します。以下の例では、2つの属性を示しており、それぞれに247文字制限内の新しいフィルター条件が含まれています。

注:

4000文字の制限は、RADIUSサーバーとジュニパーデバイスの両方でサポートされているMTU、および使用される他のRADIUS属性の数によって異なります。

VSAの一致条件とアクションには、次のガイドラインが適用されます。

  • matchステートメントとactionステートメントの両方が必須です。

  • 一致条件が指定されていない場合、デフォルトではパケットが一致しているとみなされます。

  • アクションが指定されていない場合、デフォルトアクションはパケットを拒否します。

  • match および action ステートメントには任意またはすべてのオプションを含めることができます。

  • AND操作は、別のタイプでカンマで区切られているフィールドで実行されます。同じタイプのフィールドを繰り返すことはできません。

  • forwarding-classオプションを適用するには、スイッチ上でフォワーディングクラスを設定する必要があります。フォワーディングクラスがスイッチ上で設定されていない場合、このオプションは無視されます。

一致条件

表2は、RADIUSサーバー上のmatchコマンドを使用して、VSA属性をファイアウォールフィルターとして設定する場合に指定できる一致条件を示しています。一致条件を定義する文字列は、一致ステートメントと呼ばれます。

表2:一致条件

オプション

説明

destination-mac mac-address

パケットの宛先MAC(メディアアクセス制御)アドレス。

source-dot1q-tag tag

802.1Qヘッダーのタグ値は、 0 から 4095の範囲です。

destination-ip ip-address

最終宛先ノードのアドレス

ip-protocol protocol-id

IPv4プロトコル値。数値の代わりに、以下のテキスト同義語のいずれかを指定できます。

ahegp (8)esp (50gre (47)icmp (1)igmp (2)ipip (4)ipv6 (41)ospf (89)pim (103)rsvp (46)tcp (6)、またはudp (17)

source-port port

TCPまたはUDP(ユーザーデータグラムプロトコル)送信元ポートフィールド。通常、この一致ステートメントを ip-protocol 一致ステートメントと組み合わせて指定して、ポートで使用されているプロトコルを決定します。数値フィールドの代わりに、 destination-portの下に記載されているテキストオプションの1つを指定できます。

destination-port port

TCP または UDP 宛先ポート フィールド。通常、この一致ステートメントを ip-protocol 一致ステートメントと組み合わせて指定して、ポートで使用されているプロトコルを決定します。数値の代わりに、以下のテキスト同義語(ポート番号も記載されています)のいずれかを指定します。

afs (1483)bgp (179)biff (512)bootpc (68)bootps (67)cvspserver (2401)cmd (514)dhcp (67)domain (53)eklogin (2105)ekshell (2106)exec (512)finger (79)ftp (21)ftp-data (20)http (80)https (443)ident (113)imap (143)kerberos-sec (88)klogin (543)kpasswd (761)krb-prop (754)krbupdate (760)kshell (544)ldap (389)login (513)mobileip-agent (434)mobilip-mn (435)msdp (639)netbios-dgm (138) netbios-ns (137)netbios-ssn (139)nfsd (2049)nntp (119)ntalk (518)ntp (123)pop3 (110)pptp (1723)printer (515)radacct (1813)radius (1812)rip (520)rkinit (2108)smtp (25)snmp (161)snmptrap (162)snpp (444)socks (1080)ssh (22)sunrpc (111)syslog (514)telnet (23)tacacs-ds (65)talk (517)tftp (69)timed (525)who (513)xdmcp (177)zephyr-clt (2103)zephyr-hm (2104)

アクション

フィルタリング基準を指定する1つ以上の用語を定義する場合、パケットがすべての基準に一致する場合に実行するアクションも定義します。 表3は 、用語で指定できるアクションを示しています。

表3: VSAのアクション

オプション

説明

(allow | deny)

ICMP(Internet Control Message Protocol)メッセージを送信せずに、パケットを承認するか、気付かれることなくパケットを無効にします。

forwarding-class class-of-service

(オプション)以下の転送クラスのいずれかでパケットを分類します。

  • assured-forwarding

  • best-effort

  • expedited-forwarding

  • network-control

loss-priority (low | medium | high)

(オプション)PLP(パケット損失の優先度)を lowmedium、または highに設定します。転送クラスと損失の優先度の両方を指定します。

RADIUSアカウンティングについて

ネットワークデバイスは、IETF RFC 2866、 RADIUSアカウンティングをサポートします。デバイスにRADIUSアカウンティングを設定し、LANにログインまたはログアウトするユーザーの統計データを収集し、そのデータをRADIUSアカウンティングサーバーに送信することができます。統計データは、一般的なネットワーク監視、使用パターンの分析と追跡、またはセッションの期間やアクセスしたサービスの種類に基づくユーザーへの課金に使用できます。

RADIUSアカウンティングを設定するには、以下を指定します。

  • デバイスから統計データを受信するための1つ以上のRADIUSアカウンティングサーバー

  • 収集するアカウンティング データの種類

RADIUSアカウンティングと認証の両方に同じサーバーを使用することも、別々のサーバーを使用することも可能です。RADIUSアカウンティングサーバーのリストを指定できます。デバイスは、設定された順序でサーバーにクエリーを実行します。プライマリサーバー(設定された最初のサーバー)が使用できない場合、デバイスは応答を受信するまで、リスト内の各サーバーに接続しようとします。

デバイスとRADIUSサーバー間のRADIUSアカウンティングプロセスは、次のように機能します。

  1. RADIUSアカウンティングサーバーは、特定のポートでUser Datagram Protocol(UDP)パケットをリッスンします。RADIUSアカウンティングのデフォルトポートは1813です。

  2. デバイスは、イベントレコードを含む Accounting-Request パケットをアカウンティングサーバーに転送します。このサプリカントに関連するイベントレコードには、その値がこのサプリカントのユーザーサービスの開始を示す Acct-Status-Type 属性が含まれています。サプリカントのセッションが終了すると、アカウンティング要求には、ユーザーサービスの終了を示す Acct-Status-Type 属性値が含まれます。RADIUSアカウンティングサーバーは、セッション情報とセッションの長さを含むstop-accountingレコードとしてこれを記録します。

  3. RADIUSアカウンティングサーバーは、これらのイベントをstart-accountingまたはstop-accountingレコードとしてファイルに記録します。FreeRADIUSでは、ファイル名は192.0.2.0のようなサーバーのアドレスです。

  4. アカウンティングサーバーは、アカウンティング要求を受信したことを確認する Accounting-Response パケットをデバイスに送信します。

  5. デバイスがサーバーからのAccounting-Responseパケットを受信できない場合、デバイスはサーバーが応答を返すまでアカウンティング要求を送信し続けます。

このプロセスで収集された統計情報は、RADIUSサーバーで確認できます。統計情報を確認するには、それらを受信するように設定されたログファイルにアクセスします。

RADIUSシステムアカウンティングの設定

RADIUSアカウンティングを有効にすると、RADIUSクライアントとして機能するジュニパーネットワークスデバイスが、ソフトウェアログイン、設定変更、対話型コマンドなどのユーザーアクティビティについてRADIUSサーバーに通知できるようになります。RADIUSアカウンティングの枠組みは、RFC 2866、 RADIUSアカウンティング」に記載されています。

RADIUSサーバー上のユーザーイベントの監査を設定する

RADIUSアカウンティングを設定するには:

  1. 監査するイベントを設定します。

    次に例を示します。

    events 以下の 1 つ以上を含めることができます。

    • login—監査ログイン

    • change-log- 構成の変更を監査する

    • interactive-commands—監査インタラクティブコマンド(任意のコマンドライン入力)

  2. RADIUSアカウンティングを有効にします。
  3. 1つ以上のRADIUSアカウンティングサーバーのアドレスを設定します。

    次に例を示します。

    注:

    [edit system accounting destination radius]階層レベルでRADIUSサーバーを設定しない場合、デバイスは[edit system radius-server]階層レベルで設定されたRADIUSサーバーを使用します。

  4. (オプション)RADIUSアカウンティング要求の送信元アドレスを設定します。

    次に例を示します。

    送信元アドレスは、ルーターインターフェイスまたはスイッチインターフェイスのいずれかで構成された有効なIPv4アドレスまたはIPv6アドレスです。ネットワークデバイスにRADIUSサーバーに到達できる複数のインターフェイスがある場合は、デバイスがRADIUSサーバーとのすべての通信に使用できるIPアドレスを割り当てます。これを行うと、ローカルで生成されるIPパケットの送信元アドレスとして固定アドレスが設定されます。

  5. ネットワークデバイスがRADIUSアカウンティングサーバーとの認証に使用する共有シークレットパスワードを設定します。

    設定したパスワードは、RADIUSサーバーに設定されているパスワードと一致する必要があります。パスワードにスペースが含まれている場合は、引用符で囲んでください。デバイスは、パスワードを暗号化された値として設定データベースに保存します。

    次に例を示します。

  6. (オプション)必要に応じて、アカウンティングパケットを送信するRADIUSアカウンティングサーバーポートを、デフォルト(1813)と異なる場合に指定します。
    注:

    [edit access profile profile-name accounting-order]階層レベルでRADIUSアカウンティングを有効にすると、accounting-portステートメントに値を指定しなくても、デフォルトのポート1813でアカウンティングがトリガーされます。

  7. (オプション)デバイスが RADIUS アカウンティング サーバーにコンタクトしようとする回数と、サーバーから応答を受け取るまでの待ち時間を設定します。

    デフォルトでは、デバイスはサーバーへのコンタクトを 3 回試み、3 秒間待ちます。 retry 値は1〜100回、 timeout 値は1〜1000秒の範囲で設定できます。

    例えば、サーバーに2回問い合わせ、応答を10秒待つ場合:

  8. (オプション)RADIUSアカウンティングパケットをデフォルトのルーティングインスタンスではなく、デフォルト以外の管理インスタンスでルーティングするには、 routing-instance mgmt_junos ステートメントを設定します。
  9. (オプション)[edit system radius-options] 階層レベルで enhanced-accounting ステートメントを設定して、ユーザーログインイベントのアクセス方法、リモートポート、アクセス権限などの追加のアカウンティング属性を含めます。
    注:

    監査する属性値の数を制限するには、[edit system accounting]階層レベルでenhanced-avs-max <number>ステートメントを設定します。

次の例では、RADIUS アカウンティング用に 3 つのサーバー(10.5.5.5、10.6.6.6、10.7.7.7)を構成しています。

変更履歴テーブル

サポートされる機能は、使用しているプラットフォームとリリースによって決まります。 機能エクスプローラー を使用して、機能がお使いのプラットフォームでサポートされているかどうかを確認します。

リリース
説明
18.1R1
Junos OSリリース18.1R1以降、既存のRADIUSの動作が強化され、デフォルト以外のVRFインスタンスの管理インターフェイスがサポートされるようになりました。