読者です 読者をやめる 読者になる 読者になる

ひよっこエンジニアの備忘録

日常とかSEとしての備忘を書いていきます。

AAA(AuthenticationAuthorizationAccounting)

[AAAとは]

Authentication(認証)、Authorization(認可)、Accounting(アカウンティング)の略称。
これら3つの異なるセキュリティ機能を設定するためのアーキテクチャ上の枠組みのこと。

Authentication

→ユーザー名/パスワードを確認しネットワークにアクセスするための認証。

※認証オプション
サービスタイプ
・login(コンソール、telnetssh
・ppp(ppp認証)
方式リスト
・任意のリスト名(特定のinterface、lineに適用される。)
・default(全interface、lineに適用される。)
認証方式
・local(ローカルデータベース)
・group radius(RADIUSサーバ)
・group tacacs(TACACS+サーバ)
・none(認証なし)
・group (任意のグループ名にAAAサーバ軍を関連付けたもの)

Authorization

→何の実行を許可するかの権限割当て

Accounting

→ユーザの履歴を記録(ログ情報収集や課金管理等)
※AAAの実装は、IEEE802.1X認証とセットでよく使用されるのでIEEE802.1Xもあわせて覚えておくこと。

AAAがCiscoルータやCatalystなどで実装される場合、セットで
RADIUSサーバやTACACS+サーバが使用される。

またRadiusサーバなどリモートサーバ認証だけでなくローカル認証も可能。
(ルータのコンソールポート、補助ポート、vtyポートへのアクセス認証など)
ただしローカル認証ではAAAで実装できる範囲、拡張性、柔軟性が乏しい。

AAAのイメージ図
f:id:nrlay00:20170109042732p:plain

用語

サプリカント(Supplicant)

IEEE802.1Xにおけるクライアントのこと。またはクライアントに
インストールするソフトウェア。
認証を受けるクライアントはPCにインストールする必要があるが、
最近のPCには標準搭載されている。

認証装置(Authenticator)

サプリカントと認証サーバの仲介役となるネットワーク機器
IEEE802.1X対応のLANスイッチまたは無線LANアクセスポイントのこと。
(イメージ的にはサプリカントと認証サーバ間のプロキシとして動く)

これらの機器はサプリカントと認証サーバとの認証結果を受けて、ネットワークへの
アクセス制御を行う。Ciscoは有線/無線LANスイッチともにIEEE802.1Xに標準対応。

認証サーバ(Authentication Server)

ユーザ認証を行うサーバのこと。IEEE802.1X/EAPに対応したRadiusサーバを使用する。

EAP(Extensible Authentication Protocol)

PPP(Point-to-Point Protocol)を拡張したプロトコルであり、
データリンク層プロトコルと認証プロトコルの仲介役となる。

CA(認証局

証明書を発行するための機関。

AAAを実装するメリット

集中管理 その1

CiscoルータやCatalystへのログイン認証用として、
ローカルにline vty やenableパスワードを設定せずに
認証用のユーザID/パスワード情報を認証サーバ側で
一括管理することができる。
※AAAを実装してローカルで管理する設定も可。

集中管理 その2

ネットワークにアクセスする認証用のユーザ/パスワードを
ローカルデータベースで管理せずにRADIUSサーバで
一括管理することができる。
※ AAAを実装してローカルで管理する設定も可。

RADIUSのサポート

AAAを実装することにより、標準規格であるRADIUSプロトコル
サポートされるようになる。(TACACS+はcisco独自)
これによりCisco ISEなどのRADIUSサーバだけでなく、MSなど
他メーカーのRADIUSサーバを使用して認証ができるようになり
マルチベンダーの認証、認可環境を構築することができる。


AAAフロー


f:id:nrlay00:20170110075224p:plain

設定

1. AAAの有効化

(config)#aaa new-model
※AAAが無効の状態だとaaa authentication等のAAA関連のコマンドが弾かれる。

2. 認証を行うRadiusサーバのIPアドレスとキーの指定

(config)#radius-server host {IPアドレス} [key {キー}]

3. IEEE802.1xの認証方法を定義

(config)#aaa authentication dot1x default group radius
※通常はradiusを指定し、2で指定したRadiusサーバにて認証を行う)

4. IEEE802.1xをグローバルで有効化

(config)#dot1x system-auth-control

5. インターフェースのアクセスポート化(IEEE802.1xはアクセスポートにのみ設定可能)

(config)#interface {インターフェース}
(config-if)#switchport mode access

6. IEEE802.1xのポートの状態を指定

(config-if)#dot1x port-control {auto | force-authorized | force-unauthorized}

・auto 
radiusでの認証が成功すれば許可ステートへ
 認証失敗となれば無許可ステートへと移行する。
・force-authorized 
→強制的に許可ステートへ移行しフレームを送受信する。
 (つまり認証不要でサービスが使える)
・force-unauthorized
→強制的に無許可ステートへ移行しフレームを送受信させない。
 (authorizedの逆でどの端末を繋いでもサービスは使えない。)




#AAAに関しては、正直自分の理解力が足りず完全に理解できていない。
 あとでしっかり見直さないとだめですね。。