運用・管理 / RADIUSクライアント
本製品はRADIUSクライアントの機能を備えており、外部および内蔵のRADIUSサーバーを利用して各種の認証やアカウンティング(利用記録)を行うことができます。RADIUSクライアント機能は、以下の用途に使用できます。
- ログイン認証(Telnet、SSHパスワード認証、Web GUI)
- OpenVPNクライアント認証
- 無線クライアント認証(WPAエンタープライズ、MAC認証、Web認証)
ログイン認証では、ユーザー認証データベースと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」を指定するだけです。以下に例を示します。- 使用するすべてのRADIUSサーバーのIPアドレスと共有パスワードを登録します。全方式共通の設定をする場合、ここでの追加順がサーバーの使用順序となります。
awplus(config)# radius-server host 172.16.10.5 key himitsu5 awplus(config)# radius-server host 172.16.10.6 key himitsu6
- 各認証方式を有効化するときに「group radius」を指定します。これは、「radius-server hostコマンドで登録したRADIUSサーバーを登録順に使う」の意味です。
awplus(config)# aaa authentication login default group radius awplus(config)# aaa authentication openvpn default group radius
- 各認証方式においてアカウンティングを行いたい場合は、同様にして使用するアカウンティング用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サーバーを使うための設定を示します。
| ログイン認証とアカウンティング | 172.16.10.10 | himitsu10 |
| 172.16.10.20 | himitsu20 | |
| OpenVPN認証 | 172.16.10.11 | himitsu11 |
| 172.16.10.21 | himitsu21 |
- 使用するすべての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
- 手順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
- aaa group server radiusコマンドで認証サーバーグループ「srv4login」を作成します。同コマンドを実行すると、サーバーグループモードに入ります。
- 他の機能向けのサーバーグループも同様にして作成します。
- 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
- OpenVPN認証用のサーバーグループ「srv4openvpn」
- 各認証方式を有効化するときに「group サーバーグループ名」を指定します。これは、該当認証方式において「指定したサーバーグループ所属のRADIUSサーバーを使う」の意味です。
awplus(config)# aaa authentication login default group srv4login awplus(config)# aaa authentication openvpn default group srv4openvpn
- 各認証方式においてアカウンティングを行いたい場合は、同様にして使用するアカウンティング用RADIUSサーバーを指定します。またこのとき、どのイベント(ログイン、ログオフ)を記録するかも指定します。
awplus(config)# aaa accounting login default start-stop group srv4login
これにより、認証方式ごとに異なるRADIUSサーバーが使用されるようになります。
RADIUS over TLS(RadSec)
本製品のRADIUSクライアントは、RADIUS over TLS(RadSec)に対応しています。RadSecはRADIUSプロトコルのやりとりをTLSの暗号化チャンネル上で行う仕組みであり、信頼できないネットワーク上でも認証情報、アカウンティング情報を安全に交換することができます。
ここでは、以下内容を前提として必要な最小限の設定を紹介します。なお以下の例では、RADIUSサーバーの指定を除くIPの設定は終わっているものとします。
- RadSec対応のRADIUSサーバー(10.0.0.1)に接続する。
- 本製品と、RadSec対応のRADIUSサーバーは同じ外部CAが発行した証明書を使って相互認証を行う。
- トラストポイント「client」を作成し、本製品の証明書、および、サーバー証明書の検証に使う外部CAの証明書を格納する。
- サーバー証明書のサブジェクト代替名(altSubjectName)は検証しない。
- 外部CAの証明書ファイル(PEM形式)を本製品のフラッシュメモリーにコピーします。
ここでは、外部CA(ルートCA)の証明書ファイルが「extca_cert.pem」という名前であると仮定します。
- 本製品の証明書と鍵を保存するためのトラストポイント(ここでは例として「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.
- 本製品の公開鍵ペア(秘密鍵と公開鍵)を生成し、公開鍵証明書の署名要求(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----- -----------------------------------------------------------------
- 前の手順でPC上に保存したCSRファイル(本例ではclient_csr.pem)を外部CAに渡し、証明書の発行を依頼してください。
ここでは、外部CAが発行した本製品の証明書を client_cert.pem という名前のファイルとして入手したものと仮定します。
- 外部CAによって発行された証明書ファイル(本例ではclient_cert.pem)を本製品のフラッシュメモリーにコピーします。
- 作成済みのトラストポイント「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.
- RadSecの設定を行います。グローバルコンフィグモードから、radius-secure-proxy aaaコマンドでRadSecプロキシー・AAAコンフィグモードに移動します。
awplus# configure terminal awplus(config)# radius-secure-proxy aaa
- 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
- 最後に、通常のRADIUSクライアントを使用するときと同様に、無線機能の認証設定を行います。
認証サーバーグループ名としてはデフォルトの「radius」を指定してください。
詳細は「無線機能」/「セキュリティー設定」、「無線機能」/「キャプティブポータル」をご覧ください。
RadSec対応RADIUSサーバーの一覧や通信に関するパラメーターを表示するには、show radius-secure-proxy aaaコマンドを使用します。
awplus# show radius-secure-proxy aaa