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

第 8 章 SEAM の計画

この章は、SEAM のインストールとシステム管理を行うシステム管理者を対象としています。この章では、SEAM をインストールまたは構成する前に、システム管理者が解決しておく必要があるインストールと構成の問題について説明します。

システム管理者やテクニカルサポート担当者が解決する必要がある問題は次のとおりです。

SEAM を計画する理由

SEAM をインストールする前に、いくつかの構成についての問題を解決する必要があります。初期インストール後に構成を変更することもできますが、新しいクライアントがシステムに追加されるにつれて、変更が困難になります。また、変更によっては、すべてのシステムを再インストールしなければならないことがあります。このため、SEAM の構成を計画するときは、長期的な目標を考慮することをお勧めします。

レルム

レルムは、ドメインに似た論理ネットワークです。レルムには、同一マスター KDC に登録されるシステムのグループを定義します。DNS ドメイン名を設定する場合と同様に、レルム名、レルムの数、および各レルムの大きさは、SEAM を構成する前に解決する必要があります。また、レルム間認証を行う場合は、レルム間の関係も定義する必要があります。

レルム名

レルム名には、任意の ASCII 文字列を使用できます。レルム名には通常、DNS ドメイン名と同じ名前を大文字で指定します。この命名規則を利用すると、すでに使い慣れている名前を使用しながら、SEAM のレルム名と DNS 名前空間のドメイン名を区別することができます。DNS を使用しない場合、または別の文字列を使用する場合は、任意の文字列を使用できます。ただし、構成プロセスがより複雑になります。レルム名を付けるときは、標準のインターネット命名構造に準拠することをお勧めします。

レルムの数

インストールするレルムの数は、次の要因によって異なります。

レルムの階層

複数のレルムを構成してレルム間認証を行う場合は、レルム間の接続方法を決定する必要があります。レルム間に階層関係を設定すると、関連付けたドメインに自動パスが作成されます。このとき、階層チェーン内のすべてのレルムが適切に構成されている必要があります。自動パスを利用すると、管理負荷を軽減することができます。ただし、ドメインのレベルが多い場合は、多くのトランザクションが発生するため、デフォルトのパスは使用しないことをお勧めします。

ドメイン間を直接接続することもできます。直接接続は、2 つの階層ドメイン間にレベルが多すぎる場合または階層関係が設定されていない場合に、使用します。直接接続は、使用するすべてのホストの /etc/krb5/krb5.conf ファイルに接続を定義する必要があります。このため、追加作業が必要になります。概要については、レルム を参照してください。複数のレルムを構成する手順については、レルム間認証の構成 を参照してください。

ホスト名のレルムへの割り当て

ホスト名のレルム名への割り当ては、krb5.conf ファイルの domain_realm セクションに定義します。これらの割り当ては、必要に応じてドメイン全体およびホスト単位に定義できます。詳細は、krb5.conf(4) のマニュアルページを参照してください。

クライアントとサービス主体の名前

SEAM を使用しているときは、DNS サービスを事前に構成して、すべてのホスト上で実行することを強くお勧めします。DNS を使用する場合は、システム全体で有効または無効にする必要があります。DNS が有効な場合、主体名には各ホストの完全指定のドメイン名 (FQDN) を含める必要があります。たとえば、ホスト名が boston、DNS ドメイン名が example.com、およびレルム名が EXAMPLE.COM の場合、ホストの主体名は host/boston.example.com@EXAMPLE.COM にする必要があります。このマニュアルの例では、各ホストの FQDN を使用しています。

ホストの FQDN を含む主体名は、/etc/resolv.conf ファイルの DNS ドメイン名を表す文字列と一致していることが重要です。SEAM では、主体に FQDN を入力するときに、DNS ドメイン名は小文字にする必要があります。DNS ドメイン名には大文字と小文字を使用できますが、ホスト主体を作成する場合は小文字だけを使用します。たとえば、DNS ドメイン名には、example.comExample.COM などの形式が使用できますが、ホストの主体名は、host/boston.example.com@EXAMPLE.COM でなければなりません。

