RADIUSの一般的な使われ方 〜LDAPとの違い、認証シーケンス、等〜

スポンサーリンク
スポンサーリンク

RadiusとLDAPの使われ方の違い

RadiusもLDAPも認証を行うサーバですが、それらが出来た背景から、使われ方が違います。

Radiusは主にISDNのダイヤルアップでのインターネット接続時代に出来た、ネットワークの認証に特化したプロトコルです。従量課金が当たり前の時代で、ISP事業者はユーザが正規であることを確認(認証)し、そのユーザに適した権限を付与(認可)し、そして接続時間をしっかり管理して請求書に反映させる(課金)必要がありました。Radiusのアカウンティングが課金とも表現されるのはこのためですが、今では『接続ログを取り、後からどのユーザがネットワークを使ったかを確認する』という意味合いが強いです。

一方、LDAPはUNIX/Linux系のクライアントやサーバ用のユーザアカウントを一元的に管理するツールとして登場した、クライアント・サーバの認証に特化したプロトコルです。なので主にUNIX/Linux系のクライアントやサーバ(メールサーバやファイルサーバ等)が認証するときに使われます。

Radiusの一般的な実装例

Radiusの一般的な実装例を考えます。登場人物としては以下の通りです。

スポンサーリンク

リモートアクセスクライアント

リモート接続を行うPCもしくはルータ等が該当します。例えば『ISPへPPP接続するルータ』、『L2TP、IPsec、SSL-VPNといったリモートアクセスプロトコルを使い、RASサーバへ接続するPC』等です。

リモートアクセスサーバ=RAS

リモート接続を受けるルータ等。これはRadius用語ではNAS(Network Access Server)(註:Network Attached Storageとは違います)とも呼ばれますし、Radiusクライアントとも呼ばれます。

PPP等のリモートアクセスという観点ではサーバですが、認証をRadiusサーバへ聞きにいく、という観点ではクライアントになります

Radiusサーバ

今回の主テーマのサーバです。

スポンサーリンク

オプション:LDAPサーバ

例えば、メールサーバの認証用等で、すでにLDAPサーバを利用していてネットワークのRadius認証も同じIDパスワードを使わせたい場合。このようなケースでは、Radiusからさらに LDAPサーバへ認証情報を問い合わせさせることで実現できます。ただし、

LDAPサーバでWindowsクライアントを 認証させる場合は注意が必要

オプション:さらに外部のRadiusサーバ

あるRealm(Domain)のユーザは自サーバ内で認証をさせる、という通常の機能を持たせつつ、 Radiusプロキシという機能を使って、ある別のRealm(Domain)のユーザを他のRadiusサーバへ取り次ぐ、ということができます。

ISPのPPPoE接続のIDに、@が分かれていることがしばしばありますが、この@以降が、Realm(Domain)として 扱われます。つまり、@以降のRealmによって、認証させるRadiusサーバが決まっているのです

スポンサーリンク

図にもある通り、Radiusの一般的なシーケンスとしては以下の通りです。

  1. リモートアクセスクライアントがリモートアクセスサーバへ接続
  2. リモートアクセスサーバがRadiusサーバへ認証情報を問い合わせ(Access-Request)
  3. Radiusサーバからリモートアクセスサーバへ認証結果を返信。成功の場合、Radiusサーバから 付加情報として、ユーザに応じた属性値を返すことができる(Access-Accept or Access-Reject)。二要素認証を行いたい場合などは、Access-Challenge を返し、Access-Challengeを受信したNASは PINやワンタイムパスワード、Smartカードのトークン等を送信する。
  4. 成功の場合、リモートアクセスが行われた時間をログする(Accounting-Request / Accounting-Response)
  5. 定期的にリモートアクセス状況を確認する(Accounting-Request / Accounting-Response)
  6. リモートアクセスを終了する(Accounting-Request / Accounting-Response)
スポンサーリンク
スポンサーリンク
スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
スポンサーリンク