はじめに
このドキュメントでは、RADIUS サーバーの概要とその機能について説明します。
前提条件
要件
このドキュメントに関しては個別の前提条件はありません。
使用するコンポーネント
このドキュメントの内容は、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
表記法
ドキュメント表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。
背景説明
Remote Authentication Dial-In User Service(RADIUS)プロトコルは、アクセス サーバ認証およびアカウンティング プロトコルとして Livingston Enterprises, Inc. で開発されました。RADIUS 仕様である RFC 2865 は、RFC 2138 に代わり、RADIUS アカウンティング規格である RFC 2866 は、RFC 2139 に代わりました。
ネットワーク アクセス サーバ(NAS)と RADIUS サーバとの間の通信はユーザ データグラム プロトコル(UDP)に基づいています。一般に、RADIUS プロトコルはコネクションレス型サービスと見なされます。サーバの可用性、再送信、タイムアウトに関する問題は、伝送プロトコルではなく、RADIUS 対応デバイスにより処理されます。
RADIUSはクライアント/サーバプロトコルです
通常、RADIUSクライアントはNASであり、RADIUSサーバはUNIXまたはWindows NTマシンで実行されるデーモンプロセスです。クライアントは指定されたRADIUSサーバにユーザ情報を渡し、返された応答に従って動作します。RADIUS サーバはユーザ接続要求を受信し、ユーザを認証してから、このユーザへのサービス提供にクライアントが必要とする設定情報を返します。RADIUS サーバは、他の RADIUS サーバや、他の種類の認証サーバに対するプロキシ クライアントとして動作します。
次の図は、ダイヤルイン ユーザと RADIUS クライアントおよびサーバ間の交流を示します。
ダイヤルインユーザとRADIUSクライアントおよびサーバ間のインタラクション
-
ユーザは NAS に対する PPP 認証を開始します。
-
NAS がユーザ名とパスワード(Password Authentication Protocol [PAP] の場合)またはチャレンジ(Challenge Handshake Authentication Protocol [CHAP] の場合)の入力を求めます。
-
ユーザが応答します。
-
RADIUS クライアントは、RADIUS サーバにユーザ名と暗号化されたパスワードを送信します。
-
RADIUS サーバは、承認、拒否、またはチャレンジを返します。
-
RADIUS クライアントは、承認または拒否とバンドルされたサービスおよびサービス パラメータに応じて動作します。
認証および認可
RADIUS サーバは、ユーザを認証するさまざまな方法をサポートできます。ユーザが指定したユーザ名と元のパスワードが提供されると、PPP、PAPまたはCHAP、UNIXログイン、およびその他の認証メカニズムをサポートできます。
通常、ユーザログインは、NASからRADIUSサーバへのクエリー(Access-Request)と、それに対応するサーバからの応答(Access-AcceptまたはAccess-Reject)で構成されます。Access-Request のパケットには、ユーザ名、暗号化されたパスワード、NAS IP アドレス、ポートが含まれます。RADIUSの初期の導入ではUDPポート番号1645が使用されていましたが、これは「データメトリック」サービスと競合します。この競合が原因となり、RFC 2865 は正式に RADIUS に対してポート番号 1812 を割り当てました。シスコ デバイスとアプリケーションのほとんどは、どちらのセットのポート番号もサポートします。要求の形式も、ユーザが開始するセッションのタイプに関する情報を提供します。たとえば、クエリが文字モードで提示される場合、推測はService-Type = Exec-Userですが、要求がPPPパケットモードで提示される場合、推測はService Type = Framed UserおよびFramed Type = PPPになります。
RADIUS サーバでは、NAS から Access-Request を受信すると、データベースにリストされているユーザ名を検索します。ユーザ名がデータベースに存在しない場合は、デフォルトプロファイルがロードされるか、RADIUSサーバが即座にAccess-Rejectメッセージを送信します。このアクセス拒否メッセージには、拒否の理由を示すテキストメッセージを添付できます。
RADIUS では、認証と認可は対になっています。ユーザ名が見つかり、パスワードが正しい場合、RADIUSサーバはAccess-Accept応答を返します。この応答には、このセッションで使用されるパラメータを記述した属性 – 値ペアのリストが含まれています。一般的なパラメータには、サービス タイプ(シェルまたはフレーム)、プロトコル タイプ、ユーザに割り当てる IP アドレス(スタティックまたはダイナミック)、適用するアクセス リスト、または NAS ルーティング テーブルにインストールするスタティック ルートなどがあります。RADIUSサーバの設定情報は、NASにインストールできる内容を定義します。次の図は、RADIUSの認証と許可のシーケンスを示しています。
RADIUS認証および許可シーケンス
アカウンティング
RADIUS プロトコルのアカウンティング機能は、RADIUS 認証または認可とは独立して使用できます。RADIUSアカウンティング機能を使用すると、セッションの開始時と終了時に、セッション中に使用されたリソースの量(時間、パケット、バイトなど)を示すデータを送信できます。インターネットサービスプロバイダー(ISP)は、RADIUSアクセスコントロールおよびアカウンティングソフトウェアを使用して、特別なセキュリティおよび課金のニーズに対応できます。ほとんどのCiscoデバイスのRADIUSのアカウンティングポートは1646ですが、(RFC 2139で指定されているポートの変更により)1813にすることもできます。
クライアントと RADIUS サーバとの間のトランザクションは、共有秘密を使用して認証されます。共有秘密はネットワーク上に送信されることはありません。さらに、ユーザパスワードはクライアントとRADIUSサーバの間で暗号化されて送信されるため、セキュリティで保護されていないネットワークをスヌーピングしている何者かがユーザパスワードを特定する可能性がなくなります。
関連情報