Sun Directory Services 3.1 管理ガイド

RADIUS 検索の詳細設定

管理コンソールを使用すると、RADIUS サーバーがユーザーとネットワークアクセスサーバー (NAS) の情報を検索するときに使用する名前付きコンテキストの基本構成を実行できます。radius.mapping ファイルを手作業で編集すると、次の操作を実行できます。

RADIUS サーバーが検索する名前付きコンテキストは、/etc/opt/SUNWconn/ldap/current/mapping/radius.mapping ファイルに指定します。USERS テーブルの「Dynamic」セクションの次の行がリモートユーザーのアクセス権を定義します。

BaseDN= l=Paris, o=xyz, c=us
FILTER=(&(Objectclass=remoteUser)(uid=$UserID))

この例では、RADIUS サーバーは、NAS からの要求で渡されるユーザー ID を名前付きコンテキスト l=Paris, o=XYZ, c=US のオブジェクトクラスが remoteUser であるエントリから検索します。

一時アクセス権を与えるには

基本構成を変更しなくても、エントリが別の名前付きコンテキストにあるリモートユーザーに一時アクセス権を与えることができます。

  1. USERS テーブルの「Dynamic」セクションにおいて、次の書式で BaseDN と FILTER トークンを接頭辞 TMP_ の構成に追加し、一時的な値を割り当てます。

    TMP_BASEDN = new_search_baseTMP_Filter = (&(Objectclass=remoteUser)(uid=$UserID)(uid=userid))
    • new_search_base は、一時アクセス権を与えるユーザーの remoteUser エントリを持つ名前付きコンテキストです。この名前付きコンテキストが別のサーバーに格納されている場合は、2 つのサーバーの間に照会が定義されていなければなりません。

    • userid は、リモートユーザーの実際のユーザー ID です。この ID を指定することによって、そのユーザーだけにアクセス権が与えられます。つまり、新しい検索ベースでオブジェクトクラスが remoteUser であるすべてのエントリにアクセス権が与えられることはありません。

  2. dsradiusd デーモンを再起動します。これにより、新しい構成ファイルが有効になります。

    # /opt/SUNWconn/ldap/sbin/dsradius stop
    # /opt/SUNWconn/ldap/sbin/dsradius start
    

    たとえば、リモートユーザーの基本識別名が l=Paris, o=XYZ, c=US で、Madrid にいるリモートユーザー Felipe Gonzalez に一時アクセス権を与える場合には、ローカルの radius.mapping ファイルを変更して次の行を組み込みます。

    BaseDN= l=Paris, o=xyz, c=us
    TMP_BaseDN= l=Madrid, o=xyz, c=us
    FILTER=(&(Objectclass=remoteUser)(uid=$UserID))
    TMP_Filter=(&(Objectclass=remoteUser)(uid=$UserID)(uid=fgonzalez))

    この例では、ローカルのディレクトリサーバーと、名前付きコンテキスト l=Madrid, o=XYZ, c=US を持つディレクトリサーバーとの間に照会が定義されているものとします。

    XYZ corporation のすべてのリモートユーザーにアクセス権を一時的に与えるには、次の一時的な基本識別名を使用します。

    TMP_BaseDN= o=xyz, c=us

    この例では、l=Paris, o=XYZ, c=US データ格納を持つサーバーから o=XYZ, c=US データ格納を持つサーバーへのデフォルトの照会があるとします。さらに、o=XYZ, c=US データ格納には、他のサーバーにあるすべてのデータ格納への照会エントリが含まれているとします。

特定の NAS によるアクセス権を制限するには