SEAM は DNS サービスがなくても動作しますが、その場合、一部の主要な機能 (レルム間通信など) は動作しません。DNS を構成しない場合は、単純なホスト名がインスタンス名として使用することができます。この場合、主体名は host/boston@EXAMPLE.COM となります。DNS をあとで有効にした場合は、KDC データベースのすべてのホスト主体を削除して置換する必要があります。

KDC と管理サービス用のポート

デフォルトでは、ポート 88 とポート 750 を KDC が使用し、ポート 749 を KDC 管理デーモンが使用します。別のポート番号を使用することもできます。ただし、ポート番号を変更する場合は、各クライアントの /etc/services および /etc/krb5/krb5.conf ファイルを変更する必要があります。また、各 KDC の /etc/krb5/kdc.conf ファイルも更新する必要があります。

スレーブ KDC

スレーブ KDC は、マスター KDC と同様に、クライアントの資格を生成します。マスターが使用できなくなると、スレーブ KDC がバックアップとして使用されます。各レルムには、1 つ以上のスレーブ KDC が必要です。次の要因により、スレーブ KDC を追加する必要がある場合が考えられます。

スレーブ KDC の数に制限はありません。ただし、KDC データベースは、各サーバーに伝播する必要があります。このため、インストールした KDC サーバーが多くなるにつれて、レルム全体のデータ更新時間が長くなります。また、各スレーブには KDC データベースのコピーが保存されるため、スレーブが多くなるほど、セキュリティ違反の危険性が高くなります。

1 つまたは複数のスレーブ KDC をマスター KDC とスワップするように構成することができます。このように 1 つ以上のスレーブ KDC をシステムに事前に構成しておくと、マスター KDC になんらかの理由で障害が発生した場合でも、マスター KDC と簡単にスワップすることができます。 スワップ可能なスレーブ KDC の構成方法については、マスター KDC とスレーブ KDC のスワップ を参照してください。

データベースの伝播

マスター KDC に格納されているデータベースは、定期的にスレーブ KDC に伝播する必要があります。最初に解決しなければならない問題の 1 つは、スレーブ KDC の更新頻度です。すべてのクライアントに対する最新情報の伝播頻度を決定するときは、更新の完了に必要な時間を考慮する必要があります。データベースの伝播の詳細は、Kerberos データベースの管理 を参照してください。

1 つのレルムに多くの KDC が配置されている場合は、1 つまたは複数のスレーブからもデータを伝播すると、伝播プロセスを並行して行うことができます。この方法を利用すると、データの更新時間は少なくなりますが、レルムの管理は複雑になります。

クロックの同期

Kerberos 認証システムに参加するすべてのホストは、指定した最大時間内で内部クロックを同期化する必要があります。「クロックスキュー」と呼ばれるこの機能も、Kerberos セキュリティ検査の 1 つです。参加しているホスト間でクロックスキューを超過すると、要求が拒否されます。

すべてのクロックを同期化するときは、Network Time Protocol (NTP) ソフトウェアを使用します。詳細は、KDC と SEAM クライアントのクロックの同期化 を参照してください。クロックの同期化には、ほかにも方法があり、NTP は必須ではありません。任意の同期化形式を使用して、クロックスキューによるアクセス障害を回避してください。

オンラインヘルプ URL

SEAM のシステム管理ツールでは、オンラインヘルプ URL が使用されるため、「Help Contents」メニューが機能するように URL を適切に定義する必要があります。このマニュアルの HTML 版は、任意のサーバーにインストールできます。また、 http://docs.sun.com から任意のマニュアルを使用することもできます。

URL を定義するときは、このマニュアルの「主体とポリシーの管理」の「SEAM 管理ツール」を指すようにしてください。別の場所がより適切な場合は、別の HTML ページを選択することもできます。