# 運用・管理 / RADIUSクライアント

本製品はRADIUSクライアントの機能を備えており、外部および内蔵のRADIUSサーバーを利用して各種の認証やアカウンティング（利用記録）を行うことができます。
RADIUSクライアント機能は、以下の用途に使用できます。

- ログイン認証（Telnet、SSHパスワード認証、Web GUI）
- OpenVPNクライアント認証
- 無線クライアント認証（WPAエンタープライズ、MAC認証、Web認証）

Note

無線クライアント認証については、「無線機能」/「セキュリティー設定」などをご覧ください。

ログイン認証では、ユーザー認証データベースとRADIUSサーバーの併用が可能です（併用時はRADIUSサーバーが利用できない場合のバックアップとしてユーザー認証データベースを使用）。
その他の機能では認証にRADIUSサーバーの使用が必須です。
ここでは、RADIUSクライアントの設定方法だけを述べます。
RADIUSクライアントを利用する各機能の詳細については下記のページをご覧ください。

- ログイン認証 - 「運用・管理」の「ユーザー認証」
- OpenVPN - 「VPN」の「OpenVPN」

なお、本製品はRADIUSサーバー機能（ローカルRADIUSサーバー）を内蔵しているため、RADIUSクライアントの設定でローカルホスト（127.0.0.1）を指定すれば、本製品単独でRADIUS認証を行うこともできます。RADIUSサーバー機能については「運用・管理」の「RADIUSサーバー」をご覧ください。

## 基本設定

認証に利用するRADIUSサーバーを登録するには、radius-server hostコマンドを使用します。RADIUSサーバーのIPアドレスと共有パスワードを指定してください。

    awplus(config)# radius-server host 172.16.10.2 key Valid8Me

初期状態では、認証パケットはサーバーのUDPポート1812番、アカウンティングパケットはサーバーの同1813番ポートに送ります。これらのポート番号を変更するには、radius-server hostコマンドのauth-portパラメーター（認証用ポート）とacct-portパラメーター（アカウンティング用ポート）を指定してください。

    awplus(config)# radius-server host 172.16.10.3 auth-port 11812 acct-port 11813 key Fugafuga

RADIUSサーバーとの通信に関するパラメーター（応答待ち時間、再送回数など）はradius-server hostコマンドのtimeoutパラメーター、retransmitパラメーターで変更できます。次の例では、応答待ち時間を10秒、再送回数を5回に設定しています。初期設定はそれぞれ5秒と3回です。

    awplus(config)# radius-server host 172.16.10.4 timeout 10 retransmit 5

RADIUSサーバーの登録を解除するには、radius-server hostコマンドをno形式で実行します。このとき、対象のサーバーをIPアドレスと2つのUDPポートの組で識別するので、初期値以外のポート番号を指定している場合は、ポート番号もあわせて指定してください。

    awplus(config)# no radius-server host 172.16.10.2
    awplus(config)# no radius-server host 172.16.10.3 auth-port 11812 acct-port 11813

登録されているRADIUSサーバーの一覧、RADIUSサーバーとの通信に関するパラメーターを表示するには、show radiusコマンドを使用します。

    awplus# show radius
    RADIUS Global Configuration
      Source Interface    : not configured
      Secret Key          :
      Timeout             : 5 sec
      Retransmit Count    : 3
      Deadtime            : 0 min

    Server Host : 127.0.0.1
      Authentication Port : 1812
      Accounting Port     : 1813
      Secret Key          : awplus-local-radius-server

                                   Auth  Acct  Auth           Acct
    Server Host/IP Address         Port  Port  Status         Status
    ------------------------------------------------------------------------
    127.0.0.1                      1812  1813  Alive          Unknown

## 登録したRADIUSサーバーの使用

RADIUSサーバーは登録しただけでは使用されません。
各種機能の設定において、RADIUSサーバーを使用するよう指定して初めてRADIUSクライアント機能が働き、登録されているRADIUSサーバーへのアクセスが発生します。
RADIUSサーバーを使用する機能には次のものがあります。

- ログイン認証（Telnet、SSHパスワード認証、Web GUI）
- OpenVPNクライアント認証

認証用のRADIUSサーバーとアカウンティング用のRADIUSサーバーは個別に設定します。

