Radius-quick-guide

提供:Dev Guides
移動先:案内検索

AAAおよびNAS

Radiusについて学習を始める前に、次のことを理解することが重要です。

  • AAAとは何ですか?
  • NASとは何ですか?

そこで、まずこれらの2つのトピックに関する基本的なアイデアを考えましょう。

AAAとは何ですか?

AAAは、認証、承認、およびアカウンティングの略です。

認証

  • サービスを要求しているユーザーが有効なユーザーであることの確認を指します。
  • 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の基本的なアーキテクチャを示しています。

NASアーキテクチャ

RADIUS-概要

RADIUSは、リンクの認証を希望するネットワークアクセスサーバーと共有認証サーバーとの間で、認証、承認、および構成に関連する情報を伝送するためのプロトコルです。

  • RADIUSは、リモート認証ダイヤルインユーザーサービスの略です。
  • RADIUSは、ネットワークアクセスやIPモビリティなどのアプリケーション用のAAAプロトコルです
  • ローカルとモバイルの両方の状況で機能します。
  • パスワード認証プロトコル(PAP)、チャレンジハンドシェイク認証プロトコル(CHAP)、または拡張認証プロトコル(EAP)プロトコルを使用してユーザーを認証します。
  • テキストファイル、LDAPサーバー、認証用データベースを検索します。
  • 認証サービスパラメータがNASに渡された後。
  • セッションの開始時と停止時に通知します。 このデータは、請求または統計の目的で使用されます。
  • SNMPはリモート監視に使用されます。
  • プロキシとして使用できます。

以下に、半径の簡単なネットワーク図を示します。

Radiusネットワーク図

RADIUS-機能

以下は、Radiusのすべての主要機能のリストです。

クライアント/サーバーモデル

  • NASはRadiusサーバーのクライアントとして機能します。
  • Radiusサーバーは、ユーザー接続要求を取得し、ユーザーを認証し、クライアントがユーザーにサービスを提供するために必要なすべての構成情報を返します。
  • Radiusサーバーは、他のRadiusサーバーのプロキシクライアントとして機能できます。

ネットワークセキュリティー

  • クライアントとサーバー間のトランザクションは、共有キーを使用して認証されます。 このキーがネットワーク経由で送信されることはありません。
  • パスワードはネットワーク上で送信される前に暗号化されます。

柔軟な認証メカニズム

Radiusは、認証目的で次のプロトコルをサポートしています。

  • ポイントツーポイントプロトコル-PPP
  • パスワード認証プロトコル-PAP
  • チャレンジハンドシェイク認証プロトコル-CHAP
  • 単純なUNIXログイン

拡張可能なプロトコル

半径は拡張可能です。 Radiusハードウェアおよびソフトウェアのほとんどのベンダーは、独自の方言を実装しています。

UDPを使用するステートレスプロトコルは、ポート1812で実行されます。

RADIUS-操作

クライアントがRadiusサーバーとの通信を開始する前に、秘密キーをクライアントとサーバー間で共有し、クライアントがRadiusサーバーを使用してサービスを取得するように構成する必要があります。

クライアントが適切に構成されたら:

  • クライアントはAccess-Requestで始まります。
  • サーバーは、Access-Accept、Access-Reject、またはAccess-Challengeを送信します。
  • Access-Acceptは、ユーザーにサービスを提供するために必要なすべての属性を保持します。

半径コード(10進数)は次のように割り当てられます。

  • 1アクセス要求
  • 2アクセス許可
  • 3アクセス拒否
  • 4会計要求
  • 5会計応答
  • 11アクセスチャレンジ
  • 12ステータスサーバー(実験的)
  • 13 Status-Client(実験的)
  • 255予約済み
  • キープアライブのコンセプトはありません-良いですか悪いですか?

コード4および5は、Radius Accounting機能に関連しています。 コード12および13は、使用できるように予約されています。

RADIUS-パケット形式

Radiusのパケット形式は次のとおりです。

Radius Packet Format

  • コード:*これは1オクテット(1バイト)の長さで、さまざまなタイプのパケットを識別します。 通常、1オクテットは1バイトを意味します。
  • 識別子:*これも1オクテット長で、応答と要求を一致させるのに役立ちます。
  • 長さ:*これは2オクテット長で、コード、識別子、長さ、認証子を含むパケットの長さを指定します。 (最小パケットは20オクテットで、最大は4096オクテットです)。
  • Authenticator:*これは16オクテット長であり、一部の要求と応答の場合に埋められます。

