# 運用・管理 / RADIUSサーバー

本製品はRADIUSサーバー機能（ローカルRADIUSサーバー）を内蔵しています。
ローカルRADIUSサーバーを利用すれば、別途RADIUSサーバーを用意することなく、本製品だけで下記機能向けの認証サーバーを構築できます。

- ポート認証（802.1X認証、MACベース認証、Web認証）

また、本製品にはローカルCA機能が付属しているため、電子証明書を利用する場合でも別途認証局（CA）を用意する必要がありません。
ここでは、ローカルRADIUSサーバーの設定方法だけを述べます。
ローカルRADIUSサーバーを利用する側の機能については下記のページをご覧ください。

- 「インターフェース」/「ポート認証」

また、ローカルCA機能については「運用・管理」/「ローカルCA」をご覧ください。

## 仕様

ローカルRADIUSサーバーの基本的な仕様を以下に示します。

- 認証方式と対象機能
  次に、ローカルRADIUSサーバーがサポートする認証方式とそれぞれの対象機能を示します。
  - PAP、EAP-MD5
    - MACベース認証
    - Web認証
  - EAP-TLS
    - 802.1X認証
  - EAP-PEAP
    - 802.1X認証
- アカウンティング機能はなし
  ローカルRADIUSサーバーは認証機能だけを提供します（デフォルトのUDPポートは1812）。ログイン、ログオフなどの利用状況を記録するアカウンティング機能はサポートしていません。
- ユーザー登録
  各ユーザーに対しては、ユーザー名、パスワードに加え、各機能で使用する属性を設定することができます（各種属性は「ユーザーグループ」単位で設定）。
  Note

  登録可能なユーザーの最大数については、リリースノートのサポートリミット一覧をご参照ください。

- RADIUSクライアント（NAS）登録
  ローカルRADIUSサーバーにアクセスできるのは、登録したIPアドレスを持ったRADIUSクライアント（NAS = Network Access Server）だけです。また、アクセス時には共有パスワードによる認証も行われます。
  Note

  登録可能なRADIUSクライアント（NAS）の最大数については、リリースノートのサポートリミット一覧をご参照ください。

- RADIUSパケットの検証機能
  ローカルRADIUSサーバー機能では、認証レスポンスの偽造による攻撃を防ぐため、RADIUSパケットの検証機能を実装しています。
  Note

  本製品をRADIUSサーバーとして使用する場合、RADIUSクライアントは Message-Authenticator に対応している製品の使用を推奨します。
  RADIUSパケット検証機能（nas message-authenticator）の検証モードが required の場合、Message-Authenticator を含まない認証方式で認証を行うと、次のようなINFOレベルのログが記録され認証に失敗します。

      radiusd[xxxx]: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
      radiusd[xxxx]: BlastRADIUS check: Received packet without Message-Authenticator.
      radiusd[xxxx]: Setting "require_message_authenticator = false" for client xxx.xxx.xxx.xxx
      radiusd[xxxx]: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
      radiusd[xxxx]: UPGRADE THE CLIENT AS YOUR NETWORK IS VULNERABLE TO THE BLASTRADIUS ATTACK.
      radiusd[xxxx]: Once the client is upgraded, set "require_message_authenticator = true" for  client xxx.xxx.xxx.xxx

  また、検証モードがデフォルトの auto の場合も、RADIUSクライアントの登録IPアドレス（nas）から最初に受信した Access-Request に Message-Authenticator 属性が含まれていた場合は内部的な検証モードが required に設定されるため、それ以降 Message-Authenticator を含まない認証方式で認証を行うと同様に失敗します。
  Message-Authenticator に対応していない認証方式を使用する場合は、検証モードを optional に設定することで認証が可能となります。