### 全方式共通のRADIUSサーバーを使う

1台または複数台のRADIUSサーバーをすべての認証方式で共用する場合は、使用するRADIUSサーバーを使用順に登録しておき、各認証機能の設定において、デフォルトの認証サーバーグループ名「radius」を指定するだけです。以下に例を示します。

1. 使用するすべてのRADIUSサーバーのIPアドレスと共有パスワードを登録します。全方式共通の設定をする場合、ここでの追加順がサーバーの使用順序となります。

       awplus(config)# radius-server host 172.16.10.5 key himitsu5
       awplus(config)# radius-server host 172.16.10.6 key himitsu6

2. 各認証方式を有効化するときに「group radius」を指定します。これは、「radius-server hostコマンドで登録したRADIUSサーバーを登録順に使う」の意味です。

       awplus(config)# aaa authentication login default group radius
       awplus(config)# aaa authentication openvpn default group radius

3. 各認証方式においてアカウンティングを行いたい場合は、同様にして使用するアカウンティング用RADIUSサーバーを指定します。またこのとき、どのイベント（ログイン、ログオフ）を記録するかも指定します。

       awplus(config)# aaa accounting login default start-stop group radius

これにより、すべての認証方式において、認証要求とアカウンティング要求のいずれにもRADIUSサーバー「172.16.10.5」、「172.16.10.6」を使用するようになります（172.16.10.5が無応答の場合172.16.10.6を試す）。

### 各方式個別のRADIUSサーバーを使う

認証方式ごとにRADIUSサーバーを用意して、個別に認証やアカウンティングを行うこともできます。これは、ユーザー定義の認証サーバーグループを複数作成することで実現します。
ここでは例として、次のように認証方式ごとに異なるRADIUSサーバーを使うための設定を示します。

表 1
認証方式 | 使用するRADIUSサーバー | 共有パスワード
ログイン認証とアカウンティング | 172.16.10.10 | himitsu10
172.16.10.20 | himitsu20
OpenVPN認証 | 172.16.10.11 | himitsu11
172.16.10.21 | himitsu21

1. 使用するすべてのRADIUSサーバーのIPアドレスと共有パスワードを登録します。各方式個別の設定をするときは、認証サーバーグループの設定時にサーバーの使用順序を指定するので、ここでの追加順序は特に意味を持ちません。

       awplus(config)# radius-server host 172.16.10.10 key himitsu10
       awplus(config)# radius-server host 172.16.10.11 key himitsu11
       awplus(config)# radius-server host 172.16.10.20 key himitsu20
       awplus(config)# radius-server host 172.16.10.21 key himitsu21

2. 手順1で登録したRADIUSサーバーのうち、ログイン認証で使うものだけを認証サーバーグループ「srv4login」としてグループ化します。
   - aaa group server radiusコマンドで認証サーバーグループ「srv4login」を作成します。同コマンドを実行すると、サーバーグループモードに入ります。

         awplus(config)# aaa group server radius srv4login

   - グループ化対象のRADIUSサーバーをserverコマンドで追加していきます。各方式個別の設定をするときは、ここでの追加順がサーバーの使用順序となります。

         awplus(config-sg)# server 172.16.10.10
         awplus(config-sg)# server 172.16.10.20
         awplus(config-sg)# exit

3. 他の機能向けのサーバーグループも同様にして作成します。
   - OpenVPN認証用のサーバーグループ「srv4openvpn」

         awplus(config)# aaa group server radius srv4openvpn
         awplus(config-sg)# server 172.16.10.11
         awplus(config-sg)# server 172.16.10.21
         awplus(config-sg)# exit

4. 各認証方式を有効化するときに「group サーバーグループ名」を指定します。これは、該当認証方式において「指定したサーバーグループ所属のRADIUSサーバーを使う」の意味です。

       awplus(config)# aaa authentication login default group srv4login
       awplus(config)# aaa authentication openvpn default group srv4openvpn

5. 各認証方式においてアカウンティングを行いたい場合は、同様にして使用するアカウンティング用RADIUSサーバーを指定します。またこのとき、どのイベント（ログイン、ログオフ）を記録するかも指定します。

       awplus(config)# aaa accounting login default start-stop group srv4login

これにより、認証方式ごとに異なるRADIUSサーバーが使用されるようになります。

