Solaris ネーミングの管理

NIS+ の認証と資格 - 紹介

NIS+ 資格の目的は、NIS+ サービスや NIS+ オブジェクトへのアクセスを要求する各主体の ID を「認証」(確認) することにあります。つまり、NIS+ 資格および承認プロセスは SECURE RPC システムを実装することです。

資格および認証システムは他人になりすますのを防ぐシステムです。あるマシンのルート権限を持つユーザーが su コマンドを使って、ログインしていないもしくは別のマシンにログインしている第 2 のユーザーになりすまし、NIS+ アクセス権を使用して NIS+ オブジェクトにアクセスすることを妨げます。

サーバーが主体を認証すると、主体は 4 つの認証クラスのどれかに置かれ、次にサーバーは承認されている動作を知るためにアクセスしようとする NIS+ オブジェクトをチェックします。承認の詳細は、「NIS+ の承認とアクセス - 紹介」を参照してください。

ユーザーおよびマシンの資格

主体には、「ユーザー」と「マシン」の 2 つの基本的な種類があります。

DES と LOCAL 資格

NIS+ 主体には DES と LOCAL の 2 つの資格が用意されています。

DES 資格 (credential)


注 -

認証を行う仕組みとしては DES 資格が唯一のものです。将来は他の仕組みも利用できるようになるかもしれません。DES 資格と NIS+ 資格は同等のものではありません。

このマニュアルでは、DES 資格という用語は、鍵の長さにかかわりなく Diffie - Hellman 鍵をベースにした認証を表すものとして一搬的に使われています。鍵の長さはあらかじめ決められたセットから指定することができます。Diffie - Hellman 鍵の長さの設定や表示を行うには nisauthconf(1M) を使用します。


DES (データ暗号化規格) 資格は資格の 1 種であり、保護認証を提供するものです。このマニュアルで NIS+ 主体を認証するために資格をチェックすると記述している場合は、NIS+ がチェックしている DES 資格のことを意味します。

主体が NIS+ サービスを要求したり、NIS+ オブジェクトにアクセスするごとに、ソフトウェアは格納してある資格情報を使って主体の資格を作成します。DES 資格は NIS+ 管理機能によって各主体に作られた情報から作成されます。第 7 章「NIS+ 資格の管理」を参照してください。

LOCAL 資格

LOCAL 資格は、ユーザー ID 番号とホームドメイン名を含む NIS+ 主体名とのマップです。ユーザーがログインすると、システムは DES 資格が格納されているホームドメインを特定する LOCAL 資格をチェックします。システムはその情報を使ってユーザーの DES 資格情報を獲得します。

ユーザーがリモートドメインにログインした場合、その要求はユーザーのホームドメインを示す LOCAL 資格を使います。NIS+ は次にユーザーの DES 資格情報を知るためにユーザーのホームドメインを問い合わせます。こうして、たとえユーザーの DES 資格情報がリモートドメインに格納されていなくても、リモートドメインで認証されます。

図 6-3 資格とドメイン

Graphic

LOCAL 資格情報はどのドメインにも格納できます。実際、リモートドメインにログインし認証されるためには、クライアントユーザーはリモートドメインの cred テーブルに LOCAL 資格を持っている必要があります。ユーザーが、アクセスしようとするリモートドメインに LOCAL 資格を持っていなかった場合、NIS+ はユーザーの DES 資格を獲得するためにユーザーのホームドメインに入ることができなくなります。そのような場合、ユーザーは認証されず未認証クラスを与えられることになります。

ユーザー種類と資格種類

ユーザーは両方の資格を持つことができますが、マシンは DES 資格しか持てません。

すべてのマシンのルート UID は常に 0 であるため、ルートは他のマシンに対して NIS+ アクセスできません。もしマシン A のルート (UID=0) がマシン B にアクセスしようとすると、すでに存在しているマシン B のルート (UID=0) と衝突します。これでは、クライアント「ワークステーション」の LOCAL 資格が意味をなさないのでクライアント「ユーザー」にだけ認められています。

表 6-2 資格のタイプ

資格のタイプ 

クライアントユーザー 

クライアントワークステーション 

DES 

Yes 

Yes 

LOCAL 

Yes 

No