AAAとは
AAAとは Authentication(認証)・Authorization(認可)・Accounting(アカウンティング) の頭文字をとったもので、ネットワーク機器におけるセキュリティ管理の基本枠組みを指します。企業ネットワークではIEEE 802.1Xや、RADIUS・TACACS+といったサーバ認証と組み合わせて広く使われています。
AAAの3つの機能
認証(Authentication)
ユーザが正規の利用者かどうかを確認する仕組みです。ユーザID・パスワードやデジタル証明書などの資格情報を検証します。認証時に利用するプロトコルによってはチャレンジ/レスポンス方式や暗号化通信も行われます。
認可(Authorization)
認証に成功したユーザに対して「どの操作やサービスを許可するか」を制御します。例えば発行できるコマンドを制限したり、ネットワークへのアクセス範囲を絞ることが可能です。これらはユーザやグループに紐づいた属性情報で管理され、ローカル設定やRADIUS/TACACS+サーバ上で定義できます。
アカウンティング(Accounting)
認証されたユーザが行った操作や接続情報を記録します。ログイン・ログアウトの履歴、入力コマンド、接続時間などを収集し、サーバに送信して監査・レポート作成や課金に利用できます。実務では課金目的よりも「ログ監査」によく使われます。
AAAを導入する利点
- 集中管理の実現
機器ごとにパスワードを設定するのではなく、TACACS+やRADIUSサーバでユーザ情報を一元管理できます。これにより運用効率が向上し、セキュリティポリシーも統一可能です。 - マルチベンダー対応
AAAを有効化すると標準規格のRADIUSがサポートされ、Cisco ISEはもちろんMicrosoftなど他社製RADIUSサーバとも連携できます。マルチベンダー環境でも統一した認証基盤を構築可能です。 - 柔軟な実装
リモートサーバ認証に加えて、ローカル認証も利用可能です。ただしローカル認証は拡張性に欠け、大規模環境ではサーバ認証が推奨されます。
Cisco IOSでのAAA認証設定
AAAの基本は「認証」であり、これが成功した後に認可とアカウンティングが続きます。Cisco IOSでは認証を設定する際に次の3要素を決めます。
認証タイプ
login:コンソール、Telnet、SSHなど機器へのアクセス認証dot1x:IEEE 802.1Xによるポートベース認証enable:特権モード移行時の認証ppp:PPP接続時の認証
※ 実務や試験では特に「login」と「dot1x」が中心になります。
リスト
default:全ての回線(VTY、TTY、Console、Aux)に自動適用- 任意のリスト名:対象回線ごとに異なる認証方式を指定可能
認証方式
group server-group:定義済みのサーバグループを使用group radius:RADIUSサーバを利用group tacacs+:TACACS+サーバを利用enable:enableパスワードで認証line:lineパスワードを使用local:ローカルユーザデータベースを使用(大文字小文字区別なし)local-case:ローカルユーザデータベースを使用(大文字小文字を区別)none:認証を行わない
RADIUSとTACACS+の違い
AAA(認証・認可・アカウンティング)を実装する際、Cisco機器ではRADIUSやTACACS+といったセキュリティプロトコルをAAAサーバとの通信に利用します。両者はよく似ていますが、設計思想や動作の仕組みに明確な違いがあります。
基本的な違い
| プロトコル | 標準化 | 使用ポート | 暗号化 |
|---|---|---|---|
| RADIUS | IETF標準 | UDP 1812(認証/認可)、UDP 1813(アカウンティング)旧ポート:1645 / 1646 | パスワード情報のみ暗号化 |
| TACACS+ | Cisco独自 | TCP 49 | パケット全体を暗号化 |
- RADIUSは標準規格であり、Cisco以外のベンダー機器でも広く利用されます。
- TACACS+はCisco独自プロトコルで、特にCisco機器管理で強力な機能を提供します。
AAAサービスの分離方法
- RADIUS
認証(Authentication)と認可(Authorization)が一体化しており、同じパケットで処理されます。アカウンティングのみ独立しています。これは、RADIUSがAAAモデル確立前に設計された名残です。 - TACACS+
認証・認可・アカウンティングが完全に独立して処理されます。認証が成功しても、認可段階でコマンドごとの制御を柔軟に設定できるのが強みです。
RADIUSの通信フロー(概要)
- クライアント(NAS:Network Access Server)が入力されたユーザ名・パスワード、NAS情報などを Access-Request として送信。
- サーバ側で「共有鍵(Shared Secret)」とDBに登録されている資格情報を照合。
- 一致すれば Access-Accept を返し、その際にVLAN番号やACLなどの属性情報(アトリビュート)を付与。
- 認証・認可完了後、アカウンティングが独立したフェーズとして実行され、ログイン時間や利用情報を記録。
RADIUSは802.1X認証で使用できる唯一のプロトコルである点も重要です。
TACACS+の通信フロー(概要)
TACACS+は認証・認可・アカウンティングが分離されており、次のような流れになります。
- Authentication(認証)
ユーザ名とパスワードをやり取りし、成功/失敗を判定。 - Authorization(認可)
ログイン後のサービス要求やコマンドごとに、実行可否をサーバが判断。管理者権限の細かい制御が可能。 - Accounting(アカウンティング)
セッション開始・コマンド実行・セッション終了といった操作を1つずつサーバに送信し、記録。
これにより、Cisco機器管理において「誰が、いつ、どのコマンドを実行したか」を細かく記録し、強固なセキュリティを実現できます。