## RADIUS over TLS（RadSec）

本製品のRADIUSクライアントは、RADIUS over TLS（RadSec）に対応しています。
RadSecはRADIUSプロトコルのやりとりをTLSの暗号化チャンネル上で行う仕組みであり、信頼できないネットワーク上でも認証情報、アカウンティング情報を安全に交換することができます。
Note

RadSecは、無線端末の認証でのみ使用可能です。

ここでは、以下内容を前提として必要な最小限の設定を紹介します。なお以下の例では、RADIUSサーバーの指定を除くIPの設定は終わっているものとします。

- RadSec対応のRADIUSサーバー（10.0.0.1）に接続する。
- 本製品と、RadSec対応のRADIUSサーバーは同じ外部CAが発行した証明書を使って相互認証を行う。
- トラストポイント「client」を作成し、本製品の証明書、および、サーバー証明書の検証に使う外部CAの証明書を格納する。
- サーバー証明書のサブジェクト代替名（altSubjectName）は検証しない。

1. 外部CAの証明書ファイル（PEM形式）を本製品のフラッシュメモリーにコピーします。
   ここでは、外部CA（ルートCA）の証明書ファイルが「extca_cert.pem」という名前であると仮定します。
2. 本製品の証明書と鍵を保存するためのトラストポイント（ここでは例として「client」という名前を使います）を作成し、外部CAの証明書をインポートします。
   これには、crypto pki trustpoint、enrollment、crypto pki import pemコマンドを使います。
   証明書の情報が表示されたら、内容を確認し、「Accept this certificate?」に「y」で答えてください。

       awplus(config)# crypto pki trustpoint client
       Created trustpoint "client".
       awplus(ca-trustpoint)# enrollment terminal
       awplus(ca-trustpoint)# end
       awplus# crypto pki import client pem extca_cert.pem
       Copying...
       Successful operation
       Subject     : /O=Example Organization/CN=External CA
       Issuer      : /O=Example Organization/CN=External CA
       Valid From  : Aug  1 12:00:00 2018 GMT
       Valid To    : Jan 15 12:00:00 2038 GMT
       Fingerprint : DDDDDDDD EEEEEEEE AAAAAAAA DDDDDDDD BBBBBBBB
       This is a self-signed CA certificate.
       The certificate has been validated successfully.
       Accept this certificate? (y/n): y
       The certificate was successfully imported.

3. 本製品の公開鍵ペア（秘密鍵と公開鍵）を生成し、公開鍵証明書の署名要求（CSR）を生成します。
   crypto pki enrollコマンドを実行すると、次のようにCSRの内容が出力されるので、`-----BEGIN CERTIFICATE REQUEST-----` の行から`-----END CERTIFICATE REQUEST-----` の行までをクリップボードにコピーしてPC上のファイル（ここでは「client_csr.pem」とします）に保存してください。

       awplus# crypto pki enroll client
       Generating 2048-bit key "server-default"...
       Cut and paste this request to the certificate authority:
       -----------------------------------------------------------------
       -----BEGIN CERTIFICATE REQUEST-----
       MIIC0zCCAbsCAQAwQzEYMBYGA1UECgwPQWxsaWVkV2FyZSBQbHVzMScwJQYDVQQD
       DB5hd3BsdXMudHcuYWxsaWVkLXRlbGVzaXMuY28uanAwggEiMA0GCSqGSIb3DQEB
       AQUAA4IBDwAwggEKAoIBAQDP7yYzo7SRJeLLcoVpfJ8R0BhnotIDhkOS2X9t6tt5
       KeiS7CZlw3rBZ9XblL4Wk0c8KdAFZAQ7LU5KMchcyRoUq4HpKcy2cO5KD1dReU27
       G6OyHiuhTdDb7g5GeR3/Gn7wec398WmqHEZpqxMfjWDgE6GcLGq1kbYjnhyezIiB
       ivgfM+FWKkQao7hMFap4EnION/4Qi1rLG1y4ji+SBaqMaTrpIjmJajFMtrSDWhZP
       371fJ04lTA9EPaLoP5QlcIRXsK/MzTv99Ifa3I5uMOogqm6Lf0HuUusNg13OUFlu
       gcfB8FwgGGdAjhK3dAj5XywrP8urfKkjvYjolq4UKePvAgMBAAGgSzBJBgkqhkiG
       9w0BCQ4xPDA6MAkGA1UdEwQCMAAwDgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQG
       CCsGAQUFBwMBBggrBgEFBQcDAjANBgkqhkiG9w0BAQsFAAOCAQEAIMrupXUp/f18
       jgIs/mcrlkevV6YE34MGX+KP8pJyQ2mNW/3zorb4L5tc6xzZr9OvtSs4FSuaUeOB
       YTEMP6v/B5aBTh3csevol97DQnl/QDT5PjVkrhsO3zKqtzasV/9ozG0m/s28xRoE
       4v1wQtdvBqNyxDXTZSFiR2Qu+8RInA5TvjfI/pCjVsyQggpD9i6UWICOWDwi9M9U
       A6Q9vTgASeejX1ac1ZERGFYUG0BzO/gwm8zjnXxBRA1i5LcL4C7JEU9jgtUbzVln
       lFcuC5jQJrT8a8J9ZCLomQasatQoXtp2xJz1cJXAkD+Cwg92AbQqFwzqxqF/ZBr8
       IKvYIzscHQ==
       -----END CERTIFICATE REQUEST-----
       -----------------------------------------------------------------

