ホテルにチェックインするとき、フロントでは「本人確認」「部屋の利用範囲の説明」「利用履歴の記録」という3つのことが行われていますよね。ネットワークのログイン管理にも、同じような3段階があるとしたらどんな内容でしょうか?
「誰か」「何ができるか」「何をしたか」という3つの観点に分けて考えてみてください。
ホテルのチェックインに似た3段階
前回、username と login local でログインを管理する方法を学びました。今回はそれをさらに体系化した仕組み、AAAを扱います。AAAは、ホテルのチェックインに似ています。フロントでパスポートを確認し(本人確認)、「このお部屋とジムはご利用いただけますが、最上階のラウンジは会員限定です」と案内し(利用範囲の説明)、後で「何時にジムを使った」という記録を残す(利用履歴)。この3段階が、そのままAAAの3要素に対応します。
AAAの3要素
AAAとは、次の3つの頭文字です。
- Authentication(認証): 「あなたは誰ですか」を確認する段階。ID・パスワードや証明書などで本人確認を行います。
- Authorization(認可): 認証された相手に対して「何をしてよいか」を決める段階。例えば、あるユーザーには特権EXECモードへのアクセスを許可し、別のユーザーには閲覧のみを許可する、といった制御です。
- Accounting(アカウンティング): 「誰が、いつ、何をしたか」を記録する段階。ログを残すことで、後から監査や問題調査ができます。
前回学んだ login local は、このうち認証の一部をローカルデータベースだけで行う簡易的な方法でした。AAAは、これを外部のサーバーと連携させて、より大規模かつ一元的に管理する仕組みです。
RADIUSとTACACS+
多数の機器・多数の利用者を管理する環境では、各機器にローカルアカウントを個別登録するのは非効率です。そこで、認証・認可・アカウンティングの情報を一元管理するAAAサーバーを用意し、各機器がそこに問い合わせる形にします。この通信に使われる代表的なプロトコルがRADIUSとTACACS+です。
| 項目 | RADIUS | TACACS+ |
|---|---|---|
| 開発元 | 業界標準(オープン) | Cisco独自 |
| トランスポート | UDP | TCP |
| 暗号化範囲 | パスワード部分のみ | パケット全体 |
| 認証と認可 | 一体化 | 分離して制御可能 |
| 主な用途 | ネットワークアクセス認証全般 | 機器の管理者アクセス制御 |
RADIUSはUDPを使い、パスワード部分だけを暗号化するのに対し、TACACS+はTCPを使い、パケット全体を暗号化します。また、TACACS+は認証・認可・アカウンティングを個別に制御できるため、「ログインは許可するが、特定のコマンドだけは実行させない」といった細かい制御に向いており、Cisco機器の管理者アクセス制御でよく使われます。
多要素認証(MFA)
認証の強度を高める考え方として多要素認証(Multi-Factor Authentication, MFA)があります。認証の要素は大きく3種類に分類されます。
- 知識要素: パスワードやPINなど、本人だけが知っている情報
- 所持要素: ICカードやスマートフォンのアプリなど、本人だけが持っているもの
- 生体要素: 指紋や顔認証など、本人自身の身体的特徴
パスワードだけ(知識要素のみ)に頼るのではなく、これらのうち2つ以上を組み合わせることで、仮に1つの要素が漏れても不正ログインを防ぎやすくなります。ホテルのチェックインで言えば、パスポート(所持要素)に加えて顔写真の照合(生体要素)を行うようなものです。
RADIUSとTACACS+の大きな違いの1つは何でしょうか?
答えを見る
RADIUSはUDPを使いパスワード部分のみを暗号化するのに対し、TACACS+はTCPを使いパケット全体を暗号化します。また、TACACS+は認証・認可・アカウンティングを分離して制御できるため、Cisco機器の管理者アクセス制御に向いています。
RADIUSとTACACS+のうち、「パケット全体を暗号化し、認証・認可・アカウンティングを分離して扱える」のはどちらでしょう?
答えを見る
答えはTACACS+です。TACACS+はTCP(ポート49)で動作し、パケット全体を暗号化、AAAの3要素を分離して細かく制御できるため、機器の管理アクセスに向いています。一方RADIUSはUDP(1812/1813)で、暗号化されるのはパスワード部分のみ、認証と認可が一体化しており、ネットワークアクセス(802.1Xなど)でよく使われます。
試験でのポイント
CCNA試験では、AAAの3要素(認証・認可・アカウンティング)それぞれが何を指すのかを取り違えないことが重要です。「ログの記録」はアカウンティング、「本人確認」は認証、「権限の割り当て」は認可、という対応をしっかり結びつけましょう。また、RADIUSとTACACS+の違い(トランスポート層のプロトコル、暗号化範囲、開発元)は表形式で比較される定番の出題です。多要素認証では、パスワードとPINのように同じ分類(知識要素)を2つ組み合わせても多要素認証とは呼ばない、という引っかけにも注意しましょう。
AAA(認証・認可・アカウンティング)、RADIUSとTACACS+の違い、多要素認証——ログイン管理を一元的かつ強固にする仕組みだよ。ホテルのチェックインのたとえ、イメージしやすかったかな。次は、装置そのものではなく、スイッチが動くレイヤー2の世界で起きる攻撃と対策を見ていくよ。