Solaris のシステム管理 (セキュリティサービス)

Kerberos パスワード管理

Kerberos サービスが構成されている場合、パスワードを 2 つ持つことになります。 通常の Solaris パスワードと Kerberos パスワードです。これらのパスワードは同じでも、異なっていても構いません。

パスワード選択のヒント

パスワードには、キーボードから入力できるほとんどの文字を使用できます。ただし、Ctrl キーと Return キーは使用できません。良いパスワードとは、覚えやすく、しかも他人が簡単に推定できないパスワードです。悪いパスワードの例を次に示します。

良いパスワードとは 8 文字以上の長さで、大文字、小文字、数字、句読記号などが混在しているものです。次に例を示します。


注意 – 注意 –

これらの例は使用しないでください。マニュアルの例に使用されているパスワードは侵入者が最初に試みるパスワードです。


パスワードの変更方法

PAM が適切に設定されている場合、Kerberos パスワードは次の 2 つの方法で変更できます。

パスワードを変更しても、変更がシステム全体に伝播されるまでには、ある程度の時間が必要です (特に大規模なネットワークでは)。システムの設定方法によりますが、この時間は数分から 1 時間以上になることがあります。パスワードを変更したあとすぐに新しい Kerberos チケットを取得する場合は、新しいパスワードをまず試してください。新しいパスワードが有効でない場合は、以前のパスワードを使用して再度試してください。

Kerberos V5 プロトコルでは、システム管理者が有効なパスワードの基準をユーザーごとに設定できます。この基準は、ユーザーごとの「ポリシー」に定義できます。デフォルトのポリシーを使用することもできます。ポリシーの詳細については、「Kerberos 主体の管理」を参照してください。

たとえば、ユーザー jenniferjenpol ポリシーでは、パスワードは 8 文字以上で、2 種類以上の文字で構成されると定義されているとします。その場合、パスワードとして「sloth」を入力すると、kpasswd によって拒否されます。


% kpasswd
kpasswd: Changing password for jennifer@ENG.EXAMPLE.COM.
Old password:   <Jennifer types her existing password>
kpasswd: jennifer@ENG.EXAMPLE.COM's password is controlled by
the policy jenpol
which requires a minimum of 8 characters from at least 2 classes 
(the five classes are lowercase, uppercase, numbers, punctuation,
and all other characters).
New password: <Jennifer types  'sloth'>
New password (again):  <Jennifer re-types 'sloth'>
kpasswd: New password is too short.
Please choose a password which is at least 4 characters long.

次に、jennifer はパスワードとして「slothrop49」を入力します。「slothrop49」は長さが 8 文字以上で、2 種類の文字 (数字と小文字) が混在しているため基準に合っています。


% kpasswd
kpasswd: Changing password for jennifer@ENG.EXAMPLE.COM.
Old password:  <Jennifer types her existing password>
kpasswd: jennifer@ENG.EXAMPLE.COM's password is controlled by
the policy jenpol
which requires a minimum of 8 characters from at least 2 classes 
(the five classes are lowercase, uppercase, numbers, punctuation,
and all other characters).
New password:  <Jennifer types  'slothrop49'>
New password (again):  <Jennifer re-types 'slothrop49'>
Kerberos password changed.

例 26–3 パスワードの変更方法

次の例では、ユーザー davidpasswd を使用して、UNIX および Kerberos のパスワードを変更します。


% passwd
	passwd:  Changing password for david
	Enter login (NIS+) password:                <Type the current UNIX password>
	New password:                        <Type the new UNIX password>
	Re-enter password:                   <Confirm the new UNIX password>
	Old KRB5 password:                   <Type the current Kerberos password>
	New KRB5 password:                   <Type the new Kerberos password>
	Re-enter new KRB5 password:          <Confirm the new Kerberos password>

passwd では、UNIX パスワードと Kerberos パスワードの両方が要求されることに注意してください。この動作は、デフォルトの設定です。この場合、ユーザー davidkpasswd を使用して、次の例で示すように Kerberos パスワードを変更する必要があります。

次の例では、ユーザー davidkpasswd を使用して、Kerberos パスワードだけを変更します。


% kpasswd
kpasswd: Changing password for david@ENG.EXAMPLE.COM.
Old password:           <Type the current Kerberos password>
New password:           <Type the new Kerberos password>
New password (again):   <Confirm the new Kerberos password>
Kerberos password changed.
 

次の例では、ユーザー david が、Kerberos 主体 david/admin (有効な UNIX ユーザーではない) のパスワードを変更します。kpasswd を使用する必要があります。


% kpasswd david/admin
kpasswd:  Changing password for david/admin.
Old password:           <Type the current Kerberos password>
New password:           <Type the new Kerberos password>
New password (again):   <Type the new Kerberos password>
Kerberos password changed. 
 

アカウントへのアクセス認可

他人があなたのアカウントを使用して (あなたとして) ログインする必要がある場合、Kerberos を使用すれば、パスワードを公表せずにそれを実現できます。それには、ホームディレクトリに .k5login ファイルを格納します。.k5login ファイルは、アクセス認可を与える各ユーザーに対応する、1 つ以上の Kerberos 主体の一覧です(1 つの主体を 1 行に入力する必要があります)。

ユーザー david が次のような .k5login ファイルをホームディレクトリに格納しているとします。


jennifer@ENG.EXAMPLE.COM
joe@EXAMPLE.ORG  

このファイルによって、ユーザー jenniferjoedavid として振る舞うことができます。ただしそれには、その二人がすでにそれぞれのレルムにおいて Kerberos チケットを取得している必要があります。たとえば、jennifer は david として、david のマシン (boston) に david 自身のパスワードを入力せずに遠隔ログインできます。

図 26–1 アカウントへのアクセスを認可する .k5login ファイルの使用

この図については、前の本文中で説明しています。

david のホームディレクトリが、Kerberos V5 プロトコル経由で別の (3 つ目の) マシンから NFS マウントされている場合、jennifer がそのホームディレクトリにアクセスするには、彼女が転送チケットを所持している必要があります。転送可能チケットの使用例については、「Kerberos チケットの作成」を参照してください。

ネットワーク上のほかのマシンにログインする必要がある場合、それらのマシン上の .k5login ファイル内に自分の Kerberos 主体を追加します。

.k5login ファイルの使用は、次の理由により、パスワードを公表するよりも安全です。

.k5login ファイルの一般的な使い方の 1 つは、このファイルを root のホームディレクトリに格納し、ファイル内に記述された Kerberos 主体にそのマシンの root アクセス権限を与える、というものです。この設定により、システム管理者は、スーパーユーザーのパスワードを公表したり、そのパスワードをネットワーク上で入力したりせずに、ローカルで root になることも、root として遠隔ログインすることもできるようになります。


例 26–4 アカウントへのアクセスを認可する .k5login ファイルの使用

jennifer が、マシン boston.example.comroot としてログインするとします。彼女の主体名は boston.example.com 上の root ホームディレクトリ内の .k5login ファイルに含まれているため、彼女はここでもパスワードを入力する必要がありません。


% rlogin boston.example.com -l root -x
This rlogin session is using DES encryption for all data transmissions.
Last login: Thu Jun 20 16:20:50 from daffodil
SunOS Release 5.7 (GENERIC) #2: Tue Nov 14 18:09:31 EST 1998
boston[root]%