4. 前の手順でPC上に保存したCSRファイル（本例ではclient_csr.pem）を外部CAに渡し、証明書の発行を依頼してください。
   ここでは、外部CAが発行した本製品の証明書を client_cert.pem という名前のファイルとして入手したものと仮定します。
5. 外部CAによって発行された証明書ファイル（本例ではclient_cert.pem）を本製品のフラッシュメモリーにコピーします。
6. 作成済みのトラストポイント「client」に本製品の証明書をインポートします。
   これにはcrypto pki import pemコマンドを使います。
   証明書の情報が表示されたら、内容を確認し、「Accept this certificate?」に「y」で答えてください。

       awplus# crypto pki import client pem client_cert.pem
       Copying...
       Successful operation
       Subject     : /O=AlliedWare Plus/CN=awplus
       Issuer      : /O=Example Organization/CN=External CA
       Valid From  : Jul 19 02:45:59 2022 GMT
       Valid To    : Jul 16 02:45:59 2023 GMT
       Fingerprint : AAAAAAAA BBBBBBBB CCCCCCCC DDDDDDDD EEEEEEEE
       This is not a valid CA certificate. Attempting to import as a server certificate.
       The certificate has been validated successfully.
       ...
       Accept this certificate? (y/n): y
       The certificate was successfully imported.

7. RadSecの設定を行います。グローバルコンフィグモードから、radius-secure-proxy aaaコマンドでRadSecプロキシー・AAAコンフィグモードに移動します。

       awplus# configure terminal
       awplus(config)# radius-secure-proxy aaa

8. serverコマンドでRadSec対応RADIUSサーバーのIPアドレスを指定し、server trustpointコマンドでTLS認証時に使用する証明書を格納しているトラストポイント「client」を指定します。
   これにより、相互認証時、トラストポイント「client」に格納されている本製品の証明書がサーバーに送信され、また受信したサーバーの証明書の検証にはトラストポイント「client」に格納されているCA証明書が使用されます。

       awplus(config-radsecproxy-aaa)# server 10.0.0.1 name-check off
       awplus(config-radsecproxy-aaa)# server trustpoint client
       awplus(config-radsecproxy-aaa)# exit

   Note

   RadSecの設定を行う場合、RADIUSサーバーはserverコマンドで指定してください。radius-server hostコマンドでRADIUSサーバーを指定した場合、RadSecが有効になりません。

9. 最後に、通常のRADIUSクライアントを使用するときと同様に、無線機能の認証設定を行います。
   認証サーバーグループ名としてはデフォルトの「radius」を指定してください。
   詳細は「無線機能」/「セキュリティー設定」、「無線機能」/「キャプティブポータル」をご覧ください。
   Note

   RadSecは、無線端末の認証でのみ使用可能です。

設定は以上です。
RadSec対応RADIUSサーバーの一覧や通信に関するパラメーターを表示するには、show radius-secure-proxy aaaコマンドを使用します。

    awplus# show radius-secure-proxy aaa