- Windowsの認証モードの一つであるコンピュータ認証は未サポートです。
- ローカルCA
  EAP-TLS、EAP-PEAPの認証には認証局（CA）が発行する電子証明書が必要ですが、本製品には独自の証明書を発行するローカルCA機能が付属しているため、別途認証局（CA）を用意する必要がありません。ローカルCAおよびローカルRADIUSサーバーの証明書は自動的に発行されるため、必要な作業はCA証明書を配布してSupplicantにインストールすることと、ユーザー証明書を発行・配布してSupplicantにインストールすることくらいです。
  ローカルCA機能の詳細については「運用・管理」/「ローカルCA」をご覧ください。
  Note

  本製品のローカルRADIUS機能は、外部認証局(CA)の発行する電子証明書を使用できません。そのため、802.1X認証を使用する場合には、本製品に付属するローカルCAの利用が必須となります。

  Note

  本製品はローカルCAの証明書データベースのバックアップが取れないので、装置入れ替えなどが発生するとローカルCAの再構築が必要になり、ルートCA証明書やユーザー証明書を再発行する必要があります。本製品のローカルRADIUSサーバー機能を用いたEAP-TLSまたはEAP-PEAP構成でネットワーク運用する場合はご注意ください。

  Note

  no crypto pki enroll local user <user-name>で削除したユーザーはフラッシュメモリー上からは消えますが、データベース上に情報が残るため、削除した証明書でPCクライアントから認証ができてしまいます。それを回避するためには、no crypto pki trustpointでローカルCAを一度削除してから、再度ユーザーの証明書を作成してください。

  Note

  ローカルCAを再構築した場合は、機器の再起動が必要です。新しいルート証明書は再起動後から有効になります。

## 基本設定

1. ローカルRADIUSサーバーの設定を開始するには、radius-server localコマンドを実行します。

       awplus(config)# radius-server local
       Created trustpoint "local".
       Generating 2048-bit key for local CA...
       Automatically authenticated trustpoint "local".
       Automatically enrolled the local server to trustpoint "local".
       awplus(config-radsrv)#

   radius-server localコマンドの初回実行時には、ローカルCA（ローカルなルート認証局）の初期設定（自署ルートCA証明書の発行など）やRADIUSサーバーの証明書発行などが自動的に行われ、またローカルホスト（127.0.0.1）をRADIUSクライアント（NAS）として自動登録します。具体的には、下記のコマンドが自動的に実行されます。

       !
       ! 以下はradius-server localの初回実行時に自動実行される内容です。
       !
       awplus(config)# crypto pki trustpoint local
       awplus(config)# end
       awplus# crypto pki enroll local
       awplus# configure terminal
       awplus(config)# radius-server local
       awplus(config-radsrv)# nas 127.0.0.1 key awplus-local-radius-server

2. ユーザーを登録します。
   - 各ユーザーの認証結果だけを返したい場合は、userコマンドを使ってユーザー名とパスワードを指定します。ここでは、user1、user2、user3の3ユーザーを作成しています。

         awplus(config-radsrv)# user user1 password passwd1
         awplus(config-radsrv)# user user2 password passwd2
         awplus(config-radsrv)# user user3 password passwd3

   - 認証結果だけでなく、ダイナミックVLAN用の情報も返したい場合は、ユーザーごとに所属VLANを指定する必要があります。これはユーザーグループを使用して次のようにします。
     - groupコマンド（RADIUSサーバーモード）を使って、ユーザーグループvlan10usersとvlan20usersを作成します。RADIUSサーバー・ユーザーグループモードでは、vlanコマンドを使って、該当グループに割り当てるVLAN IDまたはVLAN名を指定します。

           awplus(config-radsrv)# group vlan10users
           awplus(config-radsrv-group)# vlan 10
           awplus(config-radsrv-group)# exit
           awplus(config-radsrv)# group vlan20users
           awplus(config-radsrv-group)# vlan 20
           awplus(config-radsrv-group)# exit

     - ユーザーuser11、user12をユーザーグループvlan10usersに、ユーザーuser21、user22をユーザーグループvlan20usersに所属させます。

           awplus(config-radsrv)# user user11 password passwd11 group vlan10users
           awplus(config-radsrv)# user user12 password passwd12 group vlan10users
           awplus(config-radsrv)# user user21 password passwd21 group vlan20users
           awplus(config-radsrv)# user user22 password passwd22 group vlan20users

3. 他の機器にも本製品のRADIUSサーバーを利用させたいときは、それらの機器をRADIUSクライアント（NAS）として登録する必要があります。該当機器のIPアドレス（RADIUSパケットの始点IPアドレス）と、アクセス時の共有パスワードをnasコマンドで設定してください。ここでは、172.16.10.2と172.16.10.3を持つ機器をRADIUSクライアントとして登録しています。

       awplus(config-radsrv)# nas 172.16.10.2 key naspas2
       awplus(config-radsrv)# nas 172.16.10.3 key naspas3

4. 各種登録が終わったら、server enableコマンドでRADIUSサーバーを有効にします。

       awplus(config-radsrv)# server enable

基本設定は以上です。
ローカルRADIUSサーバーの初期状態では、UDPポート1812番で認証サービスを提供します。認証用のポートを変更するには、server auth-portコマンドを使います。

    awplus(config-radsrv)# server auth-port 11812

