RADIUS-クイックガイド
Radiusについて学び始める前に、次のことを理解することが重要です。
- AAAとは何ですか?
- NASとは何ですか?
それでは、最初にこれら2つのトピックについての基本的な考え方を考えてみましょう。
AAAとは何ですか?
AAAは、Authentication、Authorization、andAccountingの略です。
認証
サービスを要求しているユーザーが有効なユーザーであることの確認を指します。
IDと資格情報の提示によって達成されます。
資格情報の例には、パスワード、ワンタイムトークン、デジタル証明書、および電話番号(発信/着信)が含まれます。
承認
認証に基づいてユーザーに特定の種類のサービス(「サービスなし」を含む)を付与することを指します。
制限、たとえば、時刻制限、物理的な場所の制限、または同じユーザーによる複数のログインに対する制限に基づく場合があります。
サービスの例には、IPアドレスフィルタリング、アドレス割り当て、ルート割り当て、暗号化、QoS /差分サービス、帯域幅制御/トラフィック管理などが含まれます。
会計
ユーザーによるネットワークリソースの消費の追跡を指します。
アカウンティングで収集される一般的な情報には、ユーザーのID、提供されるサービスの性質、サービスの開始時刻、および終了時刻が含まれます。
管理、計画、請求などに使用できます。
AAAサーバは、上記のすべてのサービスをクライアントに提供します。
AAAプロトコル
Radiusは、ネットワークアクセスやIPモビリティなどのアプリケーション用のAAAプロトコルです。Radiusの他に、AAAには次のプロトコルがあります。
ターミナルアクセスコントローラアクセス制御システム(TACACS)
TACACSは、Unixネットワークで一般的に使用される認証サーバーと通信するために使用されるリモート認証プロトコルです。TACACSを使用すると、リモートアクセスサーバーが認証サーバーと通信して、ユーザーがネットワークにアクセスできるかどうかを判断できます。
TACACS +
TACACS +は、1つ以上の集中型サーバーを介して、ルーター、ネットワークアクセスサーバー、およびその他のネットワークコンピューティングデバイスにアクセス制御を提供します。TCPを使用し、個別の認証、許可、およびアカウンティングサービスを提供します。ポート49で動作します。
直径
直径は、半径の計画された交換です。
ネットワークアクセスサーバーとは何ですか?
ネットワークアクセスサーバー(NAS)は、クライアントがネットワークにアクセスするためにダイヤルするサービス要素です。NASは、バックボーンとPOTSまたはISDNの両方へのインターフェイスを備えたデバイスであり、ダイヤルアップサービスによってバックボーンにアクセスするホストからのコールを受信します。NASは、顧客にインターネットアクセスを提供するために、インターネットプロバイダーの拠点に配置されています。
ネットワークアクセスサーバーは次のとおりです。
リモートリソースへの単一のアクセスポイント。
ネットワークへのリモートアクセスを許可するため、リモートアクセスサーバー。
ネットワークへの初期エントリポイント。
保護されたリソースを保護するためのゲートウェイ。
例は次のとおりです。
ユーザーIDとパスワードを使用したインターネットアクセス検証。
VoIP、FoIP、およびVMoIPには、有効な電話番号またはIPアドレスが必要です。
電話プリペイドカードはプリペイドカード番号を使用します。
次の図は、Radiusの基本的なアーキテクチャを示しています。
RADIUSは、リンクの認証を希望するネットワークアクセスサーバーと共有認証サーバーの間で、認証、承認、および構成に関連する情報を伝達するためのプロトコルです。
RADIUSは、Remote Authentication Dial In UserServiceの略です。
RADIUSは、ネットワークアクセスやIPモビリティなどのアプリケーション用のAAAプロトコルです。
ローカルとモバイルの両方の状況で機能します。
パスワード認証プロトコル(PAP)、チャレンジハンドシェイク認証プロトコル(CHAP)、または拡張認証プロトコル(EAP)プロトコルを使用してユーザーを認証します。
認証のためにテキストファイル、LDAPサーバー、データベースを調べます。
認証サービス後、パラメータがNASに返されます。
セッションの開始と停止を通知します。このデータは、請求または統計の目的で使用されます。
SNMPはリモート監視に使用されます。
プロキシとして使用できます。
半径の簡単なネットワーク図は次のとおりです。
Radiusのすべての主要機能のリストは次のとおりです。
クライアント/サーバーモデル
NASはRadiusサーバーのクライアントとして機能します。
RADIUSサーバーは、ユーザー接続要求を取得し、ユーザーを認証してから、クライアントがユーザーにサービスを提供するために必要なすべての構成情報を返す役割を果たします。
RADIUSサーバーは、他のRadiusサーバーへのプロキシクライアントとして機能できます。
ネットワークセキュリティー
クライアントとサーバー間のトランザクションは、共有キーを使用して認証されます。このキーがネットワーク経由で送信されることはありません。
パスワードは、ネットワーク経由で送信する前に暗号化されます。
柔軟な認証メカニズム
Radiusは、認証の目的で次のプロトコルをサポートしています。
ポイントツーポイントプロトコル-PPP
パスワード認証プロトコル-PAP
チャレンジハンドシェイク認証プロトコル-CHAP
シンプルなUNIXログイン
拡張可能なプロトコル
半径は拡張可能です。Radiusハードウェアおよびソフトウェアのほとんどのベンダーは、独自の方言を実装しています。
UDPを使用するステートレスプロトコルは、ポート1812で実行されます。
クライアントがRadiusサーバーとの通信を開始する前に、秘密鍵をクライアントとサーバー間で共有する必要があります。また、クライアントは、Radiusサーバーを使用してサービスを受けるように構成する必要があります。
クライアントが適切に構成されたら、次のようにします。
クライアントはAccess-Requestで始まります。
サーバーは、Access-Accept、Access-Reject、またはAccess-Challengeのいずれかを送信します。
Access-Acceptは、ユーザーにサービスを提供するために必要なすべての属性を保持します。
半径コード(10進数)は次のように割り当てられます。
- 1アクセスリクエスト
- 2アクセス-受け入れる
- 3アクセス-拒否
- 4アカウンティング-リクエスト
- 5会計-対応
- 11アクセス-チャレンジ
- 12ステータスサーバー(実験的)
- 13ステータス-クライアント(実験的)
- 255予約済み
- キープアライブの概念はありません-良いか悪いか??
コード4および5は、半径アカウンティング機能に関連しています。コード12および13は、使用できるように予約されています。
Radiusのパケット形式は次のとおりです。
Code:これは1オクテット(1バイト)の長さで、さまざまなタイプのパケットを識別します。通常、1オクテットは1バイトを意味します。
Identifier: これも1オクテットの長さであり、応答と要求の照合に役立ちます。
Length:これは2オクテットの長さで、コード、識別子、長さ、オーセンティケーターを含むパケットの長さを指定します。(最小パケットは20オクテット、最大パケットは4096オクテットです)。
Authenticator: これは16オクテットの長さで、一部の要求と応答の場合はいっぱいになります。
List of Attributes: 63以上の属性のリストがあり、Radius属性にも、次の章で説明する定義済みの形式があります。
半径属性は、次の3つの部分で構成されます。
Type:1オクテットの長さで、さまざまなタイプの属性を識別します。下記の属性コードです。
Length: 1オクテットの長さ、タイプを含む属性の長さ。
Value: 0オクテット以上の長さで、属性に固有の情報が含まれています。
RADIUS属性リスト
コード | 属性 |
---|---|
1 | ユーザー名 |
2 | ユーザーのパスワード |
3 | CHAP-パスワード |
4 | NAS-IPアドレス |
5 | NASポート |
6 | サービスの種類 |
7 | フレーム付きプロトコル |
8 | フレーム化されたIPアドレス |
9 | フレーム付きIPネットマスク |
10 | フレーム付きルーティング |
11 | Filter-Id |
12 | フレーム付き-MTU |
13 | フレーム-圧縮 |
14 | ログイン-IP-ホスト |
15 | ログインサービス |
16 | ログイン-TCP-ポート |
17 | (未割り当て) |
18 | 返信メッセージ |
19 | コールバック番号 |
20 | コールバックID |
21 | (未割り当て) |
22 | フレームルート |
23 | フレーム付き-IPX-ネットワーク |
24 | 状態 |
25 | クラス |
26 | ベンダー固有 |
27 | セッションタイムアウト |
28 | アイドルタイムアウト |
29 | 終了-アクション |
30 | Called-Station-Id |
31 | Calling-Station-Id |
32 | NAS-識別子 |
33 | プロキシ状態 |
34 | ログイン-LAT-サービス |
35 | ログイン-LAT-ノード3 |
36 | ログイン-LAT-グループ |
37 | フレーム付き-AppleTalk-リンク |
38 | フレーム付き-AppleTalk-ネットワーク |
39 | フレーム付き-AppleTalk-Zone |
40-59 | (会計用に予約済み) |
60 | CHAP-チャレンジ |
61 | NASポートタイプ |
62 | ポート制限 |
63 | ログイン-LAT-ポート |
RADIUSリクエストの例
RadiusRequestの例を見てみましょう。
192.168.1.16のNASは、パスワード「arctangent」でポート3にログインしているNemoという名前のユーザーのRADIUSサーバーにAccess-RequestUDPパケットを送信します。
Request Authenticatorは、NASによって生成された16オクテットの乱数です。
ユーザーパスワードは、最後にnullが埋め込まれた16オクテットであり、D5(Shared Secret | Request Authenticator)とXORされます。
01 00 00 38 0f 40 3f 94 73 97 80 57 bd 83 d5 cb 98 f4 22 7a 01 06 6e 65 6d 6f 02 12 0d be 70 8d 93 d4 13 ce 31 96 e4 3f 78 2a 0a ee 04 06 c0 a8 01 10 05 06 00 00 00 03
1コード=アクセスリクエスト(1)
1識別子= 0
2長さ= 56
16オーセンティケーターのリクエスト
属性リスト
6ユーザー名= "Nemo"
18ユーザーパスワード
6NAS-IPアドレス= 192.168.1.16
6NASポート= 3
半径応答の例
応答パケットの例を次に示します。
RADIUSサーバーはNemoを認証し、Access-Accept UDPパケットをNASに送信して、ホスト192.168.1.3にNemoをtelnetで送信するように指示します。
Response Authenticatorは、コード(2)、id(0)、Length(38)、上記のRequest Authenticator、この応答の属性、および共有シークレットの16オクテットのMD5チェックサムです。
02 00 00 26 86 fe 22 0e 76 24 ba 2a 10 05 f6 bf 9b 55 e0 b2 06 06 00 00 00 01 0f 06 00 00 00 00 0e 06 c0 a8 01 03
1コード=アクセス-承認(2)
1識別子= 0(Access-Requestと同じ)
2長さ= 38
16応答オーセンティケーター
属性リスト:
6サービスタイプ(6)=ログイン(1)
6ログインサービス(15)= Telnet(0)
6ログイン-IP-ホスト(14)= 192.168.1.3
直径はRADIUSの計画された交換です。これは、ネットワークアクセスやIPモビリティなどのアプリケーション用のAAAプロトコルです。以下に、Diameterについて知っておく必要のあるいくつかのポイントを示します。
これは、ローカルとローミングの両方のAAA状況で機能することを目的としています。
直径は、以前のプロトコルの半径の2倍です。
UDPではなくTCPまたはSCTPを使用します。
トランスポートレベルのセキュリティ(IPSECまたはTLS)を使用します。
8ビットではなく32ビットの識別子があります。
ステートレスモードとステートフルモードをサポートします。
アプリケーション層の確認応答をサポートし、フェイルオーバーを定義します。
より優れたローミングサポートを提供します。
AVPを使用します。
Diameterを使用すると、新しいコマンドと属性を定義できます。拡張は簡単です。
次は何ですか?
これで、半径と直径の基本を理解できました。これらのプロトコルに関する知識を深めるには、「リソース」セクションに記載されているさまざまなRFCやその他のリソースを確認する必要があります。