セキュリティの機能【AAA】

CCNAの試験に向けて学習中。
復習に見返せるようにメモしていきます。
ほぼ自分の勉強メモです。
過度な期待はしないでください。


前回投稿記事
-
こちらの [セキュリティの機能](https://qiita.com/k-yasuhiro/private/e5e9872c56d9b6ac51ce) 投稿記事と
こちらの [セキュリティの機能【スイッチのセキュリティ機能】](https://qiita.com/k-yasuhiro/items/1f1d4dd9cfe9a10884c1)投稿記事の続きです。
<br>

3. AAA
-

#### 3-1.AAAの概要
AAAとは、Authentication（認証）Authorization（認可）、Accounting（アカウンティング）の略称の
事であり、3つの頭文字を取って、AAAといわれます。

▶︎ Authentication（認証）
Authenticationとは、ネットワークサービスやリソースを利用する際に、ユーザやパスワードを基に、
アクセスが許可されたユーザなのかどうかをなどの確認を行う事です。


▶︎ Authorization（認可）
Authorizationとは、認証に成功したユーザに対して提供する権限（ネットワークサービス）を制限する
事です。管理者であれば全てのものにアクセス可能として、その他のユーザには限られたアクセスしか
出来ないようにするといった制限を掛ける事が出来ます。

▶︎ Accounting（アカウンティング）
Accountingとは、ネットワークサービスやリソースを利用しているユーザがいつログインして、
入力したコマンド、接続時間、システムイベント等の情報をタイムスタンプをつけてログに記録して
行動を監視する事です。

<br>
#### 3-2.RADIUSとTACACS+

##### ■ 3-2-1.RADIUS
RADIUS（Remote Authentication Dial In User Service）は、認証やアカウンティングの機能を
もったプロトコルの１つです。RADIUSプロトコルは、AAAモデルが確立される前に開発された
プロトコルであり「認証と認可」が組み合わされており1つのサービスとして統合されて、
「アカウンティング」のみ分離されています。
ネットワークにアクセスする際やルータやスイッチなどの機器にログインする際に、このプロトコルを
使用して認証する事が出来ます。また、<font color="Red"><b>IEEE 802.1X</b>※1</font>という不正なアクセスを防止する為の規格でも
使用されています。
>
※1 IEEE 802.1Xとは、ネットワークに接続するコンピュータ等の端末を認証する方法を
定めた標準規格の一つ。

##### ■ 3-2-2.TACACS+
TACACS+(Terminal Access Controller Access-Control System)は、認証、認可、
アカウンティングの3つのサービス機能が分離されているプロトコルです。
RADIUSのように、TACACS+もルータやスイッチなどの機器にログインする際の<font color="Green">ログイン認証</font>に
使用する事が出来ます。

##### ■ 3-2-3.RADIUSとTACACS+の違い
RADIUSとTACACS+の違いを表に纏めます。

|項目　　　　　　　|RADIUS|TACACS+|
|:---|:---|:---|
|トランスポート層|UDP|TCP|
|使用ポート|1812,1813 ※2|49|
|パケットの暗号化|パスワードの暗号化|<font color="Red">全体の暗号化</font>|
|AAAの対応|認証、アカウンティング|認証、許可、アカウンティング|
|ルータの管理|ユーザがルータで設定するコマンドを制限出来ない|<font color="Green">ユーザがルータで設定するコマンドを制限出来る</font>|
||標準化|Cisco独自|
>
※2 RADIUSでは「認証と認可」にはUDPポート1812、「アカウンティング」にUDPポート1813を
使用します。

##### ■ 3-2-4.ログイン認証
RADIUSとTACACS+を使用する事で、これまでは、そのパスワードとしてルータ自身に設定されていた
ものを使用していましたが、リモートのサーバと連携する事が出来るようになりました。

RADIUSサーバかTACACSサーバを用意して、サーバ側にユーザ名やパスワードを設定しておく事で
各認証の機器に必要な情報をサーバ側で一元管理する事が出来ます。
<img width="640" alt="ファイル名" src="https://i.gyazo.com/3a0a1e672a70533333ef8972d677f831.png">
PCからRadiusクライアントに送信されたユーザ名とパスワードは、Radiusクライアントから
RadiusサーバへAccess-Requestメッセージとして送信されます。Radiusサーバは、送信されてきた
情報と、Radiusサーバが保持している情報とを照らし合わせて、正規ユーザかどうかを識別します。
正規ユーザだと判断できた場合は、RadiusサーバはAccess-AcceptメッセージでRadiusクライアントに
伝えて、その情報がユーザに伝えられます。

<br>
#### 3-3.AAAを使用したログイン認証の設定
##### ■ 3-3-1.AAAの有効化
AAAの有効化するには、<b>グローバルコンフィギュレーションモード</b>で
次の <font color="Red"><b>aaa new-model コマンド</b></font>を実行します。

```
(config)# aaa new-model
```

<br>
##### ■ 3-3-2.ログイン時の認証方式の設定
認証方式を設定するには、まず認証方式のリストを作成する必要があります。
認証方式とは、どの認証方式をどの順番で使用するかを指定したものになります。
認証方式は複数選択する事ができ、複数選択した場合、＜method1＞から順番で実行され、
タイムアウトのエラーを受信すると次の＜method2＞を実行します。

その作成したリストをコンソールラインやVTYラインに適用します。

認証方式リストを作成するには、<b>グローバルコンフィギュレーションモード</b>で
次の <font color="Red"><b>aaa authentication login コマンド</b></font>を実行します。

```
(config)# aaa authentication login < default | リスト名 > < method1 > [< method2 >]
```
>
＜default＞を指定すると、指定した認証方式が全てのログイン接続に際に使用されます。
それぞれのラインで異なるリストを使用したい場合は任意の＜リスト名＞をつけて作成します。
＜method＞には、指定したいログイン時の認証方式を指定します※3

※3 ログイン時の認証方式の種類
<img width="670" alt="ファイル名" src="https://i.gyazo.com/7980e6049a452bd2a2cd71cc2054df58.png">

##### ■ 3-3-3.認証方式の適用
認証リストを作成したら、リストを適用する必要があります。

認証方式を適用するには、<b>ラインコンフィギュレーションモード</b>で
次の <font color="Red"><b>login authentication コマンド</b></font>を実行します。

```
(config-line)# login authentication < default | リスト名 >
```
>
デフォルトのリストを適用するには、＜default＞を指定します。
作成したリストを適用するには、＜リスト名＞を指定します。

<br>
#### 3-4.IEEE 802.1X

##### ■ 3-4-1.IEEE 802.1Xとは？

IEEE 802.1Xとは、利用者認証方式の規格で、不正にネットワークに参加する事を防ぐ技術です。

IEEE 802.1Xでは、スイッチに接続しているPCや無線アクセスポイントを利用するPCが
社内ネットワークにアクセスする前に、<font color="green"><b>ユーザID</b></font>と<font color="green"><b>パスワード</b></font>などを利用して認証を行います。
認証用のRADIUSサーバに登録されている正規ユーザであれば社内のネットワークにアクセスでき、
登録されていないユーザであればスイッチやアクセスポイントでブロックされます。

有線LAN、無線LANとも利用可能だが、無線LAN環境における標準の認証機構として利用されている。

##### ■ 3-4-2.IEEE 802.1Xの構成要素

IEEE 802.1X 認証を行う為には、RADIUSサーバー（認証サーバー）、認証装置（オーセンティケータ）、
クライアント機器（サプリカント）の3つの要素で構成されます。
<img width="670" alt="ファイル名" src="https://i.gyazo.com/5487d935b5fd558a05a0e2ca92782760.png">

▶︎ サプリカント（Supplicant)
IEEE802.1Xにおけるクライアント及びクライアントにインストールするソフトウェアの事いいます。
認証を受けるクライアントはPCにインストールする必要があるが、最近のPCには標準搭載されています。

認証情報は、EAPというデータリンク層のプロトコルを使用して運びます。LANで使用出来るように、
EAPOL ※4を使用します。
>
※4 EAPパケットをサプリカントとオーセンティケータ間で伝送するためのプロトコル。

▶︎ オーセンティケータ(Authenticator)
オーセンティケータは、PCから送信されてくるユーザ名やパスワードなどの認証情報を、
RADIUSサーバーに中継する機器です。

▶︎ 認証サーバ(Authentication Server)
ユーザ認証を行うのが認証サーバです。IEEE802.1XではRADIUSのみサポートしている為、
RADIUSサーバが認証サーバとなります。RADIUSプロトコルを使用してオーセンティケータと
やり取りし、認証結果をオーセンティケータに伝える事で、オーセンティケータがスイッチの
ポートをブロックしたりします。