Single Sign On (SSO) は,ftp
,rcp
,rlogin
,rsh
,および
telnet
ネットワーク・コマンドや Kerberos を使うアプリケーションを使用している場合に,Kerberos テクノロジを使って安全な接続を提供するオプションのクライアント/サーバ・ソフトウェアです。
この付録には,次の情報があります。
Kerberos サーバは,Kerberos サーバ・ソフトウェアがインストールされているシステムのことです。Kerberos サーバ・テクノロジは,Tru64 UNIX オペレーティング・システム・ソフトウェアには備わっていません。Windows 2000 Server のような Kerberos サーバがイントラネットに存在しなければなりません。この付録では,Kerberos サーバをサーバと呼びます。
Kerberos クライアントは,Kerberos クライアント・ソフトウェアがインストールされているシステムのことです。Tru64 UNIX SSO ソフトウェアは,Tru64 UNIX Version 5.1A 以降のオペレーティング・システム・ソフトウェアを稼動しているシステムで実行する Kerberos クライアント・ソフトウェアを提供します。Kerberos クライアント・ソフトウェアは,ftp
,rcp
,rlogin
,rsh
,telnet
コマンドおよび
rcmd
関数の Kerberos 版を提供します。この付録では,Kerberos クライアントをクライアントと呼びます。
C.2 Kerberos 認証プロセス
Kerberos ネットワークは,レルムと呼ばれるセキュリティ・ドメインに分割されます。レルムにはそれぞれ一次サーバや二次サーバがあり,独自のセキュリティ・ポリシを実現します。
管理者は,サーバにプリンシパル・データベースを作成し,管理します。このプリンシパル・データベースには,各プリンシパル (ユーザ,サービス,アプリケーション,およびホスト) に対するキー (エントリ) が含まれます。キーには,パスワードのような秘密の値など,プリンシパルに関する情報が含まれます。サーバはこのキー情報を使い,プリンシパルを認証します。プリンシパル・データベースの詳細については,Kerberos サーバのマニュアルを参照してください。
レルムは階層構造です。各レルムは複数の子レルムを持つことができます。また,各レルムは 1 つの親レルムを持つことができます。これにより,Kerberos を導入する組織では,組織内部のさまざまな情報クラスに対応するセキュリティ・レベルを設定したり,互いに直接の関係を持たないレルムの間で認証情報を共用できます。レルム内のプリンシパルの名前はすべて一意である必要があります。情報のセキュリティ・ポリシは,レルム内のすべてのプリンシパルで共通です。
Tru64 UNIX SSO ソフトウェアをインストールすると,プリンシパルの認証要求を Kerberos サーバに送信する SIA (Security Integration Architecture) モジュール がインストールされます。
Tru64 UNIX クライアント上では,サービス鍵テーブルと呼ばれるファイルを作成し,管理できます。サービス鍵テーブルには,あらかじめクライアントとの接続を認証されたそれぞれのプリンシパル (ホスト) 用のプリンシパル・データベースから抽出されたキーが含まれています。以降の要求に対して,クライアントはこのキー情報を再利用し,プリンシパルを再認証します。つまり,最初にサーバがプリンシパルを認証すると,そのプリンシパルのキーがサービス鍵テーブルにあれば,クライアントはプリンシパルを再認証できるのです。
C.3 SSO ソフトウェアのアップデート
SSO Version 1.0 ソフトウェアをアップグレードするには,インストールされている SSO のサブセットをアンインストールし,新しく SSO ソフトウェアをインストールする必要があります。たとえば,SSO Version 1.0 ソフトウェア (W2KSSO100
) をアンインストールするには,次のように入力します。
#
/usr/sbin/setld
-d
W2KSSO100
C.4 SSO ソフトウェアのインストールおよび構成
いくつかの SSO ソフトウェアを Tru64 UNIX システムと Windows 2000 Server システムにインストールする必要があります。
SSO ソフトウェアを Tru64 UNIX システムにインストールする前に,あらかじめ Windows 2000 Server システムにインストールしておく必要があります。
Tru64 UNIX オペレーティング・システムにインストールする SSO ソフトウェアは,Windows 2000 Active Directory に認証要求を送信する SIA (Security Integration Architecture) メカニズムをインストールします。
Windows 2000 Server にインストールする SSO ソフトウェアは,Active Directory を拡張し,Tru64 UNIX ユーザ・アカウントおよび,ユーザのログイン名,ユーザ ID (UID),グループ ID (GID),コメント,ホーム・ディレクトリへのパス,およびログイン・シェルなどのグループ属性を含めます。Tru64 UNIX ユーザ・アカウントおよびグループ属性の詳細については,『システム管理ガイド』 を参照してください。
SSO ソフトウェアをインストールする前に,次の点に留意してください。
Active Directory の名前は,大文字と小文字を使い分ける必要があり,小文字で入力されている必要があります。Active Directory 名を大文字に変える必要がある場合は,Windows のマニュアルを参照してください。
SSO と分散型コンピューティング環境 (DCE) は,システム設定要件が違う異なるバージョンの Kerberos を実装していて,互換性がないため,DCE ソフトウェアと SSO は同じシステムにインストールできません。
ASU (Advanced Server for UNIX) Version 5.1A 以上のソフトウェアと SSO Version 2.0 以上のソフトウェアを Tru64 UNIX システムで稼動させると,マシン・アカウント名の競合が発生します。この競合を解決するには,ホスト名を ASU サーバ名として使用しないよう ASU サーバを構成する必要があります (省略時の設定)。SSO ソフトウェアによって,Tru64 UNIX システムのホスト名と一致するマシン・アカウントが Active Directory に作成されます。省略時の設定どおりに,ASU サーバ名としてホスト名が ASU サーバに使われると,SSO ソフトウェアによって作成されたアカウントが指定変更され,SSO 機能が失敗します。
ASU サーバ名としてホスト名が使われないように ASU サーバを設定する方法については,ASU 『Advanced Server for UNIX リリース・ノート』 を参照してください。
C.4.1 Windows 2000 システムでの SSO ソフトウェアのインストールおよび構成
Windows 2000 のドメイン・コントローラに SSO ソフトウェアをインストールすると,SSO ソフトウェアは次の動作をします。
Active Directory スキーマを拡張し,Tru64 UNIX ユーザ・アカウントおよびグループ属性を含めます。Active Directory は複製されるため,ドメインのすべての Windows 2000 Server は拡張された Active Directory のコピーを受け取ります。Active Directory については,Windows のマニュアルを参照してください。
MMC (Microsoft Management Console) をアップデートして,ユーザおよびグループの Tru64 UNIX プロパティ・ページを含めます。
Tru64 UNIX 属性を含むユーザ・アカウントおよびグループを作成する Windows 2000 Server のそれぞれに SSO ソフトウェアをインストールする必要があります。SSO ソフトウェアはこのシステム上で MMC をアップデートして,ユーザおよびグループの Tru64 UNIX プロパティ・ページを含めます。
C.4.1.1 Active Directory スキーマの拡張
Windows 2000 のドメイン・コントローラで Active Directory スキーマを拡張するには,次の手順を実行します。
Windows 2000 のドメイン・コントローラの CD-ROM ドライブに Tru64 UNIX の基本 CD-ROM を挿入します。
Windows のエクスプローラ・ウィンドウで,CD-ROM ドライブのアイコンを開き,続いて
Windows2000_SSO
フォルダ,kit/windows_kit
フォルダを開きます。
setup.exe
ファイルをダブルクリックします。次のようなウィンドウが表示されます。
「Schema Extensions」ボックスで [Install] ボタンをクリックし,Active Directory を拡張して,Tru64 UNIX 属性が含まれるようにします。「Active Directory User Interface Extensions」ボックスで [Install] ボタンをクリックし,MMC をアップデートして Tru64 UNIX プロパティ・ページが含まれるようにします。
インストールに関する情報メッセージが,コマンド・プロンプト・ウィンドウに表示されます。このウィンドウは,インストールが正常終了すると自動的に閉じられます。
Windows 2000 Server 上で MMC をアップデートし,Tru64 UNIX プロパティ・ページを含めるには,次の手順を実行します。
Windows 2000 Server の CD-ROM ドライブに Tru64 UNIX の基本 CD-ROM を挿入します。
Windows のエクスプローラ・ウィンドウで,CD-ROM ドライブのアイコンを開き,続いて
Windows2000_SSO
フォルダ,kit/windows_kit
フォルダ,MMC_Setup
フォルダを開きます。
setup.exe
ファイルをダブルクリックし,画面の説明に従います。
C.4.2 Tru64 UNIX システムでの SSO ソフトウェアのインストールおよび構成
SSO ソフトウェアは,基本の Tru64 UNIX オペレーティング・システム・ソフトウェアに含まれるオプションのサブセットです。
SSO サブセットは,OSFSSOW2Knnn
,Single Sign On for Windows 2000 (Network-Server/Communications) という名前です。nnn
は,Tru64 UNIX のバージョン番号です。現在のバージョン番号は,『リリース・ノート』 を参照してください。
サブセットのインストールの詳細については,『インストレーション・ガイド』 および
setld
(8)
Tru64 UNIX システムに SSO ソフトウェアをインストールした後,SSO ソフトウェアと Kerberos SIA メカニズムを構成します。任意で,TruCluster Server 環境で SSO ソフトウェアを構成することもできます。
C.4.2.1 SSO ソフトウェアの構成
SSO ソフトウェアを構成するには,/usr/sbin/w2ksetup
スクリプトを実行する必要があります。/usr/sbin/w2ksetup
スクリプトによって,次の必須情報の入力が求められます。
Windows 2000 のドメイン・コントローラの管理特権を持つユーザ・アカウントの名前とパスワード。この管理者アカウントは,Administrators,DnsAdmins,Domain Admins,Domain Users,および Users グループのメンバである必要があります。
Windows 2000 の完全ドメイン名。通常,ドメイン・ネーム・サービス (DNS) のネーム・サーバと同じドメイン名です。このドメイン名は,大文字と小文字を使い分ける必要があり,大文字で入力されている必要があります。
w2khost.sso.corp.com
など,Windows 2000 のドメイン・コントローラのホスト名。このドメイン名は,大文字と小文字を使い分ける必要があり,小文字で入力されている必要があります。
SSO ソフトウェアを構成するには,次の手順を実行します。
Windows 2000 Server 用のエントリを
/etc/hosts
ファイルに追加します。詳細については,
hosts
(4)
次のように入力して,SSO セットアップ・スクリプトを起動します。
#
/usr/sbin/w2ksetup
SSO セットアップ・スクリプトを実行するように求められます。
SSO セットアップ・スクリプトを実行するかどうかを質問されたら「yes
」を入力します。
Do you want to run the setup script now? [y/n]? y
次の情報が表示されます。
Running /usr/sbin/w2ksetup
...
/usr/sbin/w2ksetup[79]: 2598 Terminated
注意
SSO ットアップ・スクリプトを実行するかどうかを質問されたときに「
no
」と入力すると,コマンド・プロンプトに戻ります。次のコマンドを入力して,SSO セットアップ・スクリプトの実行を再開できます。
#
/usr/sbin/w2ksetup
Tru64 UNIX システムが認証に使用する Windows 2000 のドメイン名を入力するように求められます。
次のように,[Enter
] キーを押して,省略時の名前を使用するか,ドメイン名を入力してから [Enter
] キーを押す。
Enter the name of the Windows 2000 domain. This is in the form domain.com - Typically the Windows 2000 domain is the same as the DNS domain. Domain: [SSO.CORP.COM]
Windows 2000 のホスト名コントローラの名前を入力するように求められます。
次のように,[Enter
] キーを押して,省略時の名前を使用するか,ホスト名を入力してから [Enter
] キーを押す。
Enter the hostname of a Windows 2000 domain controller. Domain Controller: w2khost.sso.corp.com
注意
Windows 2000 のドメイン・コントローラに接続できない場合は,
/etc/hosts
ファイルをチェックし,Windows 2000 のドメイン・コントローラの完全修飾ドメイン名のあるエントリがあるか確認してください。もし見つからなければ,ファイルにエントリを追加してください。また,クライアントとサーバ・システムの時刻が同じかどうかもチェックしてください。これらのシステム間に大きな時間差があると,接続に問題が発生する場合があります。
Windows 2000 のドメイン・コントローラに Tru64 UNIX システムのマシン・アカウントを作成するには,Windows 2000 KDC に管理特権のあるユーザ・アカウントの名前とパスワードを入力する必要があります。
次の情報が表示されます。
To create the machine account, you must be logged in as root and have admin Kerberos credentials. For security reasons Windows 2000 does not allow anyone to authenticate through Kerberos using the Administrator account. Therefore you must choose an account other than the Administrator account that has admin privileges. The username of an account must be in the Windows 2000 KDC
次のように,Windows 2000 KDC の管理特権のあるアカウントのユーザ名とパスワードを入力します。
Enter Admin principal: user Password for user@SSO.CORP.COM:
次の情報が表示されます。
Adding unixhost.sso.corp.com to directory... Extracting host/unixhost.sso.corp.com key... Updating /etc/ldapcd.conf... The machine account has been set up. You might need to set permissions in Windows 2000 to enable access to the UNIX information in the user objects. Please see the Windows documentation for further information.
Windows 2000 サービスを起動するように求められます。
すぐにサービスを起動する場合は,次の質問に対して「yes
」と入力します。
Do you want to start the Windows 2000 services now? [y/n]?: y
次の情報が表示されます。
LDAP caching daemon (ldapcd) started
#
/sbin/init.d/xlogin restart
C.4.2.2 TruCluster Server 環境での SSO ソフトウェアの構成
TruCluster Server 環境で SSO ソフトウェアを構成するには,次の手順を実行します。
それぞれの TruCluster Server メンバで
/usr/sbin/w2ksetup
スクリプトを実行する (C.4.2.1 項)。
それぞれのクラスタ・エイリアスについて,/usr/sbin/w2ksetup
スクリプトを最後に実行した TruCluster Server メンバで次のコマンドを実行します。
# creacct -h fully_qualifed_cluster_alias_name -u
このコマンドによってクラスタ・エイリアスの完全修飾名が Active Directory に追加され,クラスタ・エイリアスの使用時に,SSO ログインが可能になります。
C.4.2.3 Kerberos と他の SIA メカニズムの併用 (必要に応じて)
Kerberos SIA メカニズムは,SIA メカニズムの構成ファイル (/etc/sia/matrix.conf
) の最初のエントリである必要があります。SSO のインストール手順は,この制約に従います。ただし,他の SIA セキュリティ・メカニズムを追加する場合には,/usr/sbin/siacfg
コマンドを使って,Kerberos エントリを削除し,他のエントリを追加した後,Kerberos エントリを再度追加します。たとえば次のようにします。
次のように入力して,Kerberos エントリを削除します。
#
siacfg
-r
Kerberos
次のように入力して,新しいエントリを追加します。
#
siacfg
-a
sianew
/location
次のように入力して,Kerberos エントリを再度追加します。
#
siacfg
-a
-P
-g
sci Kerberos /usr/shlib/libcsfsiad.so
表 C-1
に,Tru64 UNIX の SSO の構成ファイルを示します。
表 C-1: SSO の構成ファイル
ファイル | 内容 |
krb.conf |
ホスト・コンピュータの省略時のレルム。既知のレルムを,ホスト名やネットワークの場所に基づいて,一次および二次 Kerberos サーバに関連付けます。 |
krb.realms |
サーバ名および対応するレルム名。 |
v5srvtab |
Kerberos サーバのプリンシパル・データベースから抽出されるプリンシパル・キー。 |
.k5login |
特定のユーザ・アカウントへのアクセスを承認されたプリンシパルのリスト。 |
ldapcd.conf |
パフォーマンスを上げるためにチューニングできる SSO のキャッシュ・パラメータ。 |
ldapusers.deny |
SSO がインストールされている時に,Tru64 UNIX のみで認証される各ローカル Tru64 UNIX ユーザのエントリ。 |
/krb5/krb.conf
ファイルは,Kerberos のレルム情報が含まれたテキスト・ファイルです。この情報は,システムの省略時のレルムを定義し,既知のレルムを,ホスト名やネットワークの場所に基づいて,一次および二次 Kerberos サーバに関連付けます。
省略時の命名規則 (つまり,順序規則または DNS の循環規則) を使って,Kerberos サーバの名前を構成できる場合は,krb.conf
ファイルを構成したり,管理したりする必要はありません。
krb.conf
ファイルが見つからない場合,空である場合,あるいは有効な省略時のレルムが含まれていない場合,Tru64 UNIX オペレーティング・システムによって,ホストのドメイン名が大文字に変換され,省略時のレルム名として使用されます。Kerberos サーバの情報が,krb.conf
ファイルで見つからないと,省略時の命名規則が設定されていれば,Tru64 UNIX オペレーティング・システムはKerberos サーバを見つけようとします。
krb.conf
ファイルでは,各エントリは別々の行にある必要があり,フィールドは空白やタブで区切られ,コメントの行頭にはナンバー記号 (#) が付き (ナンバー記号の後ろから行末までの文字列は無視されます),空白行や行頭,行末の空白文字は無視されます。
Kerberos サーバを使用する順序を示すので,krb.conf
ファイルでのエントリの順序は重要です。Kerberos サーバに接続しようとするアプリケーションは,エントリを順番に 1 つずつ読み込みます。他の Kerberos サーバが使用できない,またはネットワーク・タイムアウトが発生した場合 (たとえば,認証処理中にクライアントと Kerberos サーバ間のネットワーク接続が中断された場合など),二次 Kerberos サーバが使用されます。
例 C-1
に,krb.conf
ファイルの例を示します。
例 C-1: krb.conf ファイルの例
BIZ.COM [1] BIZ.COM shoe.biz.com admin server [2] BIZ.COM sneakers.biz.com [3] BIZ.COM boot.biz.com FOOTWEAR.BIZ.COM leather.footwear.biz.com admin server [4]
例 C-1 のエントリは,次の構成を作成します。
最初の行は,システムの省略時のレルム名を示します。ドメイン名と視覚的に区別するために,レルム名は大文字になっています。サイトで大文字表記での規則に従わない場合には,レルム名の大文字小文字を正しく入力する必要があります。例では,システムの省略時のレルム名は
BIZ.COM
です。
[例に戻る]
2 行目は,レルムの一次 Kerberos サーバのレルム名と完全修飾ドメイン名 (FQDN) を示します。例 C-1
では,一次 Kerberos サーバの FQDN は
shoe.biz.com
です。
[例に戻る]
次の行は,レルムの二次 Kerberos サーバのレルム名と FQDN を示します。例 C-1
では,二次 Kerberos サーバの名前は
sneakers.biz.com
および
boot.biz.com
です。
[例に戻る]
次の行は,レルム間認証が実行されるレルムの名前を示します。レルム間認証は,再認証を行わずに,レルムが他のレルムからの認証を受け入れることです。また,この行は,Kerberos サーバの FQDN に続いて
admin server
およびオプションの
tcp/port #
を指定します。
省略時の設定では,UDP が省略時の接続プロトコルになっているため,特に指定する必要はありません。Kerberos サーバが TCP を接続プロトコルとして使用する場合は,tcp
,および TCP が使用する
port #
を指定する必要があります。ポートの値を指定するには,数値,または
tcp/88
や
tcp/kerberos5
など,/etc/services
ファイルに記載されているサービス名を使います。
例 C-1
では,レルム名は
FOOTWEAR.BIZ.COM
,Kerberos サーバは
leather.footwear.biz.com
です。この Kerberos サーバは,省略時の UDP 接続プロトコルを使用します。
[例に戻る]
詳細については,
krb.conf
(4)C.5.2 krb.realms ファイル
/krb5/krb.realms
ファイルは,Kerberos サーバ名と,それらに関連付けられている Kerberos レルム名が含まれたテキスト・ファイルです。セキュア・アプリケーションは,krb.realms
ファイルを使って,チケットの要求先となるレルムを判別します。省略時の設定では,Tru64 UNIX オペレーティング・システムはサーバ名を大文字に変換し,レルム名として使用します。この場合,krb.realms
ファイルを構成したり,管理したりする必要はありません。
ワイルドカードは,krb.realms
ファイルの特殊文字で,1 つのエントリで複数のサーバを 1 つのレルムに関連付けます。
使用できるワイルドカード文字は,次の 2 つです。
指定のドメイン・ルート名を含むサーバをすべて指定するには,ドメイン名の前にアスタリスク (*) を指定します。たとえば,*.biz.com
は,footwear.exec.biz.com
など,biz.com
で終了するすべてのドメインのすべてのサーバを指定します。
任意の文字を指定するには,最初のフィールドのサーバ名またはドメイン名の前にクエスチョン・マーク (?) を使います。たとえば,???footwear.biz.com
は,bigfootwear.biz.com
など,biz.com
ドメイン内で,「footwear」の前に 3 文字が入る名前の付いたあらゆるサーバを指定します。
セキュア・アプリケーションが
krb.realms
ファイルを検索するとき,一致するサーバ名があるかを検索した後,一致するドメイン名があるかを検索します。一致するものが見つからない場合,ワイルドカードを使って一致を検索します。該当する関連エントリがない,または
krb.realms
ファイルが存在しない場合,セキュア・アプリケーションはサーバのドメイン名を大文字に変換し,省略時の名前として使用します。
krb.realms
ファイルでのエントリの順序は重要ではありません。それぞれのエントリは,別々の行にある必要があり,空白文字またはタブで区切られた次のような形式の 2 つのフィールドが必要です。
最初のフィールドには,サーバ名を指定します。ドメイン名を指定して,ドメインのすべてのサーバを 1 つのレルム名にマッピングできます。ドメイン名の前にピリオドを付ける必要があります。
次のフィールドには,対応するレルム名を指定します。命名規則により,ドメイン名と視覚的に区別するために,レルム名は大文字で指定します。サイトで大文字表記を使用しない場合には,レルム名の大文字小文字を正しく入力する必要があります。
krb.realms
ファイルにコメントを作成するには,ナンバー記号 (#) を使います。ナンバー記号の後から行末までの文字列はすべて無視されます。また,空白行および行頭,行末の空白文字も無視されます。
例 C-2
は,krb.realms
ファイルの例です。
例 C-2: krb.realms ファイルの例
footwear.biz.com SERIOUS.BIZ.COM [1] .admin.biz.com ADMIN.BIZ.COM [2] *.biz.com BIZ.COM [3]
例 C-2 のエントリは,次の関連付けを行います。
footwear.biz.com
サーバを
SERIOUS.BIZ.COM
レルムの関連付け。
[例に戻る]
admin.biz.com
ドメインにあるすべてのサーバと
ADMIN.BIZ.COM
レルムの対応付け。
ピリオドを前に追加すると,最初のフィールドがサーバ名ではなくドメイン名として認識されます。通常,レルム名はドメイン名を大文字にしたものなので,この行は特に必要ではありません。ただし,この例では,3 行目によって
admin.biz.com
ドメインのサーバを
BIZ.COM
レルムにマッピングされないようにするために,この行が必要です。
[例に戻る]
ルート名
biz.com
を名前に含むその他のドメインにあるすべてのサーバを
BIZ.COM
レルムに関連付け。たとえば,sales.biz.com
のサーバと
support.teams.biz.com
ドメインが
BIZ.COM
レルムにマップされます。
[例に戻る]
詳細については,
krb.realms
(4)C.5.3 v5srvtab ファイル
/krb5/v5srvtab
サービス鍵テーブル・ファイルは,Kerberos サーバのプリンシパル・データベースから抽出されたプリンシパル・キーを含むバイナリ・ファイルです。Tru64 UNIX などの Kerberos クライアントは,このサービス鍵テーブルのキー情報を使って,プリンシパルを再認証します。つまり,最初に Kerberos サーバがプリンシパルを認証すると,キーがサービス鍵テーブルにあれば,Kerberos クライアントはプリンシパルを再認証できるのです。
詳細については,
v5srvtab
(4)/krb5/v5srvtab
サービス鍵テーブル・ファイルの管理については,C.7.4 項
を参照してください。
C.5.4 .k5login ファイル
/krb5/.k5login
ファイルは,特定のユーザ・アカウントへのアクセスが承認されたプリンシパルのリストが含まれた隠しテキスト・ファイルです。.k5login
ファイルへの不正なアクセスは,ユーザ・アカウントの完全性を脅かします。
Kerberos のセキュア・デーモンを構成して,.k5login
承認を使うようにした場合,それぞれのユーザはホーム・ディレクトリに格納されている
.k5login
ファイルにプライベート承認リストを持っている必要があります。このリストによって,どのプリンシパルがユーザ・アカウントへアクセスできるか判別されます。
ユーザの
.k5login
ファイルを所有し,書き込み許可を持てるのは当該ユーザだけです。それ以外の場合,認証が失敗し,ユーザはアクセス権がないことを知らせるエラー・メッセージを受け取ります。
.k5login
ファイルには,1 行ごとに 1 つのエントリがあります。エントリは,プリンシパル・データベースに記録されている通りのスペルで書かれたプリンシパルの完全名です。コメントを挿入したり,行末に空白を入れてはなりません。
例 C-3
は,通常,「jack@COMPANY.COM」としてログインしているが,プリンシパル「jack_hill@COMPANY.COM」としてもアクセスしたい「Jack」というユーザに対して構成された
.k5login
ファイルの例です。さらに,「jill@HR.COMPANY.COM」というプリンシパルに対して,自身のアカウントへのアクセス許可を付与します。
例 C-3: .k5login ファイルの例
jack@COMPANY.COM jack_hill@COMPANY.COM jill@HR.COMPANY.COM
このアカウントにログインするには,Jack と Jill は次の情報を入力しなければなりません。
# rlogin hostname -l username
たとえば,Jack は次のコマンドを入力し,server1 というサーバにログインします。
# rlogin server1 -l jack
/etc/ldapcd.conf
は,SSO のキャッシュ・パラメータが含まれたテキスト・ファイルです。ユーザが著しく長い時間 Tru64 UNIX システムの応答を待つような場合,テキスト・エディタを使って,Tru64 UNIX システムにある
ldapcd.conf
テキスト・ファイルのキャッシュ・パラメータの値を変更して Windows 2000 の SSO ソフトウェアをチューニングできます。
例 C-4
に,ldapcd.conf
ファイルの例を示します。コメント行は,ナンバー記号 ( # ) で始まります。
表 C-2
に,キャッシュ・パラメータの説明を示します。
例 C-4: ldapcd.conf ファイルの例
# configuration file for ldapcd # # format of the file is <id>: <value> # values that contain spaces, or : or # must be quoted # if an id listed but no value specified the id will # use the default value # # max entries in cache, and number of seconds before entries # expire in the cache # connections: 4 pw_cachesize: 500 pw_expirecache: 900 gr_cachesize: 100 gr_expirecache: 900 usesasl: 1 directory: server1 searchbase: "cn=users,DC=SSO,DC=CORP,DC=COM" machine_acctname: emerald.ne.corp.com machine_dn: "cn=emerald,cn=computers,DC=SSO,DC=CORP,DC=COM"
パラメータ | 説明 |
connections |
キャッシュ・デーモンが Active Directory に対してオープンできる接続数。 このエントリの値を増やすと,Active Directory に対してオープンできる接続も増加します。ただし,これにより,より多くのファイル記述子が使われ,Active Directory の負荷が増加します。 通常,ワークステーション 1 台に対しては 4 つの接続,サーバ 1 台に対しては 15 の接続で十分です。 省略時の設定は,4 つの接続です。 |
pw_cachesize |
キャッシュに格納するユーザ・エントリ数の上限。 最大ユーザ数の増減に従って,この値も増減させます。 省略時の設定は,500 エントリです。 |
pw_expirecache |
ユーザ・エントリをキャッシュする最長秒数。 ユーザのエントリをキャッシュからすぐに取り出せるため,この値を増やすと Tru64 UNIX のパフォーマンが向上します。 前回使ってから時間が経っていないユーザ・アカウントを削除すると,このパラメータに指定された時間の間,ユーザのエントリがキャッシュに残ります。 省略時の設定は,900 秒です。 |
gr_cachesize |
キャッシュするグループ ID 数の上限。 グループ ID をキャッシュからすぐに取り出せるため,この値を増やすと Tru64 UNIX のパフォーマンが向上します。 省略時の設定は,100 です。 |
gr_expirecache |
グループ ID をキャッシュする最長秒数。 省略時の設定は,900 秒です。 |
注意
/etc/ldapcd.conf
ファイルのキャッシュ・パラメータの値を変更する場合,次のコマンドを入力し,キャッシュ・デーモンを再起動する必要があります。#
/sbin/init.d/ldapcd restart
詳細については,
ldapcd.conf
(4)C.5.6 ldapusers.deny ファイル
/etc/ldapusers.deny
ファイルは,SSO がインストールされている時に,Tru64 UNIX によってのみ認証される各 Tru64 UNIX ユーザに対するエントリが含まれているテキスト・ファイルです。
1 行ごとにユーザ名を 1 つ入力します。また,このユーザ名は
/etc/passwd
ファイルのユーザ名と完全に一致しなければなりません。
コメントを作成するには,ナンバー記号 (#) を使います。ナンバー記号の後から行末までの文字列はすべて無視されます。また,空白行および行頭,行末の空白文字も無視されます。
例 C-5
に,ldapusers.deny
ファイルの例を示します。
例 C-5: /etc/ldapusers.deny ファイルの例
# The following file lists account names that are not allowed to use # the Windows 2000 authentication information when it is enabled. # Account names must match exactly the user account name in the # /etc/passwd file. # # Syntax: account_1 # . # . # . # account_n root nobody nobodyV daemon bin uucp uucpa auth cron lp tcb adm ris wnn pop imap Peter Dave Evan Martha
詳細については,
ldapusers.deny
(4)C.6 アカウントおよびグループの作成
Windows 2000 Server でユーザ・アカウント,コンピュータ・アカウント,およびグループを認証する場合は,これらのアカウントおよびグループを Windows 2000 Server に作成する必要があります。Tru64 UNIX システムに作成されたユーザ・アカウントおよびグループは,システムの Tru64 UNIX ユーザ・アカウントおよびグループ・ポリシに従って作成されるため,Windows 2000 サーバによる認証は行われません。
この項では,次の方法について説明します。
Windows 2000 Server にユーザ・アカウントを作成するには,次の機能使います。
Tru64 UNIX の
creacct
コマンド
MMC (Microsoft Management Console) インタフェース
C.6.1.1 Tru64 UNIX の creacct コマンドを使用したユーザ・アカウントの作成
creacct
コマンドを使用してユーザ・アカウントを作成するには,次のように入力します。
#
creacct
-a
username
次の情報を入力するように求められます。
Windows 2000 Server の管理者アカウントの名前とパスワード。
ユーザ・アカウントに関するコメント。
ユーザのホーム・ディレクトリとして使用される Tru64 UNIX のディレクトリ。
注意
有効なホーム・ディレクトリを指定しないと,
ルート
(/) ディレクトリが省略時の値として設定されます。ルート
・ディレクトリの.profile
ファイルまたは.cshrc
ファイルでは,Tru64 UNIX コマンドが実行されるときに,/sbin
ディレクトリを最初に調べるように環境パスが設定されています。その結果,ホーム・ディレクトリがルート
・ディレクトリに設定されていると,ls -l
コマンドは動作しません。
ユーザ・アカウント用の Tru64 UNIX シェル。
ユーザ・アカウントの Tru64 UNIX グループ ID (GID)。
ユーザ・アカウントの Tru64 UNIX ユーザ ID (UID)。
ユーザ・アカウントのパスワード。
詳細については,
creacct
(1)C.6.1.2 MMC インタフェースを使用したユーザ・アカウントの作成
MMC インタフェースを使ってユーザ・アカウントを作成するには,次の手順を実行します。
次のように,「Active Directory ユーザーとコンピュータ」ウィンドウを表示します。
「スタート」をクリックします。
「プログラム」から「管理ツール」,その後「Active Directory ユーザーとコンピュータ」を選択します。
「Active Directory ユーザーとコンピュータ」ウィンドウが表示されます。
必要であれば,「Users」フォルダを強調表示します。「操作」メニューで,「新規作成」の後に「ユーザー」を選択します。
「新しいオブジェクト -- ユーザー」ウィンドウ (図 C-1) が表示されます。
図 C-1: 「新しいオブジェクト -- ユーザー」ウィンドウ― 必要な情報
「新しいオブジェクト -- ユーザー」ウィンドウに必要な情報を入力した後,[次へ] ボタンをクリックします。「名」と「イニシャル」フィールドは省略可能です。
次の「新しいオブジェクト -- ユーザー」ウィンドウ (図 C-2) が表示されます。
図 C-2: 「新しいオブジェクト -- ユーザー」ウィンドウ― パスワード情報
パスワードを入力し,パスワード・オプションを選択した後,[次へ] ボタンをクリックします。
確認画面が表示されます。
[次へ] ボタンをクリックして,ユーザ・アカウントを作成するか,[キャンセル] ボタンをクリックして,ユーザ・アカウントの作成を中止します。
作成を続けると,「Active Directory ユーザーとコンピュータ」ウィンドウが表示されます。
作成したアカウント名をダブルクリックします。
作成したユーザのプロパティ・ダイアログ・ボックスが表示されます。
Tru64 UNIX タブをクリックします。
Tru64 UNIX ユーザのプロパティ・ダイアログ・ボックス (図 C-3) が表示されます。
図 C-3: Tru64 UNIX ユーザのプロパティ・ダイアログ・ボックス
Tru64 UNIX ユーザ・アカウント情報を入力します。Tru64 UNIX ユーザ・アカウントの制約が適用されます。たとえば,Tru64 UNIX ユーザ・アカウント名の文字数は,Tru64 UNIX オペレーティング・システムによって決められた最長文字数以上には設定できないなどの制約があります。Tru64 UNIX ユーザ・アカウントの制約の詳細については,『システム管理ガイド』 を参照してください。
注意
有効なホーム・ディレクトリを指定しないと,
ルート
(/) ディレクトリが省略時の値として設定されます。ルート
・ディレクトリの.profile
ファイルまたは.cshrc
ファイルでは,Tru64 UNIX コマンドが実行されるときに,/sbin
ディレクトリを最初に調べるように環境パスが設定されています。その結果,ホーム・ディレクトリがルート
・ディレクトリに設定されていると,ls -l
コマンドは動作しません。
属性の上にマウスを移動すると,ウィンドウの「Description」セクションに属性の説明が表示されます。
Tru64 UNIX ユーザ・アカウントの属性情報を入力し,[OK] ボタンをクリックします。
「Active Directory ユーザーとグループ」ウィンドウが表示されます。
プリンシパルのパスワードを設定するには,MMC (Microsoft Management Console) インタフェースか Tru64 UNIX の
creacct
コマンドが使えます。
creacct
コマンドを使って,パスワードを設定するには,次のように入力します。
#
creacct
-s
principal
Windows 2000 Server の管理者アカウントの名前とパスワードの後に,プリンシパルのパスワードを求められます。
creacct
コマンドの詳細については,
creacct
(1)
MMC インタフェースを使用したパスワードの設定の詳細については,Windows 2000 のマニュアルを参照してください。
C.6.3 コンピュータ・アカウントの作成
コンピュータ・アカウントを作成すると,Windows 2000 Server にアカウントが作成され,キー・サービス・テーブルに追加されます。コンピュータ・アカウントはすべて,Active Directory の「Computer」グループの下にある現在のドメインに追加されます。
コンピュータ・アカウントを作成するには,次の手順を実行します。
creacct
コマンドを次のように入力してコンピュータの完全修飾名を指定します。
#
creacct
-h
computer_name
[-t
keytable] [-u]
完全修飾名を指定しなかった場合は,creacct
コマンドによって,コンピュータのローカル DNS 名に基づく名前が作成されます。
-t
オプションを指定しなかった場合は,省略時のサービス鍵テーブル・ファイル (/krb5/v5srvtab
) にコンピュータ・アカウントが作成されます。
-u
オプションを指定して,新しいコンピュータ・アカウントのエントリが
/etc/ldapcd.conf
ファイルに追加されるようにします。
Windows 2000 Server で管理者特権を持つプリンシパルのユーザ名とパスワードを求められます。
ユーザ名とパスワードを入力します。
指定されたコンピュータが存在するかどうか,最初に Active Directory が検索されます。エントリが見つかった場合は,既存のエントリを置き換えるか,変更するように求められます。
次のうちいずれかを選択します。
DNS コンピュータ名を変更します。
既存のコンピュータ・アカウントを新しいコンピュータ・アカウントと置き換えます。既存のコンピュータ・アカウントを置き換える場合,DNS ホスト名を取得するために,creacct
コマンドによって Active Directory が検索されます。その後,DNS ホスト名を変更するように求められます。既存の DNS ホスト名を再入力するか新しいホスト名を入力します。
詳細については,
creacct
(1)C.6.4 グループの作成
Windows 2000 Server にグループを作成するには,MMC インタフェースを使う必要があります。Tru64 UNIX および Windows 2000 のユーザがメンバとなるグループを作成できます。
グループを作成するには,次の手順を実行します。
次のように,「Active Directory ユーザーとコンピュータ」ウィンドウを表示します。
「スタート」をクリックします。
「プログラム」から「管理ツール」,その後「Active Directory ユーザーとコンピュータ」を選択します。
「Active Directory ユーザーとコンピュータ」ウィンドウが表示されます。
必要であれば,「Users」フォルダを強調表示します。「操作」メニューで,「新規作成」の後に「グループ」を選択します。
「新しいオブジェクト -- グループ」ウィンドウが表示されます。
グループ名を入力し,[OK] ボタンをクリックします。
「Active Directory ユーザーとコンピュータ」ウィンドウが表示されます。
作成したグループ名をダブルクリックします。
作成したグループのプロパティ・ダイアログ・ボックスが表示されます。
Tru64 UNIX タブをクリックします。
作成したグループの Tru64 UNIX プロパティ・ダイアログ・ボックス (図 C-4) が表示されます。
図 C-4: グループのプロパティ・ダイアログ・ボックス
Tru64 UNIX グループ情報を入力します。
属性の上にマウスを移動すると,ウィンドウの「Description」セクションに属性の説明が表示されます。
Tru64 UNIX グループの属性情報を入力し,[OK] ボタンをクリックします。
「Active Directory ユーザーとグループ」ウィンドウが表示されます。
/sbin/kinit
コマンドを使って,チケットを要求します。
初回チケットを要求するには,次のように入力します。
# kinit [-c cachename]
たとえば,省略時の信任状キャッシュからチケットを要求するには,次のように入力します。
# kinit
有効期限を定めたチケットを要求するには,次のように入力します。
# kinit -l nwndnhnmns
たとえば,45 時間 30 分の有効期間のあるチケットを要求するには,次のように入力します。
# kinit -l 45h30m
# kinit -d nwndnhnmns principal domain
たとえば,「COMPANY.COM」というドメインの「mary/admin」というプリンシパルに対して,1 時間以内に開始する先日付けチケットを要求するには,次のように入力します。
# kinit -d 1h mary/admin@COMPANY.COM
有効期間および先日付けオプションの構文は,[nw][nd][nh][nm][ns]
です。ただし,w = 週,d = 日,h = 時間,m = 分,s = 秒です。空白文字を使う場合は,引用符で囲む必要があります。たとえば,"1w 2d 3h 4m 5s"
のように指定します。特に指定されなければ,省略時の有効期間および先日付けオプションは 1 時間単位です。
要求された先日付け期間がサーバのクロック・スキューの値 (通常,5 分) よりも短ければ,-d オプションが指定されていないかのように,チケットの開始時間が現在の時間に設定されてから,発行されます。
チケットの要求の詳細については,
kinit
(1)C.7.2 チケットの表示
/sbin/klist
コマンドを使って,信任状キャッシュに格納されているチケットを表示します。
特定の信任状キャッシュに格納されているチケットをすべて表示するには,次のように入力します。
# klist -a [-c cachename]
たとえば,/var/tmp/mycache
という信任状キャッシュにあるチケットをすべて表示するには,次のように入力します。
# klist -a -c /var/tmp/mycache
信任状キャッシュのすべてのチケットをフラグとアドレス付きで表示するには,次のように入力します。
# klist -a -f [-c cachename]
チケットの表示の詳細については,
klist
(1)C.7.3 信任状キャッシュの削除
特定の信任状キャッシュのチケットをすべて破棄し,信任状キャッシュを削除するには,次のように入力します。
# kdestroy [-c cachename]
たとえば,/var/tmp/mycache
という信任状キャッシュにあるチケットをすべて破棄するには,次のように入力します。
# kdestroy -c /var/tmp/mycache
チケットの削除の詳細については,
kdestroy
(1)C.7.4 サービス鍵テーブルの管理
/sbin/ktutil
コマンドを使って,サービス鍵テーブル・ファイルのエントリの表示や削除,サービス鍵テーブルの破棄,およびサービス鍵テーブルのマージを行います。
/usr/sbin/creacct
コマンドを使って,Windows 2000 Server からキーを抽出し,サービス鍵テーブルに追加します。/usr/sbin/creacct
コマンドを使用すると,Windows 2000 Server で管理者特権を持つプリンシパルのユーザ名とパスワードの入力を求められます。
省略時のサービス鍵テーブル・ファイルは,/krb5/v5srvtab
です。root ユーザ・アカウントがこのファイルを所有します。
サービス鍵テーブルのチケットをすべて表示するには,次のように入力します。
# ktutil [-t keytable]
たとえば,省略時のサービス鍵テーブルのチケットをすべて表示するには,次のように入力します。
# ktutil
Windows 2000 Server から Tru64 UNIX ホストに対するキーを抽出し,サービス鍵テーブルに追加するには,次のように入力します。
# creacct [-t keytable] -x host/fully_qualified_host_name
たとえば,server1.company.com という Tru64 UNIX ホストに対するキーを抽出し,省略時のサービス鍵テーブルに追加するには,次のように入力します。
# creacct -x host/server1.company.com
Windows 2000 Server からプリンシパルに対するキーを抽出し,サービス鍵テーブルに追加するには,次のように入力します。
# creacct [-t keytable] -x principal/fully_qualified_host_name
たとえば,w2kserverhost.company.com というシステムの user1 というユーザ・アカウントに対するキーを抽出し,省略時のサービス鍵テーブルに追加するには,次のように入力します。
# creacct -x user1/w2kserverhost.company.com
特定のプリンシパルに対するチケットをサービス鍵テーブルから削除するには,次のように入力します。
# ktutil -t keytable -d principal
たとえば,COMPANY.COM というドメインの mary/admin というプリンシパルに対するチケットを省略時のサービス鍵テーブルから削除するには,次のように入力します。
# ktutil -t WFILE:/krb5/v5srvtab -d mary/admin@COMPANY.COM
# ktutil -D -t keytable
たとえば,/krb5/mytable
というサービス鍵テーブルを破棄するには,次のように入力します。
# ktutil -D -t WFILE:/krb5/mytable
# ktutil -c from_keytable -t to_keytable
たとえば,/krb5/srvtable
というサービス鍵テーブルのエントリをすべて省略時のサービス鍵テーブル
/krb5/v5srvtab
のエントリとマージするには,次のように入力します。
# ktutil -c /krb5/srvtable -t WFILE:/krb5/v5srvtab
サービス鍵テーブルのマージの詳細については,
ktutil
(1)creacct
(1)C.8 SSO ソフトウェアのトラブルシューティング
SSO ソフトウェアの相互依存関係は複数のオペレーティング・システムにまたがるため,C.4 節
で説明されているとおりにセットアップ手順を実行することが大切です。この手順どおりに実行されないと,SSO ソフトウェアが正しく動作しません。その場合は,invalid login
という応答メッセージが表示されます。SSO に関わる不具合の大半はセットアップに原因があるため,SSO ソフトウェアのセットアップを確認すればすぐに分かります。
C.8.1 SSO の構成パラメータの問題
/usr/sbin/creacct
コマンドまたは
/usr/sbin/w2ksetup
スクリプトを実行したときに,管理者アカウントが有効なものとして受け入れられなかった場合には,この管理者アカウントが Windows 2000 のドメイン・コントローラの Administrators,DnsAdmins,Domain Admins,Domain Users,Users グループのメンバであるか確認します。
Windows 2000 Server で Active Directory を作成する場合,名前は小文字で指定する必要があります。Kerberos レルム名であるこの名前に対するその他の参照は,すべてのプラットフォームで大文字で入力される必要があります。
C.8.2 kinit コマンドの使用および Tru64 UNIX の初回チケットの取得に関する問題
kinit
コマンドを入力したときや,Tru64 UNIX システムにログインするときに,初回チケットの取得で問題が発生した場合には,次の手順を実行します。
次のコマンドを入力して,/etc/sia/matrix.conf
ファイルの内容を表示し,その中で LDAP と Kerberos に関連するエントリを探すことで,matrix.conf
ファイルに LDAP と Kerberos のエントリがあるかどうかを確認します。
# more /etc/sia/matrix.conf
/etc/sia/matrix.conf
ファイルに該当するエントリがない場合は,次のコマンドを入力します。
# siacfg -r LDAP > /dev/null # siacfg -r Kerberos > /dev/null # siacfg -a -g pg -P LDAP /usr/shlib/libsialdap.so > /dev/null # siacfg -a -P -g sci Kerberos /usr/shlib/libcsfk5siad.so > /dev/null
KDC のエントリが
/etc/hosts
ファイルにあるかどうかを確認します。たとえば,次のように入力します。
12.345.67.890 w2khost.mycompany.com w2khost
最初の
/usr/sbin/w2ksetup
ユーティリティを実行し,管理者の名前とパスワードを入力した後に次のエラー・メッセージが表示された場合は,通常この手順を実行すると問題が解決します。
ldap_gssapi_bind: Operations error
/krb5/krb.conf
ファイルおよび
/krb/krb.realms
ファイルが正しく設定されているかどうかを確認します。
krb.conf
ファイルの例を示します。
MYCOMPANY.COM MYCOMPANY.COM w2khost.mycompany.com admin server
krb.realms
ファイルの例を示します。
*.mycompany.com MYCOMPANY.COM
KDC とクライアントの時刻が同じかどうかを確認します。2 〜 3 分の時差は許容範囲ですが,5 分以上の時差があってはなりません。
次のコマンドを入力し,キーを抽出することによって
v5srvtab
ファイルが正しく動作しているかどうかを確認します。
# kinit -k
コマンドが失敗した場合は,/usr/sbin/w2ksetup
スクリプトを再実行するか,/krb5/v5srvtab
ファイルを削除してから,次のコマンドを入力します。
# /usr/sbin/creacct -h mymachinename -u
KDC からチケットを取得できても,その後の Tru64 UNIX システムへのログイン時にパスワードの入力を求め続けられる場合は,次の手順を実行します。
次のコマンドを入力して,ターゲットのサービス・チケットを取得できることを確認します。
# kinit -S host/targetmachinename.mycompany.com
このコマンドが失敗した場合,アクセスしようとしているホストは Kerberos レルムに含まれていません。これを是正するには,次のコマンドを入力します。
# /usr/sbin/creacct -h targetmachinename.mycompany.com -u
/krb5/krb.conf
ファイルの最初の行が,現在のホストとターゲットのホストと同じであることを確認します。
/etc/ldapusers.deny
ファイルまたはユーザのホーム・ディレクトリの
.k5login
ファイルにログインを妨げるエントリがないことを確認します。
/etc/services
および
/etc/inetd.conf
ファイルが正しく設定されており,次のエントリが含まれていることを確認します。
/etc/services
ファイル
kerberos 88/udp kerberos 88/tcp kerberos_master 749/udp kerberos_adm 749/udp kerberos_adm 749/tcp
/etc/inetd.conf
ファイル
kshell stream tcp nowait root /usr/sbin/rshd rshd -K klogin stream tcp nowait root /usr/sbin/rlogind rlogind -K
注意
接続を暗号化する場合は,
inetd.conf
ファイルの 2 行の行末に -x を追記します。
inetd.conf
ファイルを変更した場合には,次のコマンドを入力して,ネットワークを再起動する必要があります。# rcinet restart
SSO ソフトウェアが TruCluster のクラスタ・メンバで正しく動作しない場合は,次の手順を実行します。
次のエントリが,それぞれのクラスタ・メンバに対して定義され,/etc/ldapcd.conf
ファイルに含まれていることを確認します。
directory: searchbase: machine_acctname: machine_dn:
対象クラスタ・メンバに対応するエントリがない場合は,そのクラスタ・メンバで
/usr/sbin/w2ksetup
スクリプトを再実行します。
次のコマンドを入力し,それぞれのクラスタ・メンバに対応するエントリが表示されることを確認します。
# /usr/sbin/ktutil
それぞれのクラスタ・メンバのエントリが表示されない場合は,次のコマンドを入力します。
# /usr/sbin/creacct -h missingmembername -u