認証、認可、アカウンティング(AAA または「トリプル A」)ネットワーク セキュリティ サービスは、ネットワーク デバイスに対してアクセス制御を設定するための主要なフレームワークとなります。 AAA は、ネットワークへのアクセスを許可されているユーザ(認証)と、そのユーザがネットワーク内で実行できる操作(認可)を制御し、そのユーザがネットワークにアクセスしている間に実行できるアクションを観察(アカウンティング)する方法です。 AAA は、コンソール、AUX、VTY、および特権 EXEC 認証の各コマンドのみよりも高い拡張性を実現します。
認証(Authentication)
ユーザおよび管理者は、自分が申告した本人であることを証明する必要があります。 認証は、ユーザ名とパスワードの組み合わせ、チャレンジ/レスポンスの質問、トークン カード、および他の方法を使用して確立できます。 たとえば、「私はユーザ "student" です。 自分がユーザ "student" であることを証明するためのパスワードを知っています」ということです。
小規模なネットワークでは、一般的にローカル認証が使用されます。 ローカル認証では、各デバイスがユーザ名とパスワードの組み合わせを持つ独自のデータベースを保持します。 ただし、ローカル デバイスのデータベースにかなりの数のユーザ アカウントがある場合は、これらのアカウントの管理が複雑になります。 また、ネットワークを拡大してより多くのデバイスをネットワークに追加すると、ローカル認証は管理が困難になり、拡張できなくなります。 たとえば、100 台のネットワーク デバイスがある場合、すべてのユーザ アカウントを 100 台のデバイスすべてに追加する必要があります。
大規模なネットワークの場合、よりスケーラブルなソリューションとして外部認証があります。 外部認証では、外部のネットワーク サーバによってすべてのユーザを認証できます。 ユーザの外部認証として最も一般的なオプションは、RADIUS と TACACS+ の 2 つです。
- RADIUS は、使用する CPU リソースとメモリが少ないオープン スタンダード プロトコルです。 スイッチ、ルータ、ワイヤレス デバイスなど、幅広いネットワーク デバイスで使用されています。
- TACACS+ は、モジュール型の認証、認可、アカウンティング サービスを可能にするセキュリティ メカニズムです。 セキュリティ サーバ上で動作する TACACS+ デーモンを使用します。
認可(Authorization)
ユーザの認証後は、認可サービスにより、ユーザがアクセスできるリソースや、ユーザが実行できる操作が決定されます。 たとえば、「ユーザ "student" は Telnet を使用した場合のみホスト serverXYZ にアクセスできます」といった具合です。
アカウンティング(Accounting)
アカウンティングは、ユーザが何を行ったか(アクセス先、リソースへの合計アクセス時間など)や行われたすべての変更を記録します。 アカウンティングでは、ネットワーク リソースがどのように使用されているかが追跡されます。 たとえば、「ユーザ "student" は Telnet を使用してホスト serverXYZ に 15 分間アクセスした」といった具合です。
AAA の概念は、クレジット カードの利用に似ています。 クレジット カードでは、そのカードを使用できる人物、支払いに利用できる額が特定され、ユーザがそのカードで代金を支払った品物の明細が記録されます(図を参照)。