リモートユーザーを常に特定のネットワークアクセスサーバー (NAS) に接続したい場合があります。たとえば、通信費用を節約したい場合は、リモートユーザーを地理的に最も近い NAS に接続できます。

  1. USERS テーブルの「Dynamic」セクションにおいて、次の書式で BaseDN と FILTER トークンを接尾辞 _nasname の構成に追加し、一時的な値を割り当てます。

    BASEDN_nasname= search_baseFilter_ nasname= (&(Objectclass=remoteUser)(uid=$UserID))
    • nasname は NAS 名です (この NAS に対するディレクトリエントリの cn 属性値)。

    • search_base は、NAS からアクセス権を与えるリモートユーザーのディレクトリエントリを持つ名前付きコンテキストです。

  2. dsradiusd デーモンを再起動します。これにより、新しい構成ファイルが有効になります。

    # /opt/SUNWconn/ldap/sbin/dsradius stop
    # /opt/SUNWconn/ldap/sbin/dsradius start
    

    たとえば、リモートユーザーの基本識別名が l=France, o=XYZ, c=US で、Paris、Lyon、Toulouse にいるリモートユーザーがそれぞれのローカル NAS からネットワークに接続できるとします。NAS 名は、それぞれ ParisNAS、LyonNAS、ToulouseNAS です。通信費用の節約のために、リモートユーザーが常に最も近い NAS を通してネットワークに接続します。

    このため、radius.mapping ファイルを変更して次の行を組み込みます。

    BaseDN= l=France, o=xyz, c=us
    BaseDN_ParisNAS= l=Paris, l=France, o=xyz, c=us
    BaseDN_LyonNAS= l=Lyon, l=France, o=xyz, c=us
    BaseDN_ToulouseNAS= l=Toulouse, l=France, o=xyz, c=us
    FILTER=(&(Objectclass=remoteUser)(uid=$UserID))

    RADIUS サーバーは、ParisNAS から要求を受け取ると、リモートユーザーが名前付きコンテキスト l=Paris, l=France, o=XYZ, c=US に属しているかどうかを確認します。

一時アクセス権と NAS による制約の結合

一時アクセス権と特定の NAS へのアクセス制限とを結合するには、BaseDN トークンまたは FILTER トークンで TMP_ 接頭辞と _nasname 接尾辞を結合します。

たとえば、Madrid の Felipe Gonzalez に Paris への出張の間だけ Paris の NAS へのリモートアクセスを許可する場合は、radius.mapping ファイルを変更して、USERS テーブルの「Dynamic」セクションに次の行を組み込みます。

BaseDN= l=France, o=xyz, c=us
TMP_BaseDN= l=Madrid, o=xyz, c=us
FILTER=(&(Objectclass=remoteUser)(uid=$UserID))
TMP_Filter_ParisNAS=(&(Objectclass=remoteUser)(uid=$UserID)(uid=fgonzalez))

この例では、_nasname 接尾辞を一時基本識別名ではなく一時フィルタに追加しています。これは、Madrid の他のユーザーに Paris の NAS とは別の NAS を通してアクセス権を与える場合があるからです。その場合には、一時基本識別名は有効なので、適切な _nasname 接尾辞を持つ一時フィルタだけを作成します。

仮想ドメインの管理

仮想ドメイン (つまり、別の組織のために管理するドメイン) に属するユーザーのリモートユーザー接続を管理できます。

たとえば、ABC 社が ISP 社を使って内部のメールサービスを管理するとします。ABC 社は abc.com などのドメイン名と一連の IP アドレスを割り当てられます。ISP 社は、ユーザー情報と、ABC 社のリモートユーザー接続を管理します。ABC 社の社員がリモートアクセスを要求して接続する場合、接続パラメータはユーザーログインとユーザーパスワードです。

たとえば、John Smith が次のパラメータでログインするとします。

ISP 社の RADIUS サーバーは、ユーザー ID とドメイン情報を切り離す必要があります。USERS テーブルの最初の部分と「Dynamic」セクションに定義されている変数は次のようになっています。

Table: USERS
	Common:
		BaseDN= o=isp, c=us
	Dynamic
		userID=>$myID@$virtualDomainT || $myID
		FILTER=(&(Objectclass=remoteUser)(uid=$myID))

この構成例では、username 変数が 2 つの代替式を受け付けるため、ユーザー ID にドメイン名が付加されているリモートユーザーと付加されていないリモートユーザーを同等に扱うことができます。

認証手順でドメイン名の検査が必要なため、John Smith のディレクトリエントリには次の属性が含まれています。

RADIUS 検索パラメータの処理順序

RADIUS サーバーは、検索する際に、BaseDN と FILTER トークンを次のように処理します。RADIUS はまず通常の検索を行い、これに失敗すると一時トークンに対して検索を行います。

通常の検索は、限定的なものから一般的なものへと行われます。

通常の検索に失敗すると、一時検索が同様の順序で行われます。