AAA(設定と運用)

目次

RADIUSクライアントの設定方法

Cisco IOSでAAAを実装し、RADIUSサーバと連携させる方法には 新しい設定方法旧来のレガシー設定方法 の2種類があります。現在の試験や実務では新しい形式が推奨されますが、古い環境ではレガシー設定が残っていることもあるため、両方理解しておく必要があります。

新しいIOSでのRADIUS設定

手順の流れ

  1. 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
  2. 認証サーバグループへの登録
    複数のRADIUSサーバをグループ化できる。 (config)# aaa new-model (config)# aaa group server radius group-name (config-sg-server)# server name config-name
  3. 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サーバが利用され、設定順に優先順位 が決まります。

新しい設定では
radius server で個別登録 → aaa group server radius に登録 → AAA方式リストに適用する流れ。
・サーバグループを利用できるため柔軟性が高い。

レガシー設定では
radius-server host コマンドで直接サーバ登録。
・グループ化はせず、単純に複数サーバを設定順に利用。

802.1X認証では
・RADIUSサーバが必須。TACACS+は使用できない。

この違いを整理して覚えておくと、試験問題で「新旧設定の見分け」や「複数サーバ利用時の挙動」を問われたときに対応できます。

TACACS+クライアントの設定方法

RADIUSと同様に、TACACS+を利用してネットワーク機器の認証・認可・アカウンティングを集中管理できます。Cisco IOSでは 新しい設定方法レガシーな設定方法 の2種類が存在します。現在は新しい形式が推奨されますが、古いIOSでレガシー設定が残っている場合もあるため、両方を理解しておくことが重要です。

新しいIOSでのTACACS+設定

手順の流れ

  1. 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
  2. サーバグループの作成と登録
    複数のTACACS+サーバをグループ化できます。 (config)# aaa new-model (config)# aaa group server tacacs+ group-name (config-sg-server)# server name config-name
  3. 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+サーバが設定され、優先順位は設定順となります。

新方式tacacs serveraaa group server tacacs+ → AAA方式リストで利用。
旧方式tacacs-server host で直接サーバ登録。
TACACS+の特徴
  TCP 49を使用
  認証・認可・アカウンティングを分離して制御可能
  パケット全体を暗号化するためセキュリティが高い
  Cisco機器の管理アクセス制御に特に有効

RADIUSとTACACS+の違いとあわせて、新旧の設定方法を理解しておくことが、CCNA試験でも実務でも重要です。

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 radiusRADIUSサーバを利用。事前にRADIUSクライアント設定が必要。
group tacacs+TACACS+サーバを利用。事前にTACACS+クライアント設定が必要。
localローカルデータベースのユーザ名・パスワードを使用。usernameコマンドで事前登録が必要。
local-caselocal認証と同じだが、大文字小文字を区別する。
enableenable password を使用して認証。
lineline に設定された 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 new-model は必須
・default と list-name の違いを理解すること
・認証方式は複数並べて優先順位をつけられる
・実務ではRADIUSやTACACS+とローカルの併用が一般的
・enable認証は個別設定できず全ユーザに一律適用
・PPP認証はCHAP、PAP、MS-CHAPをAAAに連携可能

これらを押さえておけば、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 radiusRADIUSサーバを利用し、サーバに登録された属性(例:privilege 15)を適用。
group tacacs+TACACS+サーバを利用し、登録された属性を適用。
if-authenticated認証さえ通ればアクセスを許可する、最低限の認可。
local機器のローカルDBに登録されたユーザ情報を利用。
none認可を行わず、制限なしで利用可能(セキュリティ的に非推奨)。

試験では「exec 認可はログイン直後の権限を決める」という点がよく問われます。

認可リストを回線に適用する

作成した認可リストを、console や vty などの回線に関連付けます。

(config)# line vty 0 15
(config-line)# authorization exec [ default | list-name ]

さらに、console で認可を使う場合は、次の設定で明示的に有効化しなければなりません。

(config)# aaa authorization console

試験では「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などのリモート接続要求を制御

試験では特に exec認可とcommands認可の違い がよく出題されるため、「execはログイン直後の権限」「commandsは個々のコマンド実行の可否」と区別して覚えておくと安心です。

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+サーバに記録を送信。

試験では「start-stop を指定すると開始と終了両方が記録される」という点が問われやすいです。

アカウンティングリストを回線に適用する

作成したアカウンティングリストを回線に関連付けることで、ログイン時に記録が残るようになります。

(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セッションの記録
dot1xIEEE 802.1X 認証に対するアカウンティング
networkネットワーク接続要求に対するアカウンティング
system機器の reload など、システムイベントの記録(default-list のみ利用可)
connections機器から行う全ての発信接続を記録

試験では「exec はログインセッションの監査」「system は reload などのイベント監査」といった違いを理解しておくと有利です。

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 ]

試験では「802.1X認可=networkタイプ」が使われる点を覚えておくと得点につながります。

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サーバで認証され、結果に応じたアクセス制御を受け、さらに利用状況がアカウンティングとして記録されます。

dot1x system-auth-control を入れないと認証が動作しない
・認証(authentication)、認可(authorization)、アカウンティング(accounting)でそれぞれ使うコマンドが異なる
・認可は networkタイプ を利用する
・アカウンティングは dot1xsystem がよく使われる

この流れをしっかり押さえておけば、CCNA試験で802.1XとAAA関連の問題に対応できます。

◆まとめスライド

目次