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 のインストールおよび構成のパラメータを設定することによって、インストールを自動化できます。この手順は、特に複数のインストールを行うときに適しています。