ローカルRADIUSサーバーの初期状態では、サポートしているすべての認証方式（PAP、EAP-MD5、EAP-TLS、EAP-PEAP）が有効です。特定の認証方式を無効にしたい場合は、authenticationコマンドをno形式で実行します。

    awplus(config-radsrv)# no authentication eapmd5

ローカルRADIUSサーバーからユーザーを削除することなく、特定のユーザーを一時的に無効化するには、user rejectコマンドを使用します。
なお、userコマンドのrejectオプションを使えば、最初から無効状態でユーザーを登録することもできます。

    awplus(config-radsrv)# user user1 reject

無効状態のユーザーはつねに認証が拒否されます。再度有効化するにはuser rejectコマンドをno形式で実行してください。

    awplus(config-radsrv)# no user user1 reject

## 各種情報の確認

ローカルRADIUSサーバーの状態と統計情報を確認するには、show radius local-server statisticsコマンドを使います。

    awplus# show radius local-server statistics

ローカルRADIUSサーバーに登録してあるユーザーの情報は、show radius local-server userコマンドで確認します。

    awplus# show radius local-server user

ローカルRADIUSサーバーに登録してあるユーザーグループの情報は、show radius local-server groupコマンドで確認します。

    awplus# show radius local-server group

ローカルRADIUSサーバーに登録してあるRADIUSクライアント（NAS）の情報は、show radius local-server nasコマンドで確認します。

    awplus# show radius local-server nas

## フォワーディングデータベースからのユーザー登録

フォワーディングデータベース（FDB）に登録されているMACアドレスを、MACベース認証用のユーザーデータとして登録したり、ユーザーデータのCSV（カンマ区切り）テキストファイルとして書き出したりすることもできます。
これには、copyコマンドの特殊書式（fdb-radius-usersキーワード）を使います。ファイルコピーに使うcopyコマンドにおいて、コピー元に「fdb-radius-users」を指定することで、FDB内のMACアドレスをユーザーデータとして扱うことができます。
FDBに登録されているMACアドレスをローカルRADIUSサーバーに直接登録する場合は、コピー先に「local-radius-user-db」を指定します。

- FDBに登録されているMACアドレスを、MACベース認証用のユーザーとしてローカルRADIUSサーバーに登録するには、次のようにします。

      awplus# copy fdb-radius-users local-radius-user-db

- オプションパラメーターを指定することにより、特定のポートやVLAN上で学習されたMACアドレスだけを登録対象にすることもできます。たとえば、FDBに登録されているMACアドレスのうち、ポート1.0.1で学習されたものだけをMACベース認証用のユーザーとしてローカルRADIUSサーバーに登録するには、次のようにします。

      awplus# copy fdb-radius-users local-radius-user-db interface port1.0.1

Note

ローカルRADIUSサーバーの設定が行われていない場合（ランニングコンフィグ中にradius-server localコマンドがない場合）、ユーザーデータの登録はできません。また、登録されたユーザーデータはランニングコンフィグに反映されるだけなので、再起動後も使いたい場合は設定をスタートアップコンフィグに保存してください。

FDBに登録されているMACアドレスをローカルRADIUSサーバーに直接登録するのではなく、いったんファイルに書き出したい場合は、コピー先に任意のファイルパスを指定します。書き出したCSVファイルは、次節の「ユーザー情報の書き出しと読み込み」で述べる方法でローカルRADIUSサーバーに読み込むことができます。

- たとえば、FDBに登録されているMACアドレスを、MACベース認証用のユーザーデータとしてカレントディレクトリーのファイルmacauth-users.txtに書き出すには、次のようにします。

      awplus# copy fdb-radius-users macauth-users.txt

- オプションパラメーターを指定することにより、特定のポートやVLAN上で学習されたMACアドレスだけを書き出し対象にすることもできます。たとえば、FDBに登録されているMACアドレスのうち、vlan10上で学習されたものだけをMACベース認証用のユーザーデータとしてカレントディレクトリーのファイルmacauth-users-vlan10.txtに書き出すには、次のようにします。

      awplus# copy fdb-radius-users macauth-users-vlan10.txt vlan 10

## ユーザー情報の書き出しと読み込み