属性のリスト: 63以上の属性のリストがあり、Radius属性にも次の章で説明する定義されたフォーマットがあります。

RADIUS-属性フォーマット

半径属性は、次の3つの部分で構成されます。

  • タイプ: 1オクテット長、さまざまなタイプの属性を識別します。 以下にリストされている属性コードです。
  • 長さ: 1オクテット長、タイプを含む属性の長さ。
  • 値: 0以上のオクテット長、属性に固有の情報が含まれます。

RADIUS属性リスト

Code Attributes
1 User-Name
2 User-Password
3 CHAP-Password
4 NAS-IP-Address
5 NAS-Port
6 Service-Type
7 Framed-Protocol
8 Framed-IP-Address
9 Framed-IP-Netmask
10 Framed-Routing
11 Filter-Id
12 Framed-MTU
13 Framed-Compression
14 Login-IP-Host
15 Login-Service
16 Login-TCP-Port
17 (unassigned)
18 Reply-Message
19 Callback-Number
20 Callback-Id
21 (unassigned)
22 Framed-Route
23 Framed-IPX-Network
24 State
25 Class
26 Vendor-Specific
27 Session-Timeout
28 Idle-Timeout
29 Termination-Action
30 Called-Station-Id
31 Calling-Station-Id
32 NAS-Identifier
33 Proxy-State
34 Login-LAT-Service
35 Login-LAT-Node 3
36 Login-LAT-Group
37 Framed-AppleTalk-Link
38 Framed-AppleTalk-Network
39 Framed-AppleTalk-Zone
40-59 (reserved for accounting)
60 CHAP-Challenge
61 NAS-Port-Type
62 Port-Limit
63 Login-LAT-Port

RADIUS-例

半径要求の例

Radius Requestの例を見てみましょう。

  • 192.168.1.16のNASは、パスワード「arctangent」でポート3にログインしているNemoという名前のユーザーのRADIUSサーバーにAccess-Request UDPパケットを送信します。
  • Request Authenticatorは、NASによって生成される16オクテットの乱数です。
  • ユーザーパスワードは16オクテットで、最後にヌルが埋め込まれ、D5(共有シークレット|認証要求)と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コード= Access-Request(1) + 1識別子= 0 + 2長さ= 56 + 16要求オーセンティケーター
  • 属性リスト + 6ユーザー名=「Nemo」+ 18ユーザーパスワード+ 6 NAS-IP-Address = 192.168.1.16 + 6 NAS-Port = 3

半径応答の例

応答パケットの例を次に示します。

  • RadiusサーバーはNemoを認証し、NASにAccess-Accept UDPパケットを送信して、Nemoにホスト192.168.1.3にtelnetするように伝えます
  • 応答認証子は、コード(2)、ID(0)、長さ(38)、上からの要求認証子、この応答の属性、および共有秘密の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コード= Access-Accept(2) + 1識別子= 0(Access-Requestと同じ)+ 2長さ= 38 + 16応答認証
  • 属性リスト: + 6サービスタイプ(6)=ログイン(1)+ 6ログインサービス(15)= Telnet(0)+ 6ログインIPホスト(14)= 192.168.1.3

直径とは何ですか?

Diameterは、RADIUSの計画的な代替品です。 ネットワークアクセスやIPモビリティなどのアプリケーション向けのAAAプロトコルです。 Diameterについて知っておく必要があるいくつかのポイントを以下にリストします。

  • ローカルおよびローミングAAAの両方の状況で機能することを目的としています。
  • Diameterは、前のプロトコルRadiusの2倍です。
  • UDPではなくTCPまたはSCTPを使用します。
  • トランスポートレベルセキュリティ(IPSECまたはTLS)を使用します。
  • 8ビットではなく32ビットの識別子があります。
  • ステートレスモードとステートフルモードをサポートします。
  • アプリケーション層の確認応答をサポートし、フェイルオーバーを定義します。
  • より良いローミングサポートを提供します。
  • AVPを使用します。
  • Diameterでは、新しいコマンドと属性を定義できます。 拡張は簡単です。

次は何ですか?

これで、半径と直径の基本的な理解ができました。 これらのプロトコルについてより多くの知識を得るには、「参考文献」セクションに記載されているさまざまなRFCおよびその他のリソースを調べる必要があります。