ネットワーク機器にログインできる人や、使えるコマンドを管理するのがAAAです。機器ごとにユーザーを作るのではなく、認証サーバーでまとめて管理できます。CCNPのENCOR・ENARSIのセキュリティ分野で出題されます。
先に結論から
- AAAは、認証(Authentication)、認可(Authorization)、アカウンティング(Accounting)の3つです。
- RADIUSはUDPを使い、パスワードだけを暗号化します。ネットワークへの接続(802.1Xなど)によく使われます。
- TACACS+はTCPの49番を使い、やり取り全体を暗号化します。機器の管理(コマンドごとの許可)に向いています。
- ローカル認証に切り替わるのは、サーバーから応答がないときだけです。
目次
AAAの3つの要素

| 要素 | 意味 | 例 |
|---|---|---|
| 認証(Authentication) | 誰なのかを確かめる | ユーザー名とパスワードでログインする |
| 認可(Authorization) | 何をしてよいかを決める | 使えるコマンドを制限する |
| アカウンティング(Accounting) | 何をしたかを記録する | ログイン時刻や実行したコマンドを残す |
RADIUSとTACACS+の違い

| RADIUS | TACACS+ | |
|---|---|---|
| トランスポート | UDP(1812/1813) | TCP(49) |
| 暗号化の範囲 | パスワードだけ | やり取り全体 |
| 認証と認可 | まとめて行う | 別々に行える |
| コマンドごとの認可 | できない | できる |
| 主な用途 | ネットワークへの接続(802.1X、VPN、無線LAN) | ネットワーク機器の管理 |
| 標準かどうか | 標準(RFC) | シスコが開発(現在はRFCとして公開) |
古い機器では、RADIUSにUDPの1645/1646番が使われていることもあります。
TACACS+の設定例
aaa new-model
!
tacacs server TAC1
address ipv4 10.1.1.10
key SecretKey123
!
aaa authentication login default group tacacs+ local
aaa authorization exec default group tacacs+ local
aaa accounting commands 15 default start-stop group tacacs+
!
username admin privilege 15 secret LocalPass123
aaa new-modelでAAAを有効にします。- TACACS+サーバーのアドレスと共有キーを設定します。
- ログイン認証は、まずTACACS+、使えなければローカルのユーザーで行うよう設定します。
- ログイン後の権限(exec)の認可と、特権コマンドの記録も設定します。
つまずきやすいポイント
group tacacs+ localと書いても、サーバーが「パスワードが違う」と返した場合はローカルには切り替わりません。切り替わるのは、サーバーから応答がないときだけです。aaa new-modelを入れると、それまでのline vtyのパスワード設定は使われなくなります。ローカルのユーザーを先に作っておかないと、ログインできなくなることがあります。- 設定を変えるときは、今のセッションを切らずに、別のセッションでログインできるか確かめると安全です。
ENARSIのセキュリティ分野では、AAAのほかにACLやuRPF、CoPPも出題されます。勉強の進め方はENARSIの勉強法でまとめています。
よくある質問
RADIUSとTACACS+のポート番号を教えてください。
RADIUSはUDPの1812(認証)と1813(アカウンティング)、TACACS+はTCPの49です。
コマンドごとに使える人を制限したい場合はどちらを使いますか?
TACACS+です。認証と認可を分けて扱え、コマンドごとの認可ができます。
TACACS+サーバーで認証に失敗したら、ローカルのユーザーでログインできますか?
できません。ローカル認証に切り替わるのは、サーバーから応答がない場合だけです。
