RADIUSクライアントの設定方法
Cisco IOSでAAAを実装し、RADIUSサーバと連携させる方法には 新しい設定方法 と 旧来のレガシー設定方法 の2種類があります。現在の試験や実務では新しい形式が推奨されますが、古い環境ではレガシー設定が残っていることもあるため、両方理解しておく必要があります。
新しいIOSでのRADIUS設定
手順の流れ
- RADIUSサーバの登録
RADIUSサーバのアドレス、ポート番号、共有鍵(Shared Secret)を定義する。(config)# radius server config-name (config-radius-server)# address ipv4 address auth-port number acct-port number (config-radius-server)# key string - 認証サーバグループへの登録
複数のRADIUSサーバをグループ化できる。(config)# aaa new-model (config)# aaa group server radius group-name (config-sg-server)# server name config-name - AAA方式リストに適用
認証・認可・アカウンティングの各方式リストでグループを指定する。(config)# aaa authentication login default group group-name (config)# aaa authentication dot1x default group group-name (config)# aaa authorization network default group group-name (config)# aaa authorization auth-proxy default group group-name (config)# aaa accounting dot1x default start-stop group group-name (config)# aaa accounting system default start-stop group group-name
設定例(IEEE 802.1X認証でAAAを実装)
Cisco(config)# radius server ISE01
Cisco(config-radius-server)# address ipv4 192.168.10.101 auth-port 1812 acct-port 1813
Cisco(config-radius-server)# key Cisco123
Cisco(config)# aaa new-model
Cisco(config)# aaa group server radius GROUP-ISE
Cisco(config-sg-radius)# server name ISE01
Cisco(config)# dot1x system-auth-control
Cisco(config)# aaa authentication dot1x default group GROUP-ISE
Cisco(config)# aaa authorization network default group GROUP-ISE
Cisco(config)# aaa accounting dot1x default start-stop group GROUP-ISE
Cisco(config)# aaa accounting system default start-stop group GROUP-ISE
この設定により、RADIUSサーバISE01を認証・認可・アカウンティングに利用できます。
レガシーなRADIUS設定(旧IOS)
古いIOSでは次のように設定します。
(config)# radius-server host address [ auth-port ] [ acct-port ] [ timeout seconds ] [ retransmit retries ] key string
主な引数
- address:RADIUSサーバのIPアドレスまたはホスト名
- auth-port:認証/認可用ポート(デフォルト1812、旧1645)
- acct-port:アカウンティング用ポート(デフォルト1813、旧1646)
- timeout:応答待ち時間(秒)
- retransmit:再送回数
- key:共有暗号鍵(Shared Secret)
設定例(IEEE 802.1X認証)
Cisco(config)# radius-server host 192.168.10.101 auth-port 1812 acct-port 1813 key Cisco123
Cisco(config)# radius-server host 192.168.10.102 auth-port 1812 acct-port 1813 key Cisco123
Cisco(config)# dot1x system-auth-control
Cisco(config)# aaa new-model
Cisco(config)# aaa authentication dot1x default group radius
Cisco(config)# aaa authorization network default group radius
Cisco(config)# aaa accounting dot1x default start-stop group radius
Cisco(config)# aaa accounting system default start-stop group radius
この場合、2台のRADIUSサーバが利用され、設定順に優先順位 が決まります。
TACACS+クライアントの設定方法
RADIUSと同様に、TACACS+を利用してネットワーク機器の認証・認可・アカウンティングを集中管理できます。Cisco IOSでは 新しい設定方法 と レガシーな設定方法 の2種類が存在します。現在は新しい形式が推奨されますが、古いIOSでレガシー設定が残っている場合もあるため、両方を理解しておくことが重要です。
新しいIOSでのTACACS+設定
手順の流れ
- TACACS+サーバの登録
サーバのアドレス・ポート番号・共有鍵(Shared Secret)を定義します。(config)# tacacs server config-name (config-server-tacacs)# address ipv4 address (config-server-tacacs)# port number (config-server-tacacs)# key string (config-server-tacacs)# single-connection - サーバグループの作成と登録
複数のTACACS+サーバをグループ化できます。(config)# aaa new-model (config)# aaa group server tacacs+ group-name (config-sg-server)# server name config-name - AAA方式リストへの適用
作成したサーバグループを認証・認可などに適用します。(config)# aaa authentication login default group group-name (config)# aaa authorization exec default group group-name
設定例(機器管理アクセスの集中管理)
Cisco(config)# tacacs server ISE01
Cisco(config-server-tacacs)# address ipv4 192.168.10.101
Cisco(config-server-tacacs)# key Cisco123
Cisco(config-server-tacacs)# single-connection
Cisco(config)# aaa new-model
Cisco(config)# aaa group server tacacs+ GROUP-ISE
Cisco(config-sg-server)# server name ISE01
Cisco(config)# aaa authentication login default group GROUP-ISE
Cisco(config)# aaa authorization console
Cisco(config)# aaa authorization exec default group GROUP-ISE local
この設定により、ISE01サーバを使ってログイン認証と権限管理が行えます。single-connection を指定することで、1つのTCP接続を維持し効率的に通信します。
レガシーなTACACS+設定(旧IOS)
旧来のIOSでは、以下のようにサーバを直接指定します。
(config)# tacacs-server host address port number timeout seconds key string single-connection
主な引数
- address:TACACS+サーバのIPアドレスまたはホスト名
- port:デフォルトはTCP 49、変更したい場合に指定
- timeout:サーバの応答を待つ秒数
- key:暗号化に使用する共有鍵(サーバと同じ値に設定)
- single-connection:単一TCP接続を維持し、効率化するオプション
設定例(管理アクセスの集中管理)
Cisco(config)# tacacs-server host 192.168.10.101 key Cisco123
Cisco(config)# tacacs-server host 192.168.10.102 key Cisco123
Cisco(config)# aaa new-model
Cisco(config)# aaa authentication login default group tacacs+
Cisco(config)# aaa authorization console
Cisco(config)# aaa authorization exec default group tacacs+
この場合、2台のTACACS+サーバが設定され、優先順位は設定順となります。
AAAによるログイン認証の仕組みと設定方法
Cisco機器で複数の管理者がログインする環境では、個別にユーザ名とパスワードを設定して管理するよりも、外部の認証サーバ(RADIUSやTACACS+)に一元管理を任せる方が効率的です。これにより、多数のルータやスイッチに対して一括で認証ポリシーを適用でき、運用の手間を大幅に削減できます。ここでは、AAA(Authentication, Authorization, Accounting)の「Authentication(認証)」部分を中心に解説していきます。
AAAを有効化する
Cisco機器では、AAAは初期状態では無効化されています。そのため、まず以下のコマンドでAAAを有効化する必要があります。
(config)# aaa new-model
この一行でAAA関連の設定が利用可能になります。試験では、このコマンドが必ず必要である点を覚えておきましょう。
認証方式リストの作成
AAAでは「どの認証方法を順番に使うか」を定義したリストを作成し、それを回線(console、vty など)に適用します。コマンドは以下の形式です。
(config)# aaa authentication login [ default | list-name ] method1 method2 ...
- default
全ての回線(VTY、TTY、Console、Aux)に適用される認証リスト。show running-config に表示されない場合もあるので注意。 - list-name
任意の名前を付けて、特定の回線にのみ適用可能。console と vty で認証方式を分けたいときに使う。 - method
認証方式の種類。代表的なものは以下の通り。
| 認証方式 | 説明 |
|---|---|
group radius | RADIUSサーバを利用。事前にRADIUSクライアント設定が必要。 |
group tacacs+ | TACACS+サーバを利用。事前にTACACS+クライアント設定が必要。 |
local | ローカルデータベースのユーザ名・パスワードを使用。usernameコマンドで事前登録が必要。 |
local-case | local認証と同じだが、大文字小文字を区別する。 |
enable | enable password を使用して認証。 |
line | line に設定された password を利用。 |
none | 認証なしでログイン可能(セキュリティ的に推奨されない)。 |
認証リストを回線に適用する
作成した認証リストは、実際にログインする回線に適用して初めて有効になります。
(config)# line vty 0 15
(config-line)# login authentication [ default | list-name ]
defaultを指定した場合は、すべての回線に自動的に適用される- 名前を付けたリストを使う場合は、必ずその回線に対して個別に適用が必要
ログイン失敗回数の制御
デフォルトでは、ログイン試行は最大3回まで許容されます。この回数は変更可能です。
(config)# aaa authentication attempts login 5
上記例では、最大5回まで入力を試せるようになります。
設定例1:RADIUSサーバによる認証のみ
(config)# radius server ISE01
(config-radius-server)# address ipv4 192.168.10.101 auth-port 1812 acct-port 1813
(config-radius-server)# key Cisco123
(config)# aaa new-model
(config)# aaa group server radius GROUP-ISE
(config-sg-radius)# server name ISE01
(config)# aaa authentication login default group GROUP-ISE
この設定では、ログイン時に必ずRADIUSサーバを参照します。サーバがダウンしているとログインできなくなるため、実運用では避けられることが多いです。
設定例2:RADIUS認証+ローカルDBをバックアップに利用
(config)# radius server ISE01
(config-radius-server)# address ipv4 192.168.10.101 auth-port 1812 acct-port 1813
(config-radius-server)# key Cisco123
(config)# aaa new-model
(config)# aaa group server radius GROUP-ISE
(config-sg-radius)# server name ISE01
(config)# aaa authentication login default group GROUP-ISE local
(config)# username admin privilege 15 secret Cisco123
この設定では、まずRADIUSサーバで認証を試み、応答がなければローカルDBを利用します。NW障害時でも管理者がログインできるため、試験でも実務でも「こちらが一般的な推奨設定」と覚えておくとよいです。
設定例3:回線ごとに異なる認証方式を使い分ける
(config)# aaa authentication login L-RADIUS group GROUP-ISE-R local
(config)# aaa authentication login C-TACACS group GROUP-ISE-T local
(config)# line vty 0 15
(config-line)# login authentication L-RADIUS
(config)# line console 0
(config-line)# login authentication C-TACACS
この設定では、vty(リモートログイン)はRADIUS認証を、consoleログインはTACACS+認証を使用します。
参考:Enableモードへの認証
ユーザEXECモードからenableコマンドで特権EXECモードに入る際に認証を行いたい場合は、以下のように設定します。
(config)# aaa authentication enable default group radius enable
この場合は必ず「全ユーザに一律で適用」されるため、名前付きリストは利用できません。
参考:PPP認証でのAAA利用
PPP接続でAAAを使う場合は以下のように設定します。
(config)# aaa authentication ppp default group radius local
また、名前を付けて認証方式を指定することも可能です。
(config)# aaa authentication ppp ISDN_USER group radius
(config)# interface dialer 0
(config-if)# ppp authentication chap ISDN_USER
CHAPやPAPなどのPPP認証方式をAAAと組み合わせて運用する場合、ここが問われやすいポイントです。
AAAによるログイン認可の仕組みと設定方法
AAAの「認可(Authorization)」は、ログイン認証に成功した後にユーザへどの権限を与えるかを制御する仕組みです。認証に通過しても、ユーザモードしか使えなければ設定変更はできません。そこで認可を組み合わせることで、ユーザごとに適切な権限(たとえば特権モードでの操作権限)を付与できます。試験でも「認証と認可の違い」が問われやすい部分なので、セットで理解することが重要です。
AAAを有効化する
認証の時と同様、認可を利用する前にAAAを有効化する必要があります。
(config)# aaa new-model
認可方式リストの作成
認可の仕組みも「リスト」を作成して利用します。ログイン後にどの方法でユーザの権限を決定するかを定義します。
(config)# aaa authorization exec [ default | list-name ] method1 method2 ...
- default
全ての回線(console、vty、tty、aux)に自動適用される認可リスト。show running-config に表示されない場合あり。 - list-name
任意の名前をつけ、特定の回線ごとに個別の認可を設定できる。 - method
認可方式。代表的なものは以下の通り。
| 認可方式 | 説明 |
|---|---|
group radius | RADIUSサーバを利用し、サーバに登録された属性(例:privilege 15)を適用。 |
group tacacs+ | TACACS+サーバを利用し、登録された属性を適用。 |
if-authenticated | 認証さえ通ればアクセスを許可する、最低限の認可。 |
local | 機器のローカルDBに登録されたユーザ情報を利用。 |
none | 認可を行わず、制限なしで利用可能(セキュリティ的に非推奨)。 |
認可リストを回線に適用する
作成した認可リストを、console や vty などの回線に関連付けます。
(config)# line vty 0 15
(config-line)# authorization exec [ default | list-name ]
さらに、console で認可を使う場合は、次の設定で明示的に有効化しなければなりません。
(config)# aaa authorization console
設定例1:RADIUSサーバによる認証+認可
(config)# radius server ISE01
(config-radius-server)# address ipv4 192.168.10.101 auth-port 1812 acct-port 1813
(config-radius-server)# key Cisco123
(config)# aaa new-model
(config)# aaa group server radius GROUP-ISE
(config-sg-radius)# server name ISE01
(config)# aaa authentication login default group GROUP-ISE
(config)# aaa authorization exec default group GROUP-ISE
(config)# aaa authorization console
この設定では、RADIUSサーバに登録された属性をもとに、ログイン後の権限が決定します。例えば、サーバ上でユーザに privilege 15 を割り当てておけば、自動的に特権モードで操作できます。
設定例2:RADIUSを利用しつつ、障害時はローカルを利用
(config)# radius server ISE01
(config-radius-server)# address ipv4 192.168.10.101 auth-port 1812 acct-port 1813
(config-radius-server)# key Cisco123
(config)# aaa new-model
(config)# aaa group server radius GROUP-ISE
(config-sg-radius)# server name ISE01
(config)# username admin privilege 15 secret Cisco123
(config)# aaa authentication login default group GROUP-ISE local
(config)# aaa authorization exec default group GROUP-ISE local
(config)# aaa authorization console
この設定では、通常はRADIUSを利用し、サーバが応答しない場合にはローカルユーザを使って認証・認可を行います。実務でも最もよく用いられる一般的な設定です。
設定例3:回線ごとに認証・認可方式を分ける
(config)# radius server ISE01
(config-radius-server)# address ipv4 192.168.10.101 auth-port 1812 acct-port 1813
(config-radius-server)# key Cisco123
(config)# aaa new-model
(config)# aaa group server radius GROUP-ISE
(config-sg-radius)# server name ISE01
(config)# username admin privilege 15 secret Cisco123
(config)# aaa authentication login C-LOCAL local
(config)# aaa authentication login L-RADIUS group GROUP-ISE local
(config)# aaa authorization exec C-LOCAL local
(config)# aaa authorization exec L-RADIUS group GROUP-ISE local
(config)# aaa authorization console
(config)# line vty 0 15
(config-line)# login authentication L-RADIUS
(config-line)# authorization exec L-RADIUS
(config)# line console 0
(config-line)# login authentication C-LOCAL
(config-line)# authorization exec C-LOCAL
この例では、vtyログインはRADIUS+ローカル、consoleログインはローカルのみという使い分けをしています。試験では「list-name を使うと回線ごとに制御できる」ことを理解しておくと得点につながります。
認可の種類
ここまで紹介したのは「exec 認可」ですが、AAAでは他にもさまざまな認可タイプがあります。
| 認可タイプ | 内容 |
|---|---|
| exec | 機器へのログイン直後に与えられる権限を制御 |
| network | ネットワークサービス要求に対する認可(例:802.1X) |
| commands | 発行されるコマンドごとに認可を行う |
| reverse-access | リバースtelnetなどのリモート接続要求を制御 |
AAAによるログインアカウンティングの仕組みと設定方法
ここまでで「認証(Authentication)」と「認可(Authorization)」を組み合わせることで、ユーザが機器にログインし、適切なモードに移行して操作できるようになりました。これにさらに「アカウンティング(Accounting)」を導入すると、ログインしたユーザや実行した操作の記録を残せるようになります。記録にはタイムスタンプが付与され、誰が・いつ・どのような操作をしたのかを追跡できます。これは監査やトラブルシューティングで非常に重要な要素です。
AAAを有効化する
アカウンティングを設定する場合も、まずAAAを有効化しなければなりません。
(config)# aaa new-model
アカウンティング方式リストの作成
ログインアカウンティングを行うには「リスト」を作成します。ユーザがEXECモードに入った際、その開始や終了をサーバに通知する仕組みです。
(config)# aaa accounting exec [ default | list-name ] [ start-stop | stop-only | none ] method
- default
全回線(console、vty、tty、aux)に自動的に適用されるアカウンティングリスト。show run に表示されない場合あり。 - list-name
任意の名前を付けて、特定の回線だけに適用できる。 - start-stop / stop-only / none
start-stop:セッション開始時に「開始通知」、終了時に「終了通知」を送信。stop-only:セッション終了時のみ通知。none:アカウンティングを行わない。
- method
使用するアカウンティング方法。group radius:RADIUSサーバに記録を送信。group tacacs+:TACACS+サーバに記録を送信。
アカウンティングリストを回線に適用する
作成したアカウンティングリストを回線に関連付けることで、ログイン時に記録が残るようになります。
(config)# line vty 0 15
(config-line)# accounting exec [ default | list-name ]
設定例:認証+認可+アカウンティング
以下の設定は、認証と認可に加えて、ログインセッションをRADIUSサーバへ記録する構成です。
(config)# radius-server ISE01
(config-radius-server)# address ipv4 192.168.10.101 auth-port 1812 acct-port 1813
(config-radius-server)# key Cisco123
(config)# aaa new-model
(config)# aaa group server radius GROUP-ISE
(config-sg-radius)# server name ISE01
(config)# username admin privilege 15 secret Cisco123
(config)# aaa authentication login default group GROUP-ISE local
(config)# aaa authorization exec default group GROUP-ISE local
(config)# aaa authorization console
(config)# aaa accounting exec default start-stop group GROUP-ISE
この設定により、ユーザがログインするとRADIUSサーバに「開始通知」が送信され、セッション終了時には「終了通知」が送信されます。記録にはユーザ名、日時、ログイン時間などが残ります。
アカウンティングの種類
ここでは exec を例にしましたが、他にもさまざまなタイプのアカウンティングが存在します。
| アカウンティングタイプ | 内容 |
|---|---|
| exec | ユーザ名・日付・開始/終了時刻など、EXECセッションの記録 |
| dot1x | IEEE 802.1X 認証に対するアカウンティング |
| network | ネットワーク接続要求に対するアカウンティング |
| system | 機器の reload など、システムイベントの記録(default-list のみ利用可) |
| connections | 機器から行う全ての発信接続を記録 |
IEEE802.1X認証のためのAAA基本設定
IEEE802.1Xは、スイッチのポートに端末を接続した際にユーザ認証を行い、認証結果に応じてアクセス可否や利用可能なネットワークを制御する仕組みです。認証処理には通常RADIUSサーバが利用され、Cisco環境ではCisco ISEと組み合わせるケースが一般的です。ここではAAAの「認証」「認可」「アカウンティング」を802.1Xに対応させる方法を解説します。
RADIUSサーバの登録
まず、802.1Xで利用するRADIUSサーバを機器に登録します。これはCatalystスイッチをRADIUSクライアントとして動作させるための必須設定です。
(config)# radius server config-name
(config-radius-server)# address ipv4 address auth-port number acct-port number
(config-radius-server)# key string
続いて、複数のRADIUSサーバをまとめるためのサーバグループを定義します。
(config)# aaa new-model
(config)# aaa group server radius group-name
(config-sg-server)# server name config-name
IEEE802.1X 認証の設定(AAA Authentication)
IEEE802.1Xの認証リストは以下の形式で定義します。
(config)# aaa authentication dot1x default group [ radius | group-name ]
その後、802.1X認証を機器全体で有効化します。
(config)# dot1x system-auth-control
これにより、スイッチポートで802.1X認証が動作する準備が整います。
IEEE802.1X 認可の設定(AAA Authorization)
認証が成功したユーザには、追加の制御(認可)が行われます。例えば、認証結果に応じて VLAN を割り当てたり、ACLをダイナミックに適用することが可能です。
(config)# aaa authorization network default group [ radius | group-name ]
Web認証を利用する場合は以下のコマンドも用います。
(config)# aaa authorization auth-proxy default group [ radius | group-name ]
IEEE802.1X アカウンティングの設定(AAA Accounting)
認証や認可の結果だけでなく、ログイン時間やセッションの開始・終了といった情報をRADIUSサーバに送るのがアカウンティングです。
(config)# aaa accounting dot1x default start-stop group [ radius | group-name ]
(config)# aaa accounting system default start-stop group [ radius | group-name ]
- dot1x accounting:ユーザごとの802.1Xセッションの記録
- system accounting:機器の再起動やシステムイベントの記録
さらにCisco ISEと連携する場合は、更新情報を通知するオプションを追加することがあります。
(config)# aaa accounting update newinfo
(config)# aaa accounting update periodic <秒>
RADIUSクライアント設定例(802.1Xを利用する場合)
以下は、CatalystスイッチでIEEE802.1X認証をRADIUSサーバと連携させる標準的な設定例です。
(config)# radius server ISE01
(config-radius-server)# address ipv4 192.168.10.101 auth-port 1812 acct-port 1813
(config-radius-server)# key Cisco123
(config)# aaa new-model
(config)# aaa group server radius GROUP-ISE
(config-sg-radius)# server name ISE01
(config)# dot1x system-auth-control
(config)# aaa authentication dot1x default group GROUP-ISE
(config)# aaa authorization network default group GROUP-ISE
(config)# aaa accounting dot1x default start-stop group GROUP-ISE
(config)# aaa accounting system default start-stop group GROUP-ISE
この設定により、802.1Xで接続したユーザはRADIUSサーバで認証され、結果に応じたアクセス制御を受け、さらに利用状況がアカウンティングとして記録されます。