ローカルRADIUSサーバーに登録してあるユーザーの情報（ユーザーおよびユーザーグループの情報）をCSV（カンマ区切り）テキストとして書き出したり、CSVテキストから読み込んだりすることもできます。
これには、copyコマンドの特殊書式（local-radius-user-dbキーワード）を使います。ファイルコピーに使うcopyコマンドにおいて、予約語「local-radius-user-db」をコピー元に指定すれば書き出し、コピー先に指定すれば読み込みの指示になります。
ローカルRADIUSサーバーのユーザー情報をファイルに書き出すには、コピー元に予約語「local-radius-user-db」を、コピー先に任意のファイルパスを指定します。

- たとえば、現時点でのユーザー情報を、フラッシュメモリーのルートディレクトリーにファイル名「raduserdb-080618.txt」として書き出すには次のようにします。

      awplus# copy local-radius-user-db flash:/raduserdb-080618.txt

- 通常のcopyコマンドと同様、リモートファイルに書き出すこともできます。

      awplus# copy local-radius-user-db tftp://172.16.10.70/raduserdb-080618.txt

CSVファイルからローカルRADIUSサーバーのユーザー情報を読み込むには、コピー元にバックアップしたCSVファイルのパスを、コピー先に予約語「local-radius-user-db」を指定します。

- たとえば、フラッシュメモリー上のCVSファイル「flash:/raduserdb-080618.txt」からユーザー情報を読み込むには、次のようにします。

      awplus# copy flash:/raduserdb-080618.txt local-radius-user-db

- 通常のcopyコマンドと同様、リモートファイルから読み込むこともできます。

      awplus# copy tftp://172.16.10.70/raduserdb-080618.txt local-radius-user-db

Note

ローカルRADIUSサーバーの設定が行われていない場合（ランニングコンフィグ中にradius-server localコマンドがない場合）、ユーザーデータの読み込みはできません。また、読み込まれたユーザーデータはランニングコンフィグに反映されるだけなので、再起動後も使いたい場合は設定をスタートアップコンフィグに保存してください。

Note

読み込み時は、ローカルRADIUSサーバー上のユーザー情報をいったんクリアしてから、CSVファイルの内容で置き換えます（copyコマンドでreplaceオプションを指定したのと同じ）。CSVファイルの内容を既存のユーザー情報に追加したい場合は、addオプションを明示的に指定してください。

Note

読み込み中にエラーが発生した場合は処理を中断し、読み込み前のユーザー情報に戻ります。

## ローカルRADIUSサーバーの利用

自装置のローカルRADIUSサーバーを使用するには、RADIUSクライアントの設定において、IPアドレス「127.0.0.1」、共有パスワード「awplus-local-radius-server」を指定します。たとえば、Web認証機能において、ローカルRADIUSサーバーを使って認証を行う場合は、次のようにします。

    awplus(config)# radius-server host 127.0.0.1 key awplus-local-radius-server
    awplus(config)# aaa authentication auth-web default group radius

Note

インテリジェント・エッジ・セキュリティー（IES）利用時は、自装置のRADIUSサーバーを利用する場合であってもループバックアドレス（127.0.0.1）以外のIPアドレスを指定してください。
たとえば、ローカルRADIUSサーバーが動作している機器にIPアドレス「192.168.10.1」が設定されている場合、ローカルRADIUSサーバー、RADIUSクライアントをそれぞれ次のように設定します。
ローカルRADIUSサーバー
デフォルトのRADIUSクライアント（NAS）「127.0.0.1」を削除し、代わりに前記のIPアドレスをNASとして新規登録します（nasコマンド）。共有パスワードは適宜設定してください。

    awplus(config)# radius-server local
    awplus(config-radsrv)# no nas 127.0.0.1
    awplus(config-radsrv)# nas 192.168.10.1 key awplus-local-radius-server

RADIUSクライアント
radius-server hostコマンドでRADIUSサーバーを指定する際、前記のIPアドレスと共有パスワードを指定します。

    awplus(config)# radius-server host 192.168.10.1 key awplus-local-radius-server

他の機器から本製品のローカルRADIUSサーバーを使用する場合は、該当機器のRADIUSクライアントに対して下記の設定をしてください。なお、他の機器からアクセスさせる場合は、nasコマンドを使って、該当機器のIPアドレスと共有パスワードをあらかじめ登録しておく必要があります。

表 1
RADIUSサーバーのIPアドレス | 該当機器から到達可能な本製品のIPアドレス
RADIUSサーバーの共有パスワード | nasコマンドのkeyパラメーターで設定した文字列
認証用ポート番号 | server auth-portコマンドで設定した値。未設定時は初期値の1812
アカウンティング用ポート番号 | 使用しない（ローカルRADIUSサーバーはアカウンティング機能をサポートしていないため）