この章では、Kerberos サービスについて説明します。この章の内容は次のとおりです。
「Kerberos サービス」は、セキュリティー保護されたネットワーク経由のトランザクションを提供するクライアントサーバー型のアーキテクチャーです。Kerberos サービスでは、強力なユーザー認証とともに、整合性とプライバシを提供します。「認証」により、ネットワークトランザクションの送信者と受信者の識別情報が正しいことが保証されます。さらに Kerberos サービスを使用して、送受信するデータの整合性が検証され(「整合性」)、伝送時にデータが暗号化されます(「プライバシ」) 。Kerberos サービスを使用して、他のマシンにログインしてコマンドを実行したり、データを交換したりファイルを安全に転送したりできます。Kerberos サービスは承認サービスも提供するため、システム管理者はサービスやマシンへのアクセスを制限できます。また、Kerberos ユーザーは、自分のアカウントに他人がアクセスするのを制限できます。
Kerberos サービスは「シングルサインオン」システムです。つまり、Kerberos サービスからセッションについて一度だけ認証を受ければ、そのセッションでは、それ以後のすべてのトランザクションが自動的に認証されます。いったん Kerberos サービスから認証されたユーザーは、ftp、rsh などの Kerberos に基づくコマンドを使用したり、NFS ファイルシステム上のデータにアクセスするたびに、自分自身を認証する必要はありません。つまり、これらのサービスを使用するたびに、ネットワークを介してパスワードを送り、傍受される危険を冒す必要がありません。
Solaris Kerberos サービスは、マサチューセッツ工科大学 (MIT) で開発された Kerberos V5 ネットワーク認証プロトコルに基づいています。そのため、Kerberos V5 製品を使用したことがあるユーザーは、Solaris バージョンにもすぐ慣れるはずです。Kerberos V5 プロトコルはネットワークセキュリティーの事実上の業界標準であるため、Solaris バージョンはほかのシステムとの相互運用性に優れています。つまり、Solaris Kerberos サービスは Kerberos V5 プロトコルを使用するシステムと協調して動作するため、異機種システム混在のネットワークであってもトランザクションのセキュリティーが保護されます。さらに Kerberos サービスでは、複数のドメイン間でも単一のドメイン内でも認証やセキュリティーの機能を使用できます。
Kerberos サービスには、Solaris アプリケーションを実行するための柔軟性が備わっています。NFS サービス、telnet、ftp などのネットワークサービスに関して、Kerberos に基づく要求と Kerberos 以外の要求に対応できるようにサービスを構成できます。このため、Kerberos サービスが有効になっていないシステムで動作する Solaris アプリケーションも正しく動作します。もちろん、Kerberos に基づくネットワーク要求だけを許可するように Kerberos サービスを設定することもできます。
Kerberos サービスは、Generic Security Service Application Programming Interface (GSS-API) を使用するアプリケーションの使用時に、認証、整合性、およびプライバシのために Kerberos を使用することができるセキュリティーメカニズムを備えています。ただし、ほかのセキュリティーメカニズムが開発されている場合には、アプリケーションで使用されるセキュリティーメカニズムを Kerberos サービスに限定しておく必要はありません。Kerberos サービスは、GSS-API にモジュールとして統合できるように設計されているため、GSS-API を使用するアプリケーションは、必要に応じたセキュリティーメカニズムを使用できます。
この節では Kerberos 認証システムの概要について説明します。詳細については、「Kerberos 認証システムの動作方法」を参照してください。
Kerberos セッションが起動されたあとは、ユーザーから見ると Kerberos サービスが意識されることはほとんどありません。rsh や ftp などのコマンドは、ほぼ変わりなく動作します。Kerberos セッションの初期化には通常、ログインと Kerberos パスワードの入力しか必要ありません。
Kerberos システムは、「チケット」の概念を中心に動作します。チケットは、ユーザー、および NFS サービスなどのサービスを特定する一連の電子情報です。運転免許証が運転する人と免許の種類を表すのと同じように、チケットもユーザーとユーザーのネットワークアクセス権を表します。Kerberos に基づくトランザクションを実行する (ほかのマシンへの遠隔ログインなど) と、「鍵配布センター (KDC)」に対してチケットの要求が透過的に送信されます。KDC はデータベースにアクセスしてそのユーザーを認証し、そのマシンへのアクセスを許可するチケットを返します。「透過的」とは、チケットを明示的に要求する必要がないという意味です。この要求は rlogin コマンドの中で行われます。特定のサービスのチケットを取得できるのは認証されたクライアントだけで、別のクライアントが識別情報を仮定して rlogin を使用することはできません。
チケットには一定の属性が与えられています。たとえば、チケットには、新しい認証処理を行わなくても別のマシンで使用できる「転送可能」の属性があります。また、指定の日付まで有効にならない「遅延」の属性もあります。どのユーザーがどの種類のチケットを取得できるかを指定するなど、チケットをどのように使用するかは、「ポリシー」によって設定されます。ポリシーは、Kerberos サービスのインストールや管理の際に決定します。
「資格」と「チケット」という用語は、頻繁に使用されます。広い意味の Kerberos では、これらの用語は同じ意味で使われることがありますが、技術的には資格は、チケットとそのセッションに対する「セッション鍵」からなります。この違いについては、 「Kerberos によるサービスへのアクセス」で詳しく説明します。
次の節では、Kerberos 認証プロセスについて詳細に説明します。
Kerberos 認証には、後続の認証を準備する初期認証と、後続の認証の 2 つのフェーズが あります。
次の図では、初期認証の手順を示します。
クライアント (ユーザー、または NFS などのサービス) は、KDC に TGT を要求して Kerberos セッションを開始します。ほとんどの場合、この要求はログイン時に自動的に実行されます。
TGT は、ほかの特定のサービスのチケットを取得するために必要です。TGT は、パスポートに似ています。パスポートと同様に、TGT はユーザーを識別して、さまざまなビザの取得をユーザーに許可します。ここでいうビザ (チケット) は、外国に入国するためのものではなく、遠隔マシンやネットワークサービスにアクセスするためのものです。パスポートやビザと同様に、TGT などのチケットには有効期限があります。ただし、Kerberos コマンドは、ユーザーがパスポートを所有していることを通知し、ユーザーに代わってビザを取得します。ユーザー自身がトランザクションを実行する必要はありません。
チケット認可チケットに類似した例として、4 つのスキー場で使える 3 日間のスキーパスを挙げます。ユーザーは、パスが期限切れになるまで、このパスを任意のスキー場で提示して、そのスキー場のリフトチケットを受け取ります。リフトチケットを入手したら、そのスキー場で好きなだけスキーをすることができます。翌日別のスキー場に行った場合は、またパスを提示して、そのスキー場のリフトチケットを入手します。ただし、Kerberos に基づくコマンドは、ユーザーが週末スキーパスを所有していることをユーザーに通知し、ユーザーに代わってリフトチケットを入手します。したがって、ユーザー自身がトランザクションを実行する必要はありません。
KDC は TGT を作成し、それを暗号化してクライアントに送信します。クライアントは、自身のパスワードを使用して TGT を復号化します。
クライアントは、有効な TGT を入手したので、TGT が期限切れになるまで、rlogin、telnet などあらゆる種類のネットワーク操作チケットを要求できます。この TGT の有効期限は通常、数時間です。クライアントは一意のネットワーク操作を実行するたびに、TGT は KDC にその操作のチケットを要求します。
クライアントが初期認証を受け取ると、後続の認証はそれぞれ次の図のように実行されます。
クライアントは、別のマシンに遠隔ログインするなど、特定のサービスのチケットを KDC に要求するために、識別情報の証拠として自身の TGT を KDC に送信します。
KDC は、そのサービスのチケットをクライアントに送信します。
たとえば、ユーザー joe が、krb5 認証を要する共有を行っている NFS ファイルシステムにアクセスするとします。このユーザーはすでに認証されている (すでに TGT を持っている) ため、そのファイルにアクセスを試みると、NFS クライアントシステムは NFS サービスのチケットを KDC から自動的および透過的に取得します。
たとえば、ユーザー joe がサーバー boston 上で rlogin を使用するとします。このユーザーはすでに認証されている (つまり、すでにチケット認可チケットを持っている) ため、rlogin コマンドの一部として自動的かつ透過的にチケットを取得します。このチケットが期限切れになるまで、このユーザーは必要に応じて boston に遠隔ログインできます。joe がマシン denver に遠隔ログインする場合は、手順 1 の方法で別のチケットを取得します。
クライアントはサーバーにチケットを送信します。
NFS サービスを使用している場合、NFS クライアントは自動的および透過的に NFS サービスのチケットを NFS サーバーに送信します。
サーバーはクライアントにアクセス権を許可します。
これらの手順では、サーバーと KDC 間の通信は発生していないように見えます。しかし、サーバーは KDC と通信していて、最初のクライアントと同様に、KDC に自身を登録しています。わかりやすくするために、その部分は省略しています。
joe などのユーザーは、次の Kerberos に基づく (Kerberos 化された) コマンドを使用できます。
ftp
rcp
rdist
rlogin
rsh
ssh
telnet
これらのアプリケーションは、同じ名前の Solaris アプリケーションと同じです。ただし、トランザクションを認証するときに Kerberos 主体を使用できるようにアプリケーションを拡張することにより、Kerberos に基づくセキュリティーを提供します。主体の詳細については、「Kerberos 主体」を参照してください。
これらのコマンドについては、「Kerberos ユーザーコマンド」で詳しく説明します。
Kerberos サービス内のクライアントは、その「主体 (プリンシパル)」で識別されます。主体は、KDC がチケットを割り当てることができる一意の ID です。主体には、joe などのユーザー、または nfs、telnet などのサービスがあります。
主体名は慣習により「一次」、「インスタンス」、「レルム」という 3 つの部分から なります。joe/admin@ENG.EXAMPLE.COM は一般的な Kerberos 主体の例です。上記の例では、
joe が一次です。一次には、この例のようなユーザー名や nfs などのサービスを指定します。また、host を指定することもできます。host を指定すると、ftp、rcp、rlogin などのさまざまなネットワークサービスを提供する、サービス主体として設定されます。
admin はインスタンスです。インスタンスは、ユーザー主体の場合はオプションですが、サービス主体では必須です。たとえば、ユーザー joe が必要に応じてシステム管理者の権限を使用する場合は、joe/admin と通常のユーザー ID を使い分けることができます。同じように、joe が 2 つのホストにアカウントを持っている場合、joe/denver.example.com と joe/boston.example.com など、異なるインスタンスで 2 つの主体名を使用することができます。Kerberos サービスでは、joe と joe/admin はまったく別の主体として扱われます。
サービス主体では、インスタンスは完全指定されたホスト名です。bigmachine.eng.example.com はこのようなインスタンスの例です。この例の一次とインスタンスは、ftp/bigmachine.eng.example.com や host/bigmachine.eng.example.com と表します。
ENG.EXAMPLE.COM は Kerberos レルムです。レルムについては、「Kerberos レルム」を参照してください。
次に有効な主体名を示します。
joe
joe/admin
joe/admin@ENG.EXAMPLE.COM
nfs/host.eng.example.com@ENG.EXAMPLE.COM
host/eng.example.com@ENG.EXAMPLE.COM
「レルム」とはドメインのようなもので、同じ「マスター KDC」の下にあるシステムをグループとして定義する論理ネットワークです。図 21–3 では、レルム間の関係を示します。階層構造のレルムでは、1 つのレルムがほかのレルムの上位集合になります。階層ではない (直接接続の) レルムでは、2 つのレルム間のマッピングを定義する必要があります。Kerberos サービスでは、レルム間で共通の認証が可能です。その場合、各レルムの KDC に、他のレルムの主体エントリだけが必要になります。Kerberos のこの機能は、「レルム間認証」と呼ばれます。
各レルムには、主体データベースのマスターコピーを保守するサーバーが含まれる必要があります。このサーバーを「マスター KDC サーバー」と呼びます。また各レルムには、主体データベースの重複コピーを保持する「スレーブ KDC サーバー」が少なくとも 1 つ必要です。マスター KDC サーバーおよびスレーブ KDC サーバーは、認証の確立に使用されるチケットを作成します。
レルムにはまた、Kerberos アプリケーションサーバー も含めることができます。このサーバーは、Kerberos サービス (ftp、telnet、rsh、NFS など) へのアクセスを提供します。SEAM 1.0 または 1.0.1 がインストールされている場合、レルムに Kerberos ネットワークアプリケーションサーバーが含まれている可能性がありますが、このソフトウェアはこれらのリリースには含まれていませんでした。
Kerberos サービスは、ユーザーの認証を行うほかに、次の 2 つのセキュリティーサービスを提供します。
「整合性」 – 認証が、あるネットワーク上のクライアントが本人であるかどうかを確認するのと同様に、整合性は、クライアントの送信データが有効で、伝送の間に改ざんされていないことを確認します。整合性の確認は、データの暗号チェックサムによって行われます。整合性にはユーザー認証も含まれます。
「プライバシ」 – プライバシによって、セキュリティーがさらに向上します。プライバシは、伝送データの整合性を検証するだけでなく、伝送前にデータを暗号化して盗聴を防ぎます。プライバシにもユーザー認証が含まれます。
開発者は、RPCSEC_GSS プログラミングインタフェースを使用することにより、セキュリティーサービスを選択可能な RPC ベースのアプリケーションを設計できます。
Kerberos サービスの構成要素は、多数のリリースに組み込まれています。当初、Kerberos サービスと、Kerberos サービスをサポートするベースオペレーティングシステムへの変更は、“Sun Enterprise Authentication Mechanism” (SEAM) という製品名でリリースされました。SEAM 製品の大部分が Solaris ソフトウェアに組み込まれるようになると、SEAM リリースの内容は減りました。Solaris 10 リリースで、SEAM 製品のすべての構成要素が組み込まれたので、SEAM 製品の必要性はなくなりました。SEAM という製品名は、歴史的な理由で文書中に存在しています。
次の表は、各リリースに組み込まれている構成要素の一覧です。それぞれの製品リリースは、時系列で示しています。次の節では、すべての構成要素について説明します。
表 21–1 Kerberos リリースの内容
リリース名 |
内容 |
---|---|
Solaris Easy Access Server 3.0 の SEAM 1.0 |
Solaris 2.6 および Solaris 7 用の Kerberos サービスの完全リリース |
Solaris 8 の Kerberos サービス |
Kerberos クライアントソフトウェアのみ |
Solaris 8 Admin Pack の SEAM 1.0.1 |
Solaris 8 用の Kerberos KDC と遠隔アプリケーション |
Solaris 9 の Kerberos サービス |
Kerberos KDC とクライアントソフトウェアのみ |
SEAM 1.0.2 |
Solaris 9 用の Kerberos 遠隔アプリケーション |
Solaris 10 の Kerberos サービス |
機能が拡張された Kerberos サービスの完全リリース |
MIT から提供される Kerberos V5 製品と同様に、Solaris Kerberos サービスには次の構成要素が含まれます。
鍵配布センター (KDC):
Kerberos データベース管理デーモン – kadmind。
Kerberos チケット処理デーモン – krb5kdc。
データベース管理プログラム – kadmin (マスターのみ)、kadmin.local、および kdb5_util。
データベース伝播ソフトウェア – kprop (スレーブのみ) および kpropd。
資格を管理するためのユーザープログラム – kinit、klist、および kdestroy。
Kerberos パスワードを変更するユーザープログラム – kpasswd。
遠隔アプリケーション – ftp、 rcp、 rdist、 rlogin、rsh、 ssh、および telnet。
遠隔アプリケーションデーモン – ftpd、rlogind、rshd、sshd、および telnetd。
キータブ管理ユーティリティー – ktutil。
Generic Security Service Application Programming Interface (GSS-API) – アプリケーションは、この API を利用して、複数のセキュリティーメカニズムを使用できます。新しいメカニズムを追加するたびに、アプリケーションをコンパイルし直す必要がありません。GSS-API では、アプリケーションを多くのオペレーティングシステムに移植可能にできる標準インタフェースが使用されています。GSS-API を使用すると、認証サービスだけでなく、整合性およびプライバシセキュリティーサービスをアプリケーションに組み込むことができます。ftp と ssh は、どちらも GSS-API を使用しています。
RPCSEC_GSS Application Programming Interface (API) – NFS サービスが Kerberos 認証を使用することができます。RPCSEC_GSS は、使用しているメカニズムに依存しないセキュリティーサービスを提供するセキュリティー様式です。RPCSEC_GSS は、GSS-API 層の最上位に位置しています。GSS_API ベースのセキュリティーメカニズムは、プラグイン可能なので、RPCSEC_GSS を使用するアプリケーションで使用できます。
さらに、Solaris Kerberos サービスには次の構成要素が含まれています。
Kerberos グラフィカル管理ツール (gkadmin) – 主体および主体ポリシーを管理することができます。この Java テクノロジベースの GUI は、kadmin コマンドに代わる機能です。
PAM 用の Kerberos V5 サービスモジュール – Kerberos サービスのための認証、アカウント管理、セッション管理、およびパスワード管理を提供します。このモジュールを使用すると、Kerberos 認証をユーザーが意識しなくても済むようになります。
カーネルモジュール – NFS サービスで使用する kerberos サービスのカーネルベースの実装を提供します。これにより、パフォーマンスが大幅に向上します。
Solaris 10 5/08 リリースから、次のような拡張機能が使用できます。
Solaris Kerberos ソフトウェアが MIT 1.4 バージョンと同期化されました。具体的には、KDC のソフトウェアである kinit コマンドと Kerberos メカニズムが更新されました。
ディレクトリサーバーから LDAP を使用して Kerberos 主体とポリシーのレコードにアクセスする機能のサポートが追加されました。この変更により管理が簡略化されるため、KDC と DS の配備によっては可用性が向上する場合があります。LDAP 関連の手順の一覧については、「LDAP ディレクトリサーバーでの KDC の管理」を参照してください。
このリリースには、追加の設定が不要な Solaris クライアントのサポートが追加されました。Kerberos サービスと一部のデフォルト設定が変更されました。適切に構成された環境では、Solaris Kerberos クライアントがクライアント側の構成なしで機能します。詳細は、「クライアントの構成オプション」を参照してください。
Solaris 10 8/07 リリースでは、MIT Kerberos V5 アプリケーションプログラミングインタフェース (krb5-api) がサポートされています。詳細は、libkrb5(3LIB) および krb5-config(1) のマニュアルページを参照してください。また、mit.edu にある MIT Kerberos V5 プロジェクトの Web ページも参照し、詳細ドキュメントが利用可能になった時点でそれらを入手してください。
krb5-api が使用可能になりましたが、GSS-API は独立したセキュリティーメカニズムであり、IETF 標準でもあるため、GSS-API を使ってネットワークの認証、完全性、プライバシを実現することを強くお勧めします。詳細は、libgss(3LIB) のマニュアルページを参照してください。
Solaris 10 6/06 リリースから、ktkt_warnd デーモンは、資格の有効期限が近づいてきたとき、ユーザーに警告するだけでなく、資格を自動的に更新するようになりました。資格を自動的に更新するには、ユーザーがログインしている必要があります。
Solaris 10 リリースに含まれる Kerberos の機能拡張は、次のとおりです。そのうちのいくつかは、以前の Software Express リリースで採用され、Solaris 10 Beta リリースで更新されたものです。
Kerberos プロトコルを、ftp、rcp、rdist、rlogin、rsh、ssh、および telnet などの遠隔アプリケーションでサポートします。詳細は、各コマンドまたはデーモンのマニュアルページおよび krb5_auth_rules(5) のマニュアルページを参照してください。
Kerberos 主体データベースが、毎回データベース全体を転送するのではなく、増分更新によって転送されます。増分更新には、次のような利点があります。
サーバー間でのデータベースの整合性が増す
必要なリソース (ネットワーク、CPU など) が少なくてすむ
更新をよりタイムリーに伝播させることができる
伝播を自動化することができる
Kerberos クライアントの自動構成に役立つ新しいスクリプトが使用できます。このスクリプトは、管理者が Kerberos クライアントを迅速かつ容易に設定するのを支援します。新しいスクリプトの使用手順については、「Kerberos クライアントの構成」を参照してください。また、詳細については kclient(1M) のマニュアルページを参照してください。
いくつかの新しい暗号化タイプが Kerberos サービスに追加されました。これらの新しい暗号化タイプによって、セキュリティーが向上し、それらの暗号化タイプをサポートするほかの Kerberos 実装との互換性が強化されます。詳細は、「Kerberos 暗号化タイプの使用」を参照してください。追加された暗号化タイプは次のとおりです。
AES 暗号化タイプは、Kerberos セッションの高速かつ高セキュリティーの暗号化に使用されます。
ARCFOUR-HMAC は、ほかの Kerberos 実装との互換性を強化します。
SHA1 での Triple DES (3DES) は、セキュリティーを向上させます。この暗号化タイプにより、この暗号化タイプをサポートする他の Kerberos 実装との相互運用性の強化も図れます。
暗号化タイプは、暗号化フレームワークを介して有効になります。このフレームワークは、Kerberos サービスにハードウェアによって高速化された暗号化を提供できます。
KDC ソフトウェア、ユーザーコマンド、およびユーザーアプリケーションが、TCP ネットワークプロトコルの使用をサポートします。これにより、動作が堅牢になり、Microsoft の Active Directory など、ほかの Kerberos 実装と相互運用性が強化されます。KDC は、従来の UDP ポートと TCP ポートの両方で待機し、どちらのプロトコルを使用する要求にも応答できます。ユーザーコマンドとユーザーアプリケーションは、要求が KDC に送られると、まず UDP を試し、失敗した場合は TCP を試します。
kinit コマンド、klist コマンド、および kprop コマンドなど、KDC ソフトウェアで IPv6 がサポートされます。IPv6 アドレスがデフォルトでサポートされます。IPv6 のサポートを有効にするために変更する構成パラメータはありません。IPv6 は、kadmin コマンドおよび kadmind コマンドではサポートされません。
新しい -e オプションが kadmin コマンドのいくつかのサブコマンドに含まれました。この新しいオプションにより、主体の作成中に暗号化タイプを選択できます。詳細は、kadmin(1M) のマニュアルページを参照してください。
pam_krb5 モジュールに、PAM フレームワークを使って Kerberos 資格キャッシュを管理する機能が追加されました。詳細は、pam_krb5(5) のマニュアルページを参照してください。
DNS 検索を使用することにより、Kerberos KDC、admin サーバー、kpasswd サーバー、およびホスト名またはドメイン名のレルムへのマッピングの自動検出がサポートされます。この拡張機能により、Kerberos クライアントのインストールに必要な手順のいくつかが必要なくなります。Kerberos クライアントは、構成ファイルを読み取る代わりに DNS を使用して、KDC サーバーを検出することができます。詳細は、krb5.conf(4) のマニュアルページを参照してください。
pam_krb5_migrate と呼ばれる新しい PAM モジュールが追加されました。この新しいモジュールは、ユーザーが Kerberos アカウントを持たない場合にローカルの Kerberos レルムに自動的に移行するのを支援します。詳細は、pam_krb5_migrate(5) のマニュアルページを参照してください。
~/.k5login ファイルが GSS アプリケーションの ftp および ssh で使用できます。詳細は、gss_auth_rules(5) のマニュアルページを参照してください。
kproplog ユーティリティーが更新され、ログエントリごとにすべての属性名を出力できます。詳細は、kproplog(1M) のマニュアルページを参照してください。
krb5.conf ファイルの構成オプションを使用して、厳格な TGT 検証機能を無効にできるようになりました。詳細は、krb5.conf(4) のマニュアルページを参照してください。
パスワード変更ユーティリティーが拡張され、Solaris Kerberos V5 管理サーバーが、Solaris ソフトウェアを実行していないクライアントからのパスワード変更要求を受け付けることができます。詳細は、kadmind(1M) のマニュアルページを参照してください。
再実行キャッシュのデフォルトの場所が、RAM ベースのファイルシステムから /var/krb5/rcache/ の持続的記憶領域に移動しました。新しい場所では、システムがリブートされた場合に再実行から保護されます。rcache コードに対してパフォーマンスが強化されました。ただし、固定域の使用によって、再実行キャッシュ全体のパフォーマンスは落ちる場合があります。
再実行キャッシュをファイルまたはメモリのみの記憶域を使用するように構成することができます。鍵テーブルおよび資格キャッシュの種類または場所に対して構成可能な環境変数の詳細については、krb5envvar(5) のマニュアルページを参照してください。
GSS 資格テーブルが Kerberos の GSS メカニズムで必要ではなくなりました。詳細は、「GSS 資格の UNIX 資格へのマッピング」、または gsscred(1M)、gssd(1M)、および gsscred.conf(4) のマニュアルページを参照してください。
Kerberos ユーティリティーの kinit と ktutil が、MIT Kerberos バージョン 1.2.1 に準拠するようになりました。この変更により、kinit コマンドに新しいオプションが追加され、ktutil コマンドに新しいサブコマンドが追加されました。詳細は、kinit(1) および ktutil(1) のマニュアルページを参照してください。
Solaris の Kerberos 鍵配布センター (KDC) および kadmind が、MIT の Kerberos バージョン 1.2.1 ベースに基づいて変更されました。KDC では、現在のハッシュベースのデータベースよりも高い信頼性を備えた二分木ベースのデータベースがデフォルトで使用されます。詳細は、kdb5_util(1M) のマニュアルページを参照してください。
kpropd、kadmind、krb5kdc および ktkt_warnd デーモンがサービス管理機能によって管理されます。このサービスに関する有効化、無効化、再起動などの管理アクションは svcadm コマンドを使用して実行できます。すべてのデーモンのサービスの状態は、svcs コマンドを使用して照会することができます。サービス管理機能の概要については、『Solaris のシステム管理 (基本編)』の第 18 章「サービスの管理 (概要)」を参照してください。
Solaris 9 には、遠隔アプリケーションを除いて、「Kerberos の構成要素」の構成要素がすべて含まれています。
SEAM 1.0.2 には、遠隔アプリケーションが含まれています。SEAM 1.0 の構成要素のうちで、Solaris 9 リリースに組み込まれていないのはこれらのアプリケーションだけです。遠隔アプリケーションの構成要素は次のとおりです。
クライアントアプリケーション – ftp、rcp、 rlogin、rsh、および telnet
サーバーデーモン – ftpd、 rlogind、rshd、および telnetd
Solaris 8 に含まれている Kerberos サービスはクライアント側の部分だけで、Kerberos サービスの構成要素の多くは含まれていません。Solaris 8 が動作するシステムであれば、SEAM 1.0.1 を別にインストールしなくても Kerberos クライアントとしては動作します。これらの Kerberos クライアント機能を使用するには、Solaris Easy Access Server 3.0 または Solaris 8 Admin Pack、MIT ディストリビューション、あるいは Windows 2000 を使用する KDC をインストールする必要があります。チケットを配布するための構成済み KDC がないと、クライアント側の構成要素は十分に機能しません。Solaris 8 には、次の構成要素が含まれます。
チケットを取得、表示、破棄するユーザープログラム – kinit、klist、および kdestroy。
Kerberos パスワードを変更するユーザープログラム – kpasswd。
鍵テーブル管理ユーティリティー – ktutil。
PAM の拡張 – アプリケーションはさまざまな認証メカニズムを使用できます。PAM を使用すると、ログインとログアウトをユーザーが意識する必要をなくすことができます。
GSS_API プラグイン – Kerberos プロトコルおよび暗号サポートを提供します。
NFS クライアントおよびサーバーのサポート。
SEAM 1.0.1 には、Solaris 8 に含まれていない SEAM 1.0 の構成要素がすべて含まれています。次の構成要素が含まれています。
鍵配布センター (KDC) (マスター):
Kerberos データベース管理デーモン – kadmind
Kerberos チケット処理デーモン – krb5kdc
スレーブ KDC。
データベース管理プログラム – kadmin、kadmin.local。
データベース伝播ソフトウェア – kprop。
遠隔アプリケーション – ftp、rcp、rlogin、rsh、および telnet。
遠隔アプリケーションデーモン – ftpd、rlogind、rshd、および telnetd。
管理ユーティリティー – kdb5_util。
Kerberos グラフィカル管理ツール (gkadmin) – 主体および主体ポリシーを管理することができます。この Java テクノロジベースの GUI は、kadmin コマンドに代わる機能です。
事前構成手順 – SEAM 1.0.1 のインストールおよび構成のパラメータを設定することによって、SEAM インストールを自動化できます。この手順は、特に複数のインストールを行うときに適しています。
いくつかのライブラリ。
SEAM 1.0 リリースには、「Kerberos の構成要素」のすべての項目のほか、次の項目が含まれています。
ユーティリティー (gsscred) とデーモン (gssd) – これらのプログラムは、UNIX のユーザー ID (UID) と主体名のマッピングに役立ちます。これらのプログラムが必要なのは、NFS サーバーがユーザーを識別するときに、主体名ではなく UNIX UID を使用しており、主体名と UNIX UID は形式が異なっているためです。
Generic Security Service Application Programming Interface (GSS-API) – アプリケーションは、この API を利用して、複数のセキュリティーメカニズムを使用できます。新しいメカニズムを追加するたびに、アプリケーションをコンパイルし直す必要がありません。GSS-API はマシンに依存しないため、インターネット上のアプリケーションに適しています。GSS-API を使用すると、認証サービスだけでなく、整合性およびプライバシセキュリティーサービスをアプリケーションに組み込むことができます。
RPCSEC_GSS Application Programming Interface (API) – NFS サービスが Kerberos 認証を使用することができます。RPCSEC_GSS は、使用しているメカニズムに依存しないセキュリティーサービスを提供するセキュリティー様式です。RPCSEC_GSS は、GSS-API 層の最上位に位置しています。GSS_API ベースのセキュリティーメカニズムは、プラグイン可能なので、RPCSEC_GSS を使用するアプリケーションで使用できます。
事前構成手順 – SEAM 1.0 のインストールおよび構成のパラメータを設定することによって、インストールを自動化できます。この手順は、特に複数のインストールを行うときに適しています。