RADIUS Authentication
Junos OS はRADIUSをサポートしており、ネットワークデバイスのユーザーを一元的に認証できます。デバイス上で RADIUS 認証を使用するには、ネットワーク管理者が、ネットワーク上の 1 台以上の RADIUS サーバーの情報を構成する必要があります。また、デバイス上で RADIUS アカウンティングを構成すると、LAN にログインするユーザーやログアウトするユーザーの統計データを収集して、RADIUS アカウンティング サーバーにデータを送信できます。
RADIUS サーバー認証を構成する
RADIUS 認証は、ネットワーク デバイスへのアクセスを試みるユーザーを認証する方法です。以下のセクションでは、RADIUS を使用する理由とその構成方法について説明します。
RADIUS を使用する理由
ネットワーク管理者は、RADIUS や TACACS+ など、ネットワーク デバイス上のユーザーの一元的認証に異なるプロトコルを使用できます。RADIUS は、マルチベンダー IETF 標準であり、TACACS+ や他の独自システムよりもその機能が広く受け入れられているため、当社は RADIUS を推奨しています。また、当社はセキュリティ強化のためにワンタイムパスワード システムの利用を推奨していますが、これらのシステムのベンダーすべてが RADIUS をサポートしています。
相互運用性とパフォーマンスが優先事項である場合は、RADIUS を使用してください。
-
相互運用性 - RADIUS は TACACS+ よりも高い相互運用性を備えていますが、これは主に TACACS+ が独自仕様であるためです。TACACS+ はより多くのプロトコルをサポートしていますが、RADIUS は普遍的にサポートされています。
-
パフォーマンス - RADIUS は、ルーターやスイッチの負荷を大幅に軽減します。このため、ネットワーク エンジニアは一般的に TACACS+ よりも RADIUS を好みます。
RADIUSサーバーの詳細を設定する
デバイスで RADIUS 認証を使用するには、1 つの radius-server
ステートメントを、各 RADIUS サーバーの [edit system]
階層レベルで記述して、ネットワーク上の 1 つ以上の RADIUS サーバーの情報を構成します。デバイスは、構成された順番で RADIUS サーバーに対してクエリーを実行します。プライマリサーバー(最初に設定されたサーバー)が利用できない場合、デバイスは応答を受け取るまでリスト内の各サーバーへのコンタクトを試みます。
ネットワーク デバイスにより、RADIUS 認証されたユーザーをローカルで定義されたユーザー アカウントまたはユーザー テンプレート アカウントにマッピングでき、これにより認証が決定されます。デフォルトでは、Junos OS は、次の場合に、RADIUS 認証されたユーザーをユーザー テンプレート アカウント remote
(構成済みの場合)に割り当てます。
-
認証されたユーザーの場合、ローカルデバイスにユーザーアカウントは設定されていません。
-
RADIUS サーバーは、ローカル ユーザー テンプレートにユーザーを割り当てません。また、サーバーが割り当てるテンプレートは、ローカル デバイスでは構成されません。
RADIUS サーバーは、認証済みユーザーを別のユーザー テンプレートに割り当て、そのユーザーに異なる管理権限を付与できます。ユーザーはCLIに同じログイン名を持つことになりますが、割り当てられたテンプレートからログインクラス、アクセス権限、有効なユーザーIDを継承します。RADIUS 認証されたユーザーがローカルで定義されたユーザー アカウントやユーザー テンプレートにマッピングされておらず、 テンプレーremote
トが構成されていない場合、認証は失敗します。
remote
のユーザー名はJunos OSの特別なケースで、常に小文字でなければなりません。これは、リモートサーバーで認証されていますが、デバイスにローカルで設定されたユーザーアカウントを持っていないユーザーのテンプレートとして機能します。Junos OSは、ローカルで定義されたアカウントがない認証済みのユーザーに、remote
のテンプレートの権限を適用します。remote
のテンプレートにマッピングされたすべてのユーザーは、同じログインクラスにいます。
リモート認証は複数のデバイスで構成するため、通常は構成グループ内部で構成します。ここで示す手順は、global
と呼ばれる設定グループにあります。設定グループを使用するのは、オプションです。
RADIUS サーバーによる認証を構成するには:
管理インスタンスを使用するために RADIUS を構成する
デフォルトでは、Junos OS は、デフォルトのルーティング インスタンスを介して、RADIUS の認証、許可、アカウンティング パケットをルーティングします。また、非デフォルトの VRF インスタンスの管理インターフェイス経由で、RADIUS パケットをルーティングすることも可能です。
mgmt_junos
管理インスタンスを介して RADIUS パケットをルーティングするには:
-
mgmt_junos
の管理インスタンスを有効にします。[edit system] user@host# set management-instance
-
RADIUS 認証サーバーと RADIUS アカウンティング サーバーが構成されている場合は、これらに ステート
routing-instance mgmt_junos
メントを構成します。[edit system] user@host# set radius-server server-address routing-instance mgmt_junos user@host# set accounting destination radius server server-address 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
を入力します。
set system radius-server 172.16.98.1 set system radius-server 172.16.98.1 secret Radiussecret1 set system radius-server 172.16.98.1 source-address 10.0.0.1 set system authentication-order [radius password] set system login user remote class operator
ステップバイステップでの手順
システム認証用の RADIUS サーバーの設定:
-
RADIUS サーバーを新規に追加し、その IP アドレスを設定します。
[edit system] user@host# set radius-server 172.16.98.1
-
RADIUS サーバーの共有シークレット(パスワード)を指定します。
[edit system] user@host# set radius-server 172.16.98.1 secret Radiussecret1
-
送信元アドレスとして、デバイスのループバックアドレスを指定します。
[edit system] user@host# set radius-server 172.16.98.1 source-address 10.0.0.1
-
デバイスの認証順序を指定し、
radius
オプションを含めます。[edit system] user@host# set authentication-order [radius password]
remote
ユーザーテンプレートとそのログインクラスを設定します。[edit system] user@host# set login user remote class operator
結果
設定モードで、show system
コマンドを入力して設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の設定手順を繰り返して設定を修正します。
以下の出力には、この例に関連する設定階層の部分のみが含まれています。
[edit] user@host# show system login { user remote { class operator; } } authentication-order [ radius password ]; radius-server { 172.16.98.1 { secret "$9$ABC123"; ## SECRET-DATA source-address 10.0.0.1; } }
デバイスの設定後、構成モードでcommit
を入力します。
RADIUS認証の設定(QFXシリーズまたはOCXシリーズ)
RADIUS認証は、ルーターまたはスイッチへのアクセスを求めるユーザーを認証する方法です。RADIUS認証を設定するタスクは次のとおりです。
source-address
ステートメントは、QFabricシステムの[edit system-radius-server name]
階層レベルではサポートされていません。
RADIUSサーバーの詳細を設定する
ルーターまたはスイッチでRADIUS認証を使用するには、各RADIUSサーバーの[edit system]
階層レベルに1つのradius-server
ステートメントを記述し、ネットワーク上の1つ以上のRADIUSサーバーの情報を構成します。
[edit system] radius-server server-address { accounting-port port-number; accounting-retry number; accounting-timeout seconds; dynamic-request-port number; max-outstanding-requests value; port number; preauthentication-port number; preauthentication-secret secret; retry number; routing-instance routing-instance-name; secret password; source-addresssource-address; timeout seconds; }
server-addressはRADIUSサーバーのアドレスです。
RADIUSサーバーに接続するポートを指定できます。デフォルトでは、ポート番号1812が使用されます(RFC2865の指定どおり)。また、アカウンティングポートを指定して、アカウンティングパケットを送信することもできます。デフォルトは1813です(RFC 2866の指定どおり)。
secret password
ステートメントでパスワードを指定する必要があります。パスワートにスペースが含まれている場合、引用符で囲んでください。ローカルルーターまたはスイッチが使用する機密情報が、サーバーが使用する機密情報と一致している必要があります。
オプションで、ローカルルーターまたはスイッチがRADIUSサーバーからの応答を受信するまで待機する時間(timeout
ステートメント内)とRADIUS認証サーバーの連絡を試みる回数(retry
ステートメント)を指定できます。デフォルトでは、ルーターまたはスイッチは3秒間待機します。これを1~90秒の値に設定できます。デフォルトでは、ルーターまたはスイッチがサーバーへの接続を3回再試行します。これを1~10回の値に設定できます。
source-address
ステートメントを使用して、個々のサーバーまたは複数のRADIUSサーバーの論理アドレスを指定できます。
複数のRADIUSサーバーを設定するには、複数のradius-server
ステートメントを含めます。
認証用に単一アカウントを共有するユーザーセットを設定するには、テンプレートユーザーを作成します。これを行うには、例:認証順序の設定に記述されているように、[edit system login]
階層レベルにuser
ステートメントを含めます。
また、RADIUS認証は[edit access]
および[edit access profile]
階層レベルでも設定できます。Junos OSは、以下の検索順序を使用して、認証に使用するサーバーのセットを決定します。
[edit access profile profile-name radius-server server-address]
[edit access radius-server server-address]
[edit system radius-server server-address]
パスワード変更をサポートするためのMS-CHAPv2の設定
パスワード変更をサポートできるようにMS-CHAPv2を設定する前に、以下をおこなってください。
RADIUSサーバー認証パラメーターを設定します。
authentication-orderを設定して、初期パスワード試行にRADIUSサーバーを使用します。
Microsoft実装のChallenge Handshake Authentication Protocolバージョン2(MS-CHAPv2)をルーターまたはスイッチで設定して、パスワードの変更をサポートできます。この機能は、パスワードが期限切れになった時やリセットされた時、または次のログイン時に変更するように設定された時に、ユーザーにルーターにアクセスするか、パスワードを変更するためのオプションを提供します。
MS-CHAP-v2を設定するには、[edit system radius-options]
階層レベルに以下のステートメントを含めます。
[edit system radius-options] password-protocol mschap-v2;
以下の例では、MS-CHAPv2パスワードプロトコル、パスワード認証の順序およびユーザーアカウントを設定するためのステートメントを示しています。
[edit] system { authentication-order [ radius password ]; radius-server { 192.168.69.149 secret "$ABC123"; ## SECRET-DATA } radius-options { password-protocol mschap-v2; } login { user bob { class operator; } } }
外部RADIUSサーバーにアクセスするためにJunos OSの送信元アドレスを指定する
外部のRADIUSサーバーに接続して認証するためにネットワークにアクセスするときに、Junos OSが使用する送信元アドレスを指定することができます。また、アカウント情報を送信するにあたりRADIUSサーバーに接続する際に、Junos OSが使用する送信元アドレスを指定することもできます。
RADIUSサーバーの送信元アドレスを指定するには、[edit system radius-server server-address]
階層レベルでsource-address
ステートメントを含めます。
[edit system radius-server server-address] source-address source-address;
source-addressはルーターインターフェイスまたはスイッチインターフェイスのいずれかで設定された有効なIPアドレスです。
ジュニパーネットワークスのベンダー固有RADIUS 属性
Junos OSは、認証サーバー上でのジュニパーネットワークスRADIUS ベンダー固有属性(VSA)の設定をサポートします。このVSAは、RADIUSベンダー固有属性にカプセル化されており、ベンダーIDがジュニパーネットワークスのID番号2636に設定されています。
表 1は、設定可能なジュニパーネットワークスVSAの一覧です。
属性の一部では、POSIX 1003.2で定義された拡張正規表現を利用できます。正規表現にスペース、オペレーターまたはワイルドカード文字が含まれる場合は引用符で囲みます。詳細については、次を参照してください。
お名前 |
説明 |
タイプ |
長さ |
文字列 |
---|---|---|---|---|
Juniper-Local-User-Name |
デバイスにユーザーがログインする際にこのユーザーに割り当てられるユーザーテンプレート名を示します。この属性は、Access-Acceptパケットのみで使用されます。 |
1 |
≥3 |
印刷可能なASCII文字を含む、1つまたは複数のオクテット。 |
Juniper-Allow-Commands |
ユーザーのログインクラスのパーミッションビットで承認されたコマンドに加え、ユーザーがコマンドを実行できるようにする拡張正規表現を含みます。この属性は、Access-Acceptパケットのみで使用されます。 |
2 |
≥3 |
拡張正規表現の形式で印刷可能なASCII文字を含む、1つまたは複数のオクテット。 |
Juniper-Deny-Commands |
ユーザーのログインクラスのパーミッションビットで承認されたコマンドを実行するユーザーパーミッションを拒否する拡張正規表現を含みます。この属性は、Access-Acceptパケットのみで使用されます。 |
3 |
≥3 |
拡張正規表現の形式で印刷可能なASCII文字を含む、1つまたは複数のオクテット。 |
Juniper-Allow-Configuration |
ユーザーのログインクラスのパーミッションビットで承認されたステートメントに加えて、ユーザーによる設定ステートメントの表示および変更を可能にする拡張正規表現を含みます。この属性は、Access-Acceptパケットのみで使用されます。 |
4 |
≥3 |
拡張正規表現の形式で印刷可能なASCII文字を含む、1つまたは複数のオクテット。 |
Juniper-Deny-Configuration |
ユーザーのログインクラスのパーミッションビットで承認された設定ステートメントを表示または変更するユーザーパーミッションを拒否する拡張正規表現を含みます。この属性は、Access-Acceptパケットのみで使用されます。 |
5 |
≥3 |
拡張正規表現の形式で印刷可能なASCII文字を含む、1つまたは複数のオクテット。 |
Juniper-Interactive-Command |
ユーザーが入力したインターフェイスコマンドを示しています。この属性は、Accounting-Requestパケットのみで使用されます。 |
8 |
≥3 |
印刷可能なASCII文字を含む、1つまたは複数のオクテット。 |
Juniper-Configuration-Change |
設定(データベース)の変更につながる対話型コマンドを示しています。この属性は、Accounting-Requestパケットのみで使用されます。 |
9 |
≥3 |
印刷可能なASCII文字を含む、1つまたは複数のオクテット。 |
Juniper-User-Permissions |
ユーザーパーミッションを指定するのにサーバーが使用する情報を含みます。この属性は、Access-Acceptパケットのみで使用されます。 注:
RADIUSサーバーがパーミッション |
10 |
≥3 |
印刷可能なASCII文字を含む、1つまたは複数のオクテット。 文字列は、スペースで区切られたパーミッションフラグのリストです。全体で、各フラグの名前を正確に指定しなければなりません。 「アクセス権限レベルの概要」を参照してください。 |
Juniper-Authentication-Type |
ユーザーの認証に使用される認証方法(ローカルデータベースまたはRADIUSサーバー)を示します。ローカルデータベースを使用してユーザーが認証される場合、属性の値には「local」が表示されます。RADIUSまたはLDAPサーバーを使用してユーザーを認証する場合、属性の値には「remote」が表示されます。 |
11 |
≥5 |
印刷可能なASCII文字を含む、1つまたは複数のオクテット。 |
Juniper-Session-Port |
確立されたセッションの送信元ポート番号を示します。 |
12 |
整数のサイズ |
整数 |
Juniper-Allow-Configuration-Regexps(RADIUSのみ) |
ユーザーのログインクラスのパーミッションビットで承認されたステートメントに加えて、ユーザーによる設定ステートメントの表示および変更を可能にする拡張正規表現を含みます。この属性は、Access-Acceptパケットのみで使用されます。 |
13 |
≥3 |
拡張正規表現の形式で印刷可能なASCII文字を含む、1つまたは複数のオクテット。 |
Juniper-Deny-Configuration-Regexps(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サーバーは、以下の属性と構文を使用します。
Juniper-User-Permissions += "flag1 flag2 flag3",
たとえば、以下のように表示されます。
Juniper-User-Permissions += "interface interface-control configure",
-
TACACS+サーバーは、以下の属性と構文を使用します。
user-permissions = "flag1 flag2 flag3"
たとえば、以下のように表示されます。
user-permissions = "interface interface-control configure"
RADIUSまたはTACACS+サーバーはまた、単一の拡張正規表現(POSIX 1003.2で定義)を使用するジュニパーネットワークスVSAを定義して、ユーザーに特定のコマンドを実行したり、設定エリアを表示・変更する機能を許可または拒否することもできます。複数のコマンドまたは構成階層を括弧で囲み、パイプ記号を使用して区切ります。正規表現にスペース、オペレーターまたはワイルドカード文字が含まれる場合は引用符で囲みます。ローカルとリモートの両方で認証パラメータを設定する場合、デバイスは、TACACS+RADIUS認証時に受け取った正規表現と、ローカルデバイスで定義された正規表現をマージします。
-
RADIUS認証サーバーは、以下の属性と構文を使用します。
Juniper-Allow-Commands += "(cmd1)|(cmd2)|(cmdn)", Juniper-Deny-Commands += "(cmd1)|(cmd2)|(cmdn)", Juniper-Allow-Configuration += "(config1)|(config2)|(confign)", Juniper-Deny-Configuration += "(config1)|(config2)|(confign)",
たとえば、以下のように表示されます。
Juniper-Allow-Commands += "(test)|(ping)|(quit)", Juniper-Deny-Commands += "(request)|(restart)", Juniper-Allow-Configuration += "(groups re0)|(system radius-server)", Juniper-Deny-Configuration += "(system radius-options)|(system accounting)",
-
TACACS+ 認証サーバーは、以下の属性と構文を使用します。
allow-commands = "(cmd1)|(cmd2)|(cmdn)" deny-commands = "(cmd1)|(cmd2)|(cmdn)" allow-configuration = "(config1)|(config2)|(confign)" deny-configuration = "(config1)|(config2)|(confign)"
たとえば、以下のように表示されます。
allow-commands = "(test)|(ping)|(quit)" deny-commands = "(request)|(restart)" allow-configuration = "(groups re0)|(system tacplus-server)" deny-configuration = "(system tacplus-options)|(system accounting)"
RADIUSおよびTACACS+サーバーは、ローカルデバイスで構成できる同じ*-regexps
ステートメントに対応する属性を設定します。*-regexps
TACACS+属性と*-Regexps
RADIUS 属性は、以前の属性と同じ正規表現構文を使用しますが、変数で正規表現を構成することができます。
-
RADIUS認証サーバーは、以下の属性と構文を使用します。
Juniper-Allow-Configuration-Regexps += "(config1)|(config2)|(confign)", Juniper-Deny-Configuration-Regexps += "(config1)|(config2)|(confign)",
-
TACACS+ 認証サーバーは、以下の属性と構文を使用します。
allow-commands-regexps = "(cmd1)|(cmd2)|(cmdn)" deny-commands-regexps = "(cmd1)|(cmd2)|(cmdn)" allow-configuration-regexps = "(config1)|(config2)|(confign)" deny-configuration-regexps = "(config1)|(config2)|(confign)"
例えば、TACACS+サーバー構成は、以下の属性を定義する場合があります。
allow-commands-regexps = "(show cli .*)|(ping 10.1.1..*)" deny-commands-regexps = "(configure .*)|(edit)|(commit)|(rollback .*)"
RADIUSまたはTACACS+サーバーでは、単一行で個別の表現を指定する簡略化された構文で属性を定義できます。
RADIUSサーバーでは、以下の構文を使用して個別の正規表現を指定します。
Juniper-User-Permissions += "permission-flag1", Juniper-User-Permissions += "permission-flag2", Juniper-User-Permissions += "permission-flagn", Juniper-Allow-Commands += "cmd1", Juniper-Allow-Commands += "cmd2", Juniper-Allow-Commands += "cmdn", Juniper-Deny-Commands += "cmd1", Juniper-Deny-Commands += "cmd2", Juniper-Deny-Commands += "cmdn", Juniper-Allow-Configuration += "config1", Juniper-Allow-Configuration += "config2", Juniper-Allow-Configuration += "confign", Juniper-Deny-Configuration += "config1", Juniper-Deny-Configuration += "config2", Juniper-Deny-Configuration += "confign",
TACACSサーバーでは、以下の構文を使用して個別の正規表現を指定します。
user-permissions1 = "permission-flag1" user-permissions2 = "permission-flag2" user-permissionsn = "permission-flagn" allow-commands1 = "cmd1" allow-commands2 = "cmd2" allow-commandsn = "cmdn" deny-commands1 = "cmd1" deny-commands2 = "cmd2" deny-commandsn = "cmdn" allow-configuration1 = "config1" allow-configuration2 = "config2" allow-configurationn = "confign" deny-configuration1 = "config1" deny-configuration2 = "config2" deny-configurationn = "confign"
-
TACACS+サーバー構文では、数値1~nは固有でなければなりませんが、順番になっている必要はありません。例えば、以下の構文が有効です。
allow-commands1="cmd1" allow-commands3="cmd3" allow-commands2="cmd2" deny-commands3="cmd3" deny-commands2="cmd2" deny-commands1="cmd1"
-
RADIUSまたはTACACS+サーバーは、個別の正規表現ラインの数に制限を付けます。
-
show cli authorization
コマンドを発行すると、コマンドの出力は、個別の行で個別表現を指定した場合でも、1行で正規表現を表示します。
ユーザーは、 show cli authorization
操作モードコマンドを発行することで、クラス、パーミッション、コマンドおよび構成認証を確認できます。
user@host> show cli authorization
認証パラメーターをネットワークデバイス上でローカルに設定し、RADIUSまたはTACACS+サーバー上でもリモートで設定すると、デバイスは、TACACS+RADIUS認証時に受け取った正規表現とローカルで構成された正規表現をマージします。最終表現に構文エラーが含まれる場合、全体的な結果は無効な正規表現となります。
Juniper-Switching-Filter VSAのガイドライン、一致条件およびアクション
デバイスは、ジュニパーネットワークスに固有のRADIUSサーバー属性の設定をサポートします。これらの属性は、VSA(ベンダー固有属性)として知られており、RFC2138, Remote Authentication Dial In User Service (RADIUS) に記載されています。ベンダー固有の属性は、公式の標準属性で提供されている機能以上にRADIUSサーバーの機能を拡張します。これにより、加入者管理とサービスサポートに必要な多くの有用な機能を実装することができます。
ジュニパーネットワークスVSAでは、ベンダーIDが2636に設定されています。
属性は、認証の成功または失敗の結果として、RADIUSサーバーからデバイスに送信されるクリアテキストのフィールドです。デバイスがRADIUSサーバーによって認証されるまで、認証により、ポートでサプリカントをブロックすることで不正なユーザーアクセスを防ぐことができます。RADIUSサーバーに認認証付きのフィルタリング属性を実装することで、サプリカントのLANアクセスを一つの場所から制御できます。
Juniper-Switching-Filter属性は、802.1X認証と連携して機能し、サプリカントによるネットワークへのアクセスを一元的に制御します。この属性を使用して、RADIUSサーバーにフィルターを設定することができます。これらのフィルターはスイッチに送信され、802.1X認証を使用して認証されたユーザーに適用されます。
Juniper-Switching-Filterには、1つ以上のフィルター条件を含めることができます。フィルター項目は、結果として発生するアクションによって1つ以上の一致条件を使用して設定されます。一致条件とは、設定されたアクションが適用されるためにパケットが一致する必要がある基準です。設定されたアクションは、パケットが一致条件で指定された基準を満たす場合にスイッチが実行するアクションです。スイッチが実行できるアクションは、パケットの受け入れまたは拒否です。
RADIUSサーバーにポートファイアウォールフィルターを追加することで、複数のポートとデバイスにフィルターを追加する必要はありません。これを行う方法の1つは、Juniper-Firewall-filter-name VSAを使用して、以前設定したポートファイアウォールフィルターを直接RADIUSサーバーに適用することです。ポートフィルター属性のように、認証プロセス中にこのフィルターが適用され、そのアクションがデバイスポートで適用されます。
VSAガイドライン
ベンダーに固有のRADIUS属性は、1属性あたり最大247文字です。さらに長さが必要な場合、ジュニパーでは同じ属性に対する複数のインスタンスをサポートしており、最大4000文字までに設定できます。247文字を超えるフィルターに対応する場合は、Juniper-Switching-Filter属性を複数回使用してください。以下の例では、2つの属性を使用しており、それぞれに247文字制限内の新しいフィルター条件が含まれています。
Juniper-Switching-Filter = "Match ip-protocol 17 destination-port 67 Destination-ip 192.168.1.0/24 Action deny, match destination-ip 10.1.7.253 destination-port 53 action allow" Juniper-Switching-Filter += "Match ip-protocol 1 destination-port 4000 Destination-ip 192.168.21.0/24 Action deny"
4000文字の制限は、RADIUSサーバーとジュニパーデバイスの両方でサポートされているMTU、および使用される他のRADIUS属性の数によって異なります。
VSAの一致条件とアクションには、次のガイドラインが適用されます。
-
match
ステートメントとaction
ステートメントの両方が必須です。 -
一致条件が指定されていない場合、デフォルトではパケットが一致しているとされます。
-
アクションが指定されていない場合、デフォルトアクションはパケットを拒否します。
-
各
match
およびaction
ステートメントには任意またはすべてのオプションを含めることができます。 -
AND操作は、別のタイプでカンマで区切られているフィールドで実行されます。同じタイプのフィールドを繰り返すことはできません。
-
forwarding-class
オプションが適用されるには、スイッチ上でフォワーディングクラスを設定する必要があります。フォワーディングクラスがスイッチ上で設定されていない場合、このオプションは無視されます。
一致条件
表 2は、RADIUSサーバー上のmatch
コマンドを使用して、VSA属性をファイアウォールフィルターとして設定する場合に指定できる一致条件を説明します。一致条件を定義する文字列は、一致ステートメントと呼ばれます。
オプション |
説明 |
---|---|
|
パケットの宛先MAC(メディアアクセス制御)アドレス |
|
802.1Qヘッダーのタグ値は、 |
|
最終宛先ノードのアドレス |
|
IPv4プロトコル値。数値の代わりに、以下のテキスト のいずれかを指定できます。 |
|
TCPまたはUDP(ユーザーデータグラムプロトコル)送信元ポートフィールド。通常、 |
|
TCPまたはUDP宛先ポートフィールド。通常、 |
アクション
フィルタリング基準を指定する1つ以上の用語を定義する場合、パケットがすべての基準に一致する場合に実行するアクションも定義します。表 3は、用語で指定できるアクションを示します。
オプション |
説明 |
---|---|
( |
ICMP(Internet Control Message Protocol)メッセージを送信せずに、パケットを承認するか、気付かれることなくパケットを無効にします。 |
|
(オプション)以下のフォワーディングクラスのいずれかでパケットを分類します。
|
|
(オプション)PLP(パケット損失の優先度)を |
関連項目
RADIUSアカウンティングについて
ネットワークデバイスは、IETF RFC2866、RADIUSアカウンティングをサポートします。デバイスにRADIUSアカウンティングを設定し、LANにログインまたはログアウトするユーザーの統計データを収集して、RADIUSアカウンティングサーバーにデータを送信することができます。統計データは、一般的なネットワーク監視、使用パターンの分析および追跡、またはセッションの期間やアクセスしたサービスの種類に基づくユーザーへの課金に使用することができます。
RADIUSアカウンティングを設定するには、以下を指定します。
-
デバイスから統計データを受信するための1つ以上のRADIUSアカウンティングサーバー
-
収集するアカウンティング データの種類
RADIUSアカウンティングと認証の両方に同じサーバーを使用することも、別なサーバーを使用することも可能です。RADIUSアカウンティングサーバーのリストを指定できます。デバイスは、設定された順序でサーバーにを検索をします。プライマリサーバー(最初に設定されたサーバー)が利用できない場合、デバイスは応答を受け取るまでリスト内の各サーバーへのコンタクトを試みます。
デバイスとRADIUSサーバー間のRADIUSアカウンティングのプロセスは、次のように機能します。
-
RADIUSアカウンティングサーバーは、特定のポートでUser Datagram Protocol(UDP)パケットをリッスンします。RADIUSアカウンティングのデフォルトポート番号は1813です。
-
デバイスは、イベントレコードを含むAccounting-Requestパケットをアカウンティングサーバーに転送します。このサプリカントに関連するイベントレコードは、その値がこのサプリカントのユーザーサービスの開始を示すAcct-Status-Type属性を含みます。サプリカントのセッションが終了すると、アカウンティング要求は、ユーザーサービスの終了を示すAcct-Status-Type属性値を含みます。RADIUSアカウンティングサーバーは、セッション情報とセッションの長さを含むstop-accountingレコードとしてこれを記録します。
-
RADIUSアカウンティングサーバーは、これらのイベントをstart-accountingまたはstop-accountingレコードとしてファイルに記録します。FreeRADIUSでは、ファイル名は192.0.2.0のようなサーバーのアドレスです。
-
アカウンティングサーバーは、アカウンティング要求を受信したことを確認するAccounting-Responseパケットをデバイスに送信します。
-
デバイスがサーバーからのAccounting-Responseパケットを受信できない場合、デバイスはサーバーが応答を返すまでアカウンティング要求を送信し続けます。
このプロセスで収集された統計データは、RADIUSサーバーで確認できます。統計データを確認するには、それらを受信するように設定されたログファイルにアクセスします。
RADIUSシステムアカウンティングの設定
RADIUSアカウンティングを有効にすると、RADIUSクライアントとして動作するJuniper Networksデバイスは、ソフトウェアログイン、設定変更、対話型コマンドなどのユーザーアクティビティについてRADIUSサーバーに通知することができます。RADIUSアカウンティングの枠組みは、RFC2866、RADIUS アカウンティング」 に記載されています。
RADIUSサーバー上のユーザーイベントの監査を設定する
RADIUSのアカウンティングを設定します。
次の例では、RADIUSアカウンティング用に3つのサーバー(10.5.5.5、10.6.6.6、10.7.7.7)を構成しています。
system { accounting { events [ login change-log interactive-commands ]; destination { radius { server { 10.5.5.5 { accounting-port 3333; secret $ABC123; source-address 10.1.1.1; retry 3; timeout 3; } 10.6.6.6 secret $ABC123; 10.7.7.7 secret $ABC123; } } } } }
変更履歴
サポートされる機能は、使用しているプラットフォームとリリースによって決まります。 特定の機能がお使いのプラットフォームでサポートされているかどうかを確認するには、 Feature Explorer をご利用ください。