目次
このマニュアルについて
第 1 章 iPlanet Web Server の基礎知識
第 2 章 iPlanet Web Server の管理
第 3 章 管理プリファレンスの設定
第 4 章 ユーザとグループの管理
第 5 章 サーバ セキュリティ
第 6 章 サーバ クラスタの管理
第 7 章 サーバのプリファレンスの設定
第 8 章 ログ ファイルの理解
第 9 章 SNMP によるサーバのモニタ
第 10 章 サーバの設定によるパフォーマンス チューニング
第 11 章 プログラムによるサーバの拡張
第 12 章 コンフィグレーション スタイルの操作
第 13 章 サーバのコンテンツ管理
第 14 章 サーバへのアクセスの制御
第 15 章 Web パブリッシングの設定
第 16 章 検索機能の使用
付録 A HTTP (HyperText Transfer Protocol)
付録 B ACL ファイルのシンタックス
付録 C 国際化 iPlanet Web Server
付録 D Microsoft FrontPage のサーバ拡張機能
付録 E iPlanet Web Server
用語集
索引
戻る 次へ 目次 索引 ブックシェルフ


第 5 章 サーバ セキュリティ

この章では、データを保護し、侵入者のアクセスを防ぎ、サーバへのアクセス権を持つ人を指定するために設計された SSL (Secure Sockets Layer) プロトコルおよび他の機能を有効にする方法について説明します。相互運用性および整合性を最大限に高めるため、業界標準およびパブリック プロトコルに基づいて構築された iPlanet Web Server は、すべての Netscape/iPlanet サーバのセキュリティ アーキテクチャを統合します。

この章を読む前に、まず公開キーの暗号化の基本概念を知っておく必要があります。 知っておくべき基本概念には、暗号化と復号、公開キーと秘密キー、デジタル証明書、SSL プロトコルなどがあります。 詳細については、『Netscape Consol によるサーバの管理』を参照してください。

この章には次の節があります。


iPlanet Web Server のセキュリティについて
iPlanet Web Server のセキュリティは、多数の相互関連または相互依存コンポーネントをベースにしています。これらのコンポーネントが連携して、承認された人だけがサーバにアクセスでき、パスワードや ID が危険にさらされず、ユーザ ID が認証できるようにします。

この節では、次の iPlanet Web Server セキュリティ コンポーネントの概要について説明します。

暗号化
暗号化とは、本来の受信者以外には理解できないように情報を変換する処理です。 復号とは、暗号化された情報を理解できるように変換し直す処理です。 符号化方式とも呼ばれる暗号化アルゴリズムとは、暗号化や復号に使う数学的機能です。iPlanet Web Server 4.1 は符号化方式のさまざまな ciphers.type に対応しています。

サーバの機密情報を保護するには、暗号化プロセスだけでは不十分です。情報が暗号化され、他のサーバに転送されると、符号化方式キーと呼ばれる番号を使って暗号化や暗号を解読する必要があります。暗号化プロセスでは、公開キーと秘密キーの 2 つのキーを使って暗号化および暗号解読を行います。公開キーは証明書の一部として発行され、それに関連付けられている秘密キーだけが保護されます (キーおよび証明書の詳細については、『Netscape Console によるサーバの管理』を参照)。 結果として、ある公開キーで暗号化された情報は、それに関連付けられている秘密キーでのみ解読することができます。

SSL プロトコル
すべての Netscape/iPlanet 4.x サーバは、暗号化通信に使う SSL プロトコルと、暗号化操作を実行するハードウェアまたはソフトウェア モジュールとの通信に使う PKCS#11 API をサポートしています。 暗号化や他の暗号化操作を有効にするには、Administration Server を SSL 用に設定する必要があります。

SSL プロトコルでは、サーバとクライアント間の相互認証、証明書の送信、セッション キーの確立などの作業におけるさまざまな符号化方式の使用がサポートされています。クライアントとサーバは、サポートしている SSL のバージョン、許容可能な暗号化強度に関する企業方針、政府による SSL 対応ソフトウェアの輸出規制などの要素に応じて、さまざまな符号化方式をサポートすることができます。SSL プロトコルの機能の中でも SSL ハンドシェーク プロトコルは、サーバとクライアント間の相互認証、証明書の送信、およびセッション キーの確立に使う符号化方式を取り決める方法を決定します。

iPlanet Web Server の SSL を使用可能にする方法については、 SSL (Secure Sockets Layer) の設定を参照してください。

FORTEZZA 暗号化
FORTEZZA は、要注意ではあるが機密扱いではない情報を管理するために米国政府機関が使っている暗号化システムです。FORTEZZA を使用できるようにサーバを設定するには、Administration Server を使います。FORTEZZA ハードウェアを取り付ける方法については、カード リーダに付属のマニュアルを参照してください。

FORTEZZA 暗号化のサポートにより、Web サーバは次の暗号化タスクを実行することができます。

  • FORTEZZA 符号化方式を使った SSL 接続
  • FORTEZZA カード リーダを使った証明書およびキーの保存
  • FORTEZZA 危殆化キー リスト (CKL) および破棄証明書リスト (CRL) のインポートおよび使用
  • FORTEZZA 符号化方式であらかじめ暗号化されたファイルの提供

ノート iPlanet Web Server, Enterprise Edition 4.1 では、Windows NT、Solaris、および HPUX プラットフォーム用の FORTEZZA がサポートされています。

FORTEZZA 符号化方式規格は、秘密キーを安全に保管するためのハードウェア スマートカード規格です。FORTEZZA 処理は外部の PKCS#11 ライブラリによってサポートされています。このライブラリは Web サーバ セキュリティ モジュール データベースに追加されます。このライブラリは、外部ハードウェア (カード リーダ) を持つすべてのインターフェイスとすべての暗号化機能に対応しています。iPlanet Web Server、Enterprise Edition では、FORTEZZA は他の PKCS#11 ライブラリと同様にサポートされています。

セキュリティ モジュール データベース (secmod.db) を追加すると、サーバは FORTEZZA モジュールを他の PKCS#11 モジュールと同様に取り扱います。FORTEZZA モジュールは、FORTEZZA 符号化方式に対する SSL サービスのデフォルト プロバイダとしてフラグが付けられます。 その後、サーバによって処理される FORTEZZA リクエストはすべてライブラリに移管されます (これは NSS ライブラリを呼び出すことによって行われますが、Web サーバ コード内で FORTEZZA ライブラリ内の関数が実際に呼び出されるわけではありません)。

ランタイム レイヤはサーバとライブラリのみです (PKCS#11 モジュールと同じです)。

あらかじめ暗号化されたファイルのサポートは Web サーバ プラグインとして動作します。特定の拡張子 (.enc) を持つファイルのリクエストはプラグインに転送され、プラグインは NSS ライブラリ内の関数を呼び出して、暗号化されたファイルをストリームとしてクライアントに返送します (FORTEZZA ライブラリを実際に呼び出す必要はありません)。一方、クライアントはデータを復号化します (ファイルを暗号化した秘密キーに対応する公開キーを持つ証明書をクライアントが持っている場合)。

全体的な設定は、Administration Server (あるいは、magnus.conf または obj.conf コンフィグレーション ファイル内の対応するエントリ) によって管理されます。このユーザ インターフェイスを使うと、実行時に使う証明書を選択したり、FORTEZZA カードだけでなくデフォルト キー データベースにもサーバがログインできるように複数のパスワードを収集したり、危殆化キー リスト (CKL)/破棄証明書リスト (CRL) の追加をユーザに許可したりすることができます。

CKL が追加または更新されると、証明書データベースが更新されて危殆化キーがサーバに知らされます。NSS ライブラリは、FORTEZZA クライアント リクエストと危殆化キーを 1 つずつ比較して検査し、クライアント キーが危殆化キーでないことを確認します。

FORTEZZA モジュールには、次の規格およびモジュールとの相互運用性があります。

  • FORTEZZA 暗号化規格。FORTEZZA モジュールにより、FORTEZZA 暗号化、認証、およびキー確認を Web サーバで使用することができます。
  • SSL (Secure Sockets Layer)。FORTEZZA 接続では SSL バージョン 3 が使用されます。
  • NSS ライブラリ。現在は NSS 2.72 が使用されています。Web サーバは NSS 関数を呼び出し、NSS 関数は FORTEZZA ライブラリを呼び出します。
  • PKCS#11 Web サーバ インフラストラクチャ。FORTEZZA モジュールは、既存の PKCS#11 モジュール管理方法を使って追加および設定されます。
  • NSAPI。FORTEZZA モジュールは NSAPI プラグインを使って、あらかじめ暗号化されたファイルを処理します。
  • Modutilsecmod.db の更新と PKCS#11 モジュールの追加および削除を行うためのユーティリティ。

FORTEZZA 暗号化については、『Netscape Console によるサーバの管理』を参 照してください。

FIPS-140 準拠
iPlanet Web Server を Federal Information Processing Standards (FIPS)-140 準拠に設定することができます。サーバを FIPS-140 に準拠するように設定するには、暗号化プリファレンスで次の 2 つの符号化方式をオンにする必要があります。

  • 56 ビット暗号化の (FIPS) DES および SHA-1 メッセージ認証
  • 168 ビット暗号化の (FIPS) トリプル DES と SHA-1 メッセージ認証
[Preferences] タブおよび [Encryption Preferences] リンクをクリックすると、Administration Server での暗号化プリファレンスを設定することができます。また、 [Preferences] タブおよび [Encryption Preferences] リンクをクリックして、サーバ マネージャ内で iPlanet Web Server のインスタンスの暗号化プリファレンスを設定することもできます。詳細については、「Encryption Preferences」ページを参照してください。

証明書
インターネットや、さまざまなエクストラネット、イントラネットでは、 証明書を使って ID が確認されます。証明書には、個人の名前、会社、その他のエンティティを指定するデジタル データがあります。また、証明書は、証明書内の公開キーがそのエンティティに属していることを証明します。

証明書は、証明機関 (または CA とも呼ばれる) によって発行され、デジタル署名されます。CA は、インターネット上で証明書を販売している会社や、ユーザの企業のイントラネットやエクストラネットの証明書の発行を担当する部門です。 ID を確認する手段としてどの CA を信頼するかはユーザの判断に任されます。

証明書には公開キーや証明書によって証明されるエンティティの名前だけでなく、有効期限、証明書の発行元である CA の名前、発行元 CA のデジタル署名などが収められています。証明書の内容や形式については、『Netscape Console によるサーバの管理』を参照してください。

クライアントおよびサーバの認証
認証とは、ID を確認するプロセスです。ネットワーク通信では、認証は第三者による、あるエンティティの証明を意味します。証明書は、認証に対応する方法の 1 つです。 クライアント認証は、サーバによるクライアントの証明を意味します (つまり、クライアント ソフトウェアを使っていると考えられる人の証明です)。 サーバ認証とは、クライアントによるサーバの証明を意味します (つまり、特定のネットワーク アドレスにあるサーバに対して責任を持つと考えられる組織の証明です)。

クライアントとサーバの両方が証明書を持つことができます。また、複数の ID を持っている人がいるのと同様に、クライアントにも複数の証明書があることがあります。たとえば、news.mozilla.com という Netscape Collabra Server で、ニュースグループのディスカッションに参加するとします。このとき、このサイトが本当に news.mozilla.com であることを、CertSafe という名前の会社が証明しているとします。このような場合、CertSafe の判定を信頼できれば、news.mozilla.com の主張を信頼できることになります。

逆に、社内の人事課のサーバを管理する担当者を例に挙げます。この場合、この担当者は、サーバのアクセスコントロール機能とクライアント認証を一緒に使って、人事課の従業員だけが特定のディレクトリにアクセスできるようにすることができます。アクセス コントロールの詳細については、 アクセス コントロールとは?を参照してください。

iPlanet Web Server が証明書を使ってユーザを認証する方法
Netscape/iPlanet サーバは、ユーザを認証するためのクライアント証明書の使用をサポートしています。サーバによるクライアント証明書の基本的な使用法は次のとおりです。

  • サーバは、クライアント証明書内の CA が、Administration Server 内にリストされた認証済みの CAに一致するかどうかを確認します。これは、そのクライアントが、サーバが信頼する CA からの有効な証明書を持っていることを確認します (クライアントが Netscape Navigator または Netscape Communicator であり証明書の期限が切れている場合は、期限切れの証明書を送信する前に、クライアントはユーザに警告します。ほとんどの Netscape/iPlanet サーバはエラーを記録して証明書を拒否し、クライアントにメッセージを返します)。
  • サーバにより、クライアント証明書からさらに情報が収集され、その情報が LDAP ディレクトリ内のユーザ エントリと照合されます。 このプロセスにより、クライアントの証明書が有効であり、またこのクライアントのエントリが LDAP ディレクトリ内にあることが確認されます。このプロセスは、クライアント証明書が LDAP ディレクトリ内にあるものと一致することを確認することもできます。

ノート クライアント証明書を使うには、Netscape/iPlanet サーバの SSL がオンになっている必要があり、Administration Server はクライアントに証明書を発行した CA を認証する必要があります。CA の認証方法については、証明書の管理を参照してください。

認証済みの CA からのクライアント証明書がないクライアントを拒否するように Web サーバを設定することができます。これは、すべてのリクエストが SSL コネクションを通過し、またそれらのリクエストに認証済みの CA からの証明書が不可欠なアクセス コントロールとは異なります。 認証済み CA の設定については、『Netscape Console によるサーバの管理』を参照してください。

iPlanet Web Server を SSL 用に設定する
この節では、iPlanet Web Server でクライアント証明書を機能させる方法について説明します。この章で説明がある手順を実行し終えると、サーバ上の制限付きのエリアにアクセスしようとするユーザは、有効な SSL クライアント証明書を提示しなければならないようになります。ユーザが提示する証明書は、その発行時に LDAP ディレクトリに発行された証明書と一致する必要があります。

この章では、iPlanet Web Server の保護に必要なセキュリティ コンポーネントのセットアップ、インストール、管理を中心に説明します。ご使用の iPlanet Web Server のSSL プロトコルをアクティブにするには、次の節で説明する手順を実行する必要があります。


新しいサーバ インスタンスの作成
iPlanet Web Server で SSL を使うには、SSL サーバにする既存の iPlanet Web Server 4.x があるか、または SSL サーバにする新しいインスタンスを作成する必要があります。 既存の iPlanet Web Server のインスタンスを SSL サーバに変換する場合は、この節は省略してください。変換しない場合は、この節で説明がある手順に従って iPlanet Web Server の新しいインスタンスを作成してから、この章の後半にある手順に従ってその新しいインスタンスに SSL とクライアント認証を設定します。

サーバ インスタンスを追加するには、次の手順を実行します。

  1. Administration Server にアクセスし、[Servers] タブを選択します。
  2. [Add Server] リンク
  3. をクリックします。
  4. 指定されたフィールドに希望の情報を入力します。
  5. サーバでの IP アドレスの解決方法に対応するラジオ ボタンをクリックします。
  6. [OK] をクリックします。
詳細については、 「Add Server」ページを参照してください。


証明書認証データベースの作成
証明書データベースは、ローカル ホストにインストールされた、キー ペアおよび証明書のデータベースです。内部トークンを使う場合は、キーおよび証明書をインストールしたデータベースが証明書データベースになります。iPlanet Web Server 4.x では、各サーバ インスタンス(Administration Server を含む) には、それぞれ 認証データベースと呼ばれる証明書/キーのペアがあります。

キー ペア ファイルには、SSL 暗号化に使う公開キーと秘密キーの両方のキーがあります。証明書を要求およびインストールする際に、キー ペア ファイルを使います。キー ペア ファイルは、次のディレクトリに暗号化された状態で保存されます。

キーを作成する場合に、後で証明書を要求するときや暗号化通信を使うサーバを起動するときに使うパスワードを指定します。

証明書認証データベースを作成するには、次の手順を実行します。

  1. Administration Server にアクセスし、[Security] タブを選択します。
  2. [Database Password] にパスワードを入力します。
  3. [Password] にパスワードを再度入力します。
  4. [OK] をクリックします。
データベースが存在しない場合は、iPlanet Web Server によって適切なキーと証明書のデータベース ファイルが作成され、alias/ ディレクトリに保存されます (データベース ファイルが作成されないと、iPlanet Web Server により、エラー メッセージが表示されます)。

詳細については、 「Create a Trust Database」ページを参照してください。


証明書の要求
認証データベースを生成したら、サーバ SSL 証明書を取得するために、 PKCS#10 証明書リクエストを作成し、それを証明機関に提出する必要があります。 特定のサーバ インスタンスの SSL を有効にするには、そのサーバのサーバ SSL 証明書を取得し、次にそのサーバを設定して、クライアント証明書を要求するようにします。さらに、オプションで、ユーザのクライアント証明書と、CA が LDAP ディレクトリに発行した情報を照合するようにします。

ユーザの組織内に、証明書発行のための内部 CA がある場合は、そこに証明書を要求します。 CA を販売している業者から証明書を購入する場合は、CA を選択し、その業者が必要とする情報のフォーマットを入手します (CA が必要とする情報の例については、 必要なCA 情報を参照してください)。

ノート 商用 CA に証明書を要求しても、必ず証明書が得られるとは限りません。ま た、多数の CA が、証明書を発行する前に ID の証明を要求します。証明書の 承認にかかる時間は、 1 日から2 ヶ月の間です。 CA に必要な情報をすべて迅 速に提供するのはユーザの責任です。

証明書を要求するには、CA が必要とする情報を確認し、次の手順を実行します。

  1. Administration Server にアクセスし、[Security] タブを選択します。
  2. [Request Certificate] リンクをクリックします。
  3. iPlanet Web Server により表示されるフォームで、これが新しい証明書なのか、または更新であるのかを指定します。 多くの証明書は、6 ヶ月、1年といった設定された期間後に、有効期限が切れます。CA によっては、自動的に更新された証明書を送信するものもあります。
  4. 次の手順を実行して、証明書のリクエストの提出方法を指定します。
    1. CA が電子メールでのリクエスト受信を指定している場合は、[CA Email] をオンにし、電子メール アドレスを入力します。CA のリストが必要な場合は、[List of available certificate authorities] をクリックします。
    2. Netscape Certificate Server を使っている内部 CA からの証明書を要求する場合は、[CA URL] をクリックし、証明書サーバの URL を入力します。この URL は、証明書リクエストを処理する証明書サーバのプログラムを指しているはずです。 URL の例は、 https://CA.mozilla.com:444/cms です。

  5. ドロップダウンリストから、証明書を要求する際に使うキー ペア ファイルの暗号化モジュールを選択します。
  6. キー ペア ファイルのパスワードを入力します。これは、 証明書認証データベースの作成で認証データベースを作成したときに指定したパスワードと同じです。サーバはこのパスワードを使って秘密キーを取得し、CA へのメッセージを暗号化します。 次にサーバは、 公開キーと暗号化されたメッセージの両方を CA に送信します。CA はその公開キーを使ってメッセージを解読します。
  7. ID 情報を入力します。この情報のフォーマットは、CA により異なります。これらのフィールドの概要については、 必要なCA 情報を参照してください。 これらの情報のほとんどは、証明書の更新時には通常必要ありません。
  8. ここまでの作業を再確認します。情報が正確であるほど、証明書が早く承認される確立が高くなります。
  9. 情報が正確かどうかを確認したら、[OK] をクリックします。リクエストが証明書サーバに送信される場合は、リクエストが送信される前にフォームの情報を確認するように指示があります。 情報を確認してから、[OK] をクリックして証明書サーバにリクエストを送信します。
詳細については、 「Request a Server Certificate」ページを参照してください。

サーバにより、ユーザの情報が収められた証明書リクエストが生成されます。このリクエストには、ユーザの秘密キーで作成されたデジタル署名があります。 CA はこのデジタル署名を使って、リクエストがユーザのサーバ マシンから CA に届くまでのルーティング中に操作されなかったかどうかを確認します。リクエストが操作されていた場合は、通常 CA はユーザに直接電話で連絡します。

リクエストを電子メールで送信することを選択した場合、サーバによりリクエストが入った電子メール メッセージが作成され、CA に送信されます。一般に証明書は電子メールで送信されます。証明書サーバへの URL を代わりに指定した場合は、その URL を使ってリクエストが送信されます。 返信が電子メールで来るか、それ以外の方法で来るかは、CA によって異なります。

CA が証明書の発行に同意すると、その通知が来ます (ほとんどの場合、CA は電子メールで証明書を送信します。ユーザの組織が証明書サーバを使っている場合は、証明書サーバのフォームを使って証明書を検索できることがあります)。

証明書を受け取ったら、それをインストールすることができます。待っている間は、SSL を使わずにサーバを使うことができます。

必要なCA 情報
商用 CA、内部 CA を問わず、サーバ証明書を要求する場合は必ず、次の情報を提示する必要があります。

  • Common Name は、DNS 照合で使われる完全修飾ホスト名である必要があります (たとえば、www.iPlanet.com など)。これはブラウザがユーザのサイトの接続に使う URL のホスト名です。 この 2 つの名前が同一であることは重要です。一致しないと、証明書名がサイト名と一致しないという通知がクライアントに行き、人々はユーザの証明書の認証に対し疑いを持つようになります。 しかし、CA によっては別の情報を要求する場合もあるため、CA に連絡することが重要です。Common Name には、ワイルドカードは使えません。
  • 電子メール アドレスは、ユーザのビジネス上の電子メール アドレスです。このアドレスはユーザと CA の間の連絡に使われます。
  • 組織は、ユーザの会社、教育機関、合名会社などの公式の法律上の名前ですほとんどの CA は、この情報を法的文書 (ビジネス ライセンスの写しなど)で証明するように要求します。
  • 組織単位は、会社内の組織を記述するオプションのフィールドです。このフィールドを非公式の会社名 (株式会社、コーポレーション などが付いていない) に使うこともできます。
  • 地域性は、組織のある市、国などを説明するオプションのフィールドです。
  • 都道府県名は、通常は必須フィールドですが、CA によってはオプションであることもあります。ほとんどの CA は省略形を受け付けません。いずれにしても、問い合わせて確認します。
  • は、国名を 2 文字の省略形 (ISO 形式) で入力する必須フィールドです。 アメリカ合衆国の国コードは US です。
これらのすべての情報は、証明書のサブジェクトを一意に識別する、識別名 (DN) と呼ばれる一連の属性値ペアとして組み合わされます。

商用 CA から証明書を購入する場合は、証明書を発行する前に CA が必要とする情報をCA に問い合わせる必要があります。ほとんどの CA はID の証明を要求します。たとえば、会社名、サーバ管理権限を持つ人の名前を確認し、これらの情報を提供した人がその情報を使う法的権限を持っているかどうかも尋ねられることがあります。

商用 CA によっては、より詳細な ID の証明を提出したベンダーや個人に対し、より詳細で正確な証明書を発行するところもあります。たとえば、www.mozilla.com コンピュータの合法的な管理者であることを証明するだけでなく、この企業に 過去 10 年間の営業実績があり、未解決の訴訟問題などがない会社であることを証明する証明書を購入できることがあります。ただし、一般にこのような証明書は標準のものに比べて高額になります。


証明書と証明書リストのインストールと管理
この節には次のトピックがあります。

証明書のインストール
インストールできる証明書は 2 種類あります。

  • クライアントに提示する、お使いのサーバの証明書
  • 証明書チェーン内で使う CA の証明書
これらの証明書は、次の手順でインストールします。

CA から送信される証明書は、正当な受取人の公開キーで暗号化されているため、正当な受信者のみが解読することができます。 証明書をインストールすると、サーバはユーザが指定するキー ペア ファイル パスワードを使って証明書を解読します。 電子メールをサーバがアクセスできる場所に保存するか、またはここで説明するように、電子メールの本文をコピーして、[Install Certificate] フォームに貼り付ける準備をします。

証明書チェーンとは、連続的な証明機関によって署名された一連の階層的証明書です。CA 証明書は、証明機関 (CA) を証明するもので、その機関によって発行される証明書の署名に使われ、次に CA 証明書は、親 CA の CA 証明書によって署名されることができ、というようにルート CA まで連続します。

ノート 証明書チェーンで使う CA 証明書は、ユーザ自身の証明書をインストールする プロセスと同じプロセスでインストールします。 CA が自動的に証明書を送信 しない場合は、証明書を要求します。しかし、ほとんどの CA は、受取人の証 明書を電子メールで送信する際に一緒に送信します。この場合、証明書をイン ストールする際に、サーバにより両方の証明書がインストールされます。証明 書チェーンの詳細については、『Netscape Console によるサーバの管理』の付録 D「Introduction to Public-Key Cryptography」を参照してください。

証明書をインストールしてそれをエイリアスと関連付けるには、次の手順を実行します。

  1. Administration Server にアクセスし、[Security] タブを選択します。
  2. [Install Certificate] リンクをクリックします。
  3. インストールする証明書のタイプをオンにします。
  4. 証明書がチェーン用の場合は、証明書に名前を付けます。iPlanet Web Server により、この名前は [Manage Certificates] リストに表示されます。この名前は証明書を説明するものにしてください。名前にスペースを挿入することもできます。たとえば、"United States Postal Service CA" はCA の名前で、"VeriSign Class 2 Primary CA" は CA と証明書のタイプの両方を説明します。 証明書がこのサーバ用の場合は、Administration Server により、"Server-Cert" という名前が使われます。
  5. 保存した電子メールへの絶対パスを入力するか、[Message text (with headers)] というフィールドに電子メールのテキストを貼り付けます。テキストをコピーして貼り付ける場合は、"Begin Certificate" と "End Certificate" を最初と最後のハイフンと一緒に付け加えるのを忘れないようにします。また、ファイルかテキストのいずれかの該当するラジオ ボタンをオンにします。
  6. [OK] をクリックします。
  7. [Add] をクリックします。
インストールした証明書がユーザ自身の証明書の場合は、これでサーバの SSL を有効にできるようになります。SSL を有効にするには、SSL の有効化を参照してください。

証明書の管理
サーバにインストールされたすべての証明書の認証設定を、表示、削除、編集することができます。この証明書には、ユーザ自身の証明書のほかに CA からの証明書も含まれます。

この証明書のリストを管理するには、次の手順を実行します。

  1. Administration Server にアクセスし、[Security] タブを選択します。
  2. [Manage Certificates] リンクをクリックします。
  3. 証明書ファイルのエイリアスを選択し、[OK] をクリックします。
  4. 証明書の詳細を表示するには、証明書のリンクをクリックします。その証明書に関する情報が表示されたウィンドウが表示されます。図 5.1 はサンプルです。

  5. 図 5.1    所有者と発行者の情報も含まれる証明書

  6. CA を認証するには、 [Trust] をクリックします。CA が既に認証済みの場合は、[Do Not Trust] をクリックすることもできます。デフォルト設定では、CA は認証されていません。
詳細については、「Manage Server Certificates」ページを参照してください。

認証設定は、証明書がクライアント証明書の署名者として認証されているかどうかを示しています (たとえば、CA がサーバ証明書を発行した後に、ユーザが CA を認証する必要はありません) 。

証明書リストの管理
破棄証明書リスト (CRL) および危殆化キー リスト (CKL) の目的は、クライアントまたはサーバのユーザが認証してはならない証明書およびキーを知らせることです。ユーザの異動や退職などによって、証明書の期限が切れる前に証明書内のデータが変更されると、その証明書は破棄され、そのデータが CRL に載せられます。キーが不正に変更されたり危殆化されたりすると、そのキーとデータが CKL に載せられます。CRL と CKL は両方とも CA によって作成され、定期的に更新されます。

この節には次のトピックがあります。

CRL または CKL の取得
証明機関 (CA) から CRL または CKL を取得するには、次の手順を実行します。

  1. ブラウザを使って CA の Web サイトに移動します。正確な URL については、CA 管理者に問い合わせてください。
  2. CA の指示に従って、CRL または CKL をローカル ディレクトリにダウンロードします。
CRL ファイルまたは CKL ファイルをローカル ディレクトリに保存した後、そのファイルから認証データベースに情報を追加することができます。

認証データベースへの CRL または CKL の追加
認証データベースに CRL または CKL を追加するには、次の手順を実行します。

  1. Administration Server にアクセスし、[Security] タブを選択します。
  2. [Install CRL/CKLs] リンクをクリックします。
  3. [Certificate Revocation List] または [Compromised Key List][File contains] ラジオ ボタンをクリックします。
  4. [The CRL/CKL is in this file] フィールドに、関連ファイルへの絶対パスを入力します。
  5. [OK] をクリックします。データベース内にリストが既に存在する場合は、ここで指定したリストが既存のリストに置き換わります。
CRL の管理
CRL を管理するには、次の手順を実行します。

  1. Administration Server にアクセスし、[Security] タブを選択します。
  2. [Manage CRLs] リンクをクリックします。
  3. 詳細とオプションを表示するには、希望の CRL をクリックします。
  4. CRL をクリックして選択します。
  5. 認証データベースに CRL を追加するには、[Add] をクリックします。
認証データベースから CRL を削除するには、[View] をクリックします。次に [Certificate] ウィンドウで [Delete] をクリックします。


SSL (Secure Sockets Layer) の使用
キー ペア ファイルの生成が終わり、証明書をインストールしたら、ユーザの Administration Server または他の iPlanet Web Server の SSL を有効にすることができます。

この節には次のトピックがあります。

SSL の有効化
iPlanet Web Server の SSL を有効にするには、SSL の起動で説明する手順を実行します。

SSL が有効な iPlanet Web Administration Server へのURL は、http ではなくて https になります。SSL が有効なサーバ上の文書を指す URL は次のフォーマットとなります。

たとえば、https://admin.mozilla.com:443 となります。デフォルトの保護された http ポート番号 (443) を使うと、URL でポート番号を使う必要はありません。

符号化方式の指定
符号化方式とは、暗号化に使うアルゴリズムです。符号化方式にはさまざまなセキュリティ レベル、強度のレベルがあります。一般に、暗号処理中に符号によって使われるビット数が多いほど、データの解読が難しくなります。

サーバとの SSL コネクションを開始するとき、クライアントは、情報の暗号化に使う符号化方式をサーバに通知します。両方向の暗号化プロセスにおいては常に、送信側と受信側で同じ符号化方式を使う必要があります。 何種類もの符号化方式があるため、サーバは最も頻繁に使われる符号化方式を使用できる必要があります。

SSL 2 および SSL 3 プロトコルから符号化方式を選択することができます。ただし、バージョン 2 以降でプロトコルにセキュリティとパフォーマンスを向上する改良が行われたため、SSL 3 を使用できないクライアントをサービスする必要がある場合を除き、SSL 2 は使わないようにします。SSL 2 符号化方式でクライアント証明書が機能する保証はありません。サーバが使用できる符号化方式を指定するには、リスト内で該当項目をオンにします。特定の符号化方式を使用できない理由がない限り、すべてをオンにします。

すべての符号化方式を有効にしない理由の 1 つは、最適ではない暗号化との SSL コネクションを防ぐためです。

警告 [No Encryption, only MD5 message authentication] チェックボックスをオンにしな くてもかまいませんが、クライアント サイドで他の符号化方式を使用できな い場合、サーバによりこのオプションが使われ、暗号化は行われません。

特定の符号化方式については、『Netscape Console によるサーバの管理』を参照 してください。

セキュリティ(SSL) プリファレンスの設定
すべてのサーバ上で SSL 暗号化を使うようにプリファレンスを設定することができます。iPlanet Web Server の SSL プリファレンスを設定するには、暗号化のプリファレンスの設定を参照してください。

PKCS#11モジュールの追加
iPlanet Web Server は、SSL および PKCS#11 モジュール間の通信に使うインターフェイスを定義する Public Key Cryptography Standard (PKCS) #11 をサポートしています。PKCS#11 モジュールは、SSL ハードウェア アクセラレータへの標準ベースの接続に使われます。PKCS#11 モジュールは、.jar ファイルまたはオブジェクト ファイルのフォームでインポートすることができます。

PKCS#11 モジュールのインストール ガイドライン
外部 PKCS#11 モジュールをインストールしても、まだ内部 (ソフトウェア) モジュールを使って認証データベースを作成する必要があります。 PKCS#11 および SSL コードは、デフォルトの証明書とキーのデータベースに依存します。

[Security] タブの [Create Database] リンクを使って認証データベースを作成しないと、外部 PKCS#11 モジュールの証明書を要求またはインストールする際に、モジュールが自動的に 1 つ作成されます。しかし、モジュールが自動的に作成されると、パスワードがなく、アクセスすることができません。 これは、外部モジュールは機能し続けるが、内部 PKCS#11 モジュールを使ってサーバ証明書を作成したりインストールすることができない、ということを意味します。

参考として、たとえば、パスワードなしのデフォルト データベースを自動的に作成して、後で内部 PKCS#11 モジュールを使う場合は、既存のデータベース ファイルを削除することができます。

たとえば、次のディレクトリにインストールされた secure.example.com という名前のサーバの場合、

ファイルは次のようになります。

既存のデータベースを削除したら、[Security] タブの [Create Database] リンクを使って、データベースを再作成します。

サーバの証明書を外部 PKCS#11 モジュール (たとえば、ハードウェア アクセラレータなど) にインストールすると、ユーザが手作業で magnus.conf を編集しない限り、サーバはその証明書を使って起動できなくなります。

サーバは常に "Server-Cert" という名前の証明書で起動しようとしますが、外部 PKCS#11 モジュール内の証明書には、その識別子内にモジュールのトークン名が含まれています。たとえば、"smartcard0" という名前の外部スマートカード リーダーにインストールされたサーバ証明書は、"smartcard0:Server-Cert" という名前になります。

サーバをその証明書で起動させるには、magnus.conf を編集して、次の行をファイル内のどこかに追加する必要があります。

$TOKENNAME に使う値を探すには、サーバの [Security] タブに移動し、[Manage Certificates] リンクを選択します。 Server-Cert が保存された外部モジュールにログ インすると、その証明書が $TOKENNAME:$NICKNAME フォームのリストに表示されています。

PKCS#11 モジュールをインポートするには
PKCS#11 モジュールをインポートするには、次の手順を実行します。

  1. Administration Server にアクセスし、[Security] タブを選択します。
  2. [Add PKCS#11 Module] リンクをクリックします。
  3. [Path to Jar File] に .jar ファイルのパスを入力します。
  4. [OK] をクリックします。
PKCS#11 の使用法については、 「Install a New PKCS#11 Module」ページを参照してください。

FORTEZZA PKCS#11 モジュールの追加
このライブラリは、サーバ サイドで唯一自動的に組み込まれます。このライブラリは他の PKCS#11 ライブラリと同様に組み込まれるため、サーバはこのライブラリを「自由に」使用することができます。ユーザは、FORTEZZA ライブラリに FORTEZZA カード リーダ用ドライバが確実に組み込まれるように、オフラインでさらに組み込み作業を行う必要がある場合があります。

ライブラリをインストールした後は、FORTEZZA 証明書 (証明書付きのカード) を取得する必要があります。

ノート このライブラリは、NSS ライブラリがこれを FORTEZZA 暗号化のデフォルト サービス プロバイダとして認識できるように、-ciphers FORTEZZA を使ってインストールする必要があります。

iPlanet Web Server は、FORTEZZA 符号化方式を有効にし、使用するサーバの FORTEZZA カードから証明書を選択し、危殆化キー リスト (CKL) をインストールするときに使います。CKL は、破棄されたキー要素の現在のリストです。FORTEZZA 符号化方式を使うには、クライアントと 4.x サーバの両方で証明書データベースに CKL を読み込む必要があります。

FORTEZZA 証明書と RSA 証明書を使うサーバを実行することができます。明示的に組み込む必要はありません。ユーザは、サーバ証明書として使う証明書を 2 つ以上選択することができます。接続時に、NSS ライブラリは SSL ハンドシェーク時のクライアント接続に適した証明書を選択します。

あらかじめ暗号化されたファイルのサポートを使う場合は、プラグインを読み込むように obj.conf を修正する必要があります。

ノート クライアントとサーバの両方で FORTEZZA 符号化方式を有効した場合は、通信に共通の符号化方式を FORTEZZA にする必要があります。これは、クライアント上で [Page Info] を使って確認することができます。これ以外の場合、サーバの動作を変更する必要はありません。

FORTEZZA 暗号化については、『Netscape Console によるサーバの管理』を参 照してください。

SSL コンフィグレーション ファイル ディレクティブの使用
SSL が有効なサーバをインストールすると、magnus.conf ファイル(サーバのメインのコンフィグレーション ファイル)にディレクティブ エントリが作成されます。これらのディレクティブについて、後続の節で簡単に説明します。

Security
Security は、サーバに暗号化 (SSL バージョン 2 または 3、またはその両方) が有効になっているか、無効になっているかを知らせます。

シンタックス
Security value

value は、SSL (Secure Sockets Layer) がオンかオフかを指定します。SSL を有効にするには、パラメータを on に、SSL を無効にするには off にします。

Security がオンに設定されていて、SSL2 と SSL3 の両方が有効になっている場合は、サーバは最初に SSL3 暗号化を使います。これに失敗すると、SSL2 暗号化を使います。デフォルトでは、 Security はオフになっています。

SSL2
SSL2 ディレクティブは、サーバに SSL (Secure Sockets Layer) バージョン 2 暗号化が有効になっているか無効になっているかを知らせます。 Security ディレクティブは、SSL2 ディレクティブよりも優先されるため、SSL2 暗号化が有効で、Security ディレクティブがオフに設定されている場合は、SSL2 が無効になっているかのように扱われます。

シンタックス
SSL2 value

value は、SSL バージョン 2 が有効になっているか無効になっているかを指定します。値パラメータをon に設定して SSL 2 を有効にし、off に設定して SSL 2 を無効にします。 デフォルトでは、 security はオフになっています。

SSL3
SSL3 ディレクティブは、サーバに SSL (Secure Sockets Layer) バージョン 3 暗号化が有効になっているか無効になっているかを知らせます。Security ディレクティブは、SSL3 ディレクティブよりも優先されるため、SSL3 セキュリティが有効で、Security ディレクティブがオフに設定されている場合は、SSL3 が無効になっているかのように扱われます。

シンタックス
SSL3 value

value は、SSL バージョン 3 が有効になっているか無効になっているかを指定します。値パラメータをon に設定して SSL 3を有効にし、off に設定して SSL 3を無効にします。 デフォルトでは、 security はオフになっています。

Ciphers
Ciphers ディレクティブは、サーバ用に有効になっている符号化方式を指定します。

シンタックス
Ciphers +rc4,+rc4export,+rc2,+rc2export,+des,+desede3

" +" は、符号化方式が有効であることを示し、 "-" は符号化方式が無効であることを示します。名前の一部に export がある符号化方式は、強度が 40 ビット以下です。

SSL3Ciphers
SSL3Ciphers ディレクティブは、ユーザのサーバ用に有効になっている SSL 3 符号化方式を指定します。

シンタックス
SSL3Ciphers
+fortezza,+fortezza_null_md5,+rsa_rc4_128_md5,+rsa_3des_s ha,+rsa_des_sha,+rsa_rc4_40_md5,+rsa_rc2_40_md5,rsa_null_ md5,+rsa_des_56_sha,+rsa_rc4_56_sha

"+" は、符号化方式が有効であることを示し、 "-" は符号化方式が無効であることを示します。名前の一部に 40 がある符号化方式は 40 ビットです。

SSL3SessionTimeout
SSL3SessionTimeout ディレクティブは、SSL3 セッションのキャッシュを制御します。

シンタックス
SSL3SessionTimeout seconds

seconds は、キャッシュされた SSL3 セッションが無効になるまでの秒数です。デフォルト値は 86400 (24 時間) です。SSL3SessionTimeout ディレクティブが指定される場合、秒数値は、5 から86400 秒までの間に黙示的に制限されます。

SSLCacheEntries
キャッシュ可能な SSL セッション数を指定します。

SSLClientAuth
SSLClientAuth ディレクティブは、ユーザのサーバと通信するために、クライアントが証明書を必要とするかどうかを指定します。アクセス コントロールでクライアント認証を実行するためにこのディレクティブをオンにする必要はありません。

シンタックス
SSLClientAuth value

value は、常に証明書が必要かどうかを指定します。 パラメータをon に設定すると証明書が必要であり、off に設定すると証明書は不要です。

SSLSessionTimeout
SSLSessionTimeout ディレクティブは、SSL2 セッションのキャッシュを制御します。

シンタックス
SSLSessionTimeout seconds

seconds は、キャッシュされた SSL2 セッションが無効になるまでの秒数です。デフォルト値は 100 です。SSLSessionTimeout ディレクティブが指定される場合、秒数値は、5 から100 秒までの間に暗黙的に制限されます。


クライアント証明書の使用
Administration Server のプリファレンスにある [Require client certificates] オプションを有効にした場合は、サーバはリクエストに応じる前にクライアントに証明書を送信するように要求します。ユーザが認証済み CA からの有効な証明書を持ってさえいれば、サーバはユーザが誰であるかには関与しません。しかし、クライアント証明書とアクセス コントロールを組み合わせれば、認証 CA からの証明書に加え、その証明書に関連付けられているユーザがアクセス コントロール ルールと一致しなければならないようにすることができます。 詳細については、アクセス コントロール ファイルを参照してください。また、クライアント証明書からの情報を処理することもできます。詳細については、『NSAPI Programmer's Guide for iPlanet Web Server』を参照してください。

LDAP へのクライアント証明書のマッピング
この節では、iPlanet Web Server によって、クライアント証明書が LDAP ディレクトリ内のエントリにマッピングされるプロセスを説明します。

サーバがクライアントからリクエストを受けると、サーバはリクエストを処理する前にクライアントに証明書を要求します。 Netscape Navigator や Netscape Communicator のような Netscape クライアントはサーバにクライアント証明書を送信します。ブラウザのセキュリティ設定により、エンド ユーザにプロンプトを表示することもあれば、しないこともあります。必要な ACL も設定しなければなりません。詳細については、ACL ファイルのシンタックスを参照してください。

次にサーバは、証明書にリストされた CA が、Administration Server にリストされた認証 CA に一致するかどうかを調べます。一致しない場合は、サーバによってはコネクションを終了するか、または失敗した照合によって、他の対応をとります。 コネクションを終了します。一致する場合は、サーバはリクエストの処理を続行します。

サーバにより証明書の CA が認証されているかどうかが確認された後、その証明書は次の手順で LDAP エントリにマッピングされます。

  1. ユーザの証明書からのサブジェクト (ユーザの) DN が、LDAP ディレクトリの分岐ポイントにマッピングされます。
  2. クライアント証明書のサブジェクト (エンドユーザ) に関する情報に一致するエントリがないか、LDAP ディレクトリ内が検索されます。
  3. オプションで、クライアント証明書と、LDAP エントリ内で DN が対応している証明書を照合して確認します。
サーバは、certmap.conf と呼ばれる証明書マッピング ファイルを使って LDAP 検索方法を決めます。マッピング ファイルは、クライアント証明書内のどの値 (エンドユーザ名や電子メール アドレスなど) を使うかをサーバに告げます。サーバはこれらの値を使って、LDAP ディレクトリ内でユーザ エントリを検索しますが、サーバはまず LDAP ディレクトリ内のどこから検索を開始するのかを決める必要があります。証明書マッピング ファイルは、この検索の開始点をサーバに伝えます。

検索の開始点と検索対象がわかると (手順 1)、 サーバは LDAP ディレクトリ内で検索を開始します (手順 2)。一致するエントリが見つからない場合や、一致するエントリが複数見つかった場合で、マッピングが証明書を確認するように設定されていない場合は、検索は失敗に終わります。 予期される検索結果処理のリストについては、次の「LDAP 検索結果」表を参照してください。 ACL で予期される動作を指定することもできます。たとえば、証明書の照合に失敗した場合は、iPlanet Web Server がユーザだけを受け入れるように指定することができます。ACL プリファレンスの設定方法については、アクセス コントロール ファイルを参照してください。

表 5.1 LDAP 検索結果
LDAP 検索結果
[Certificate Verification] がオン
[Certificate Verification]
がオフ

エントリが見つからない
認証失敗
認証失敗
エントリが 1 つだけ見つかった

認証成功
複数のエントリが見つかった

認証失敗

LDAP ディレクトリ内で一致するエントリと証明書が見つかると、サーバはその情報を使ってトランザクションを処理します。たとえば、証明書から LDAP へのマッピングを使ってサーバへのアクセスを決めるサーバもあります。

次の節では、certmap.conf ファイルについて説明します。このファイルを編集して、LDAP ディレクトリ内にエントリを挿入し、エンド ユーザが使うと考えられる証明書と照合する必要があります。

certmap.conf ファイルの使用
証明書マッピング ファイルにより、サーバが LDAP ディレクトリ内でユーザ エントリを検索する方法が決まります。このファイルを編集してエントリを追加し、 LDAP ディレクトリの構成と照合し、ユーザが使う証明書をリストします。 特に、マッピング ファイルにより次の情報が定義されます。

  • LDAP ツリー内でサーバが検索を開始する場所
  • LDAPディレクトリ内でエントリを検索する際にサーバが検索条件として使う証明書の属性
  • サーバがさらに別の確認プロセスを行うかどうか
証明書マッピング ファイルは次の場所にあります。

ファイルには、1 つまたは複数の名前の付いたマッピングがあり、それぞれ別の CA に適用されます。次にマッピングのシンタックスを示します。

最初の行は、 識別名を構成する、エントリ名と CA 証明書内の属性を指定します。名前は任意であり、ユーザは自由に名前を定義することができます。しかし、 issuerDN は、クライアント証明書を発行した CA の発行者 DN と完全に一致する必要があります。たとえば、次の 2 つの issuerDN 行は属性を区切るスペースが異なるだけですが、サーバはこれら 2 つを異なるものとして扱います。

名前の付いたマッピング内の 2行目とその後の行は、値とプロパティを照合します。certmap.conf ファイルには 6 つのデフォルト プロパティがあります (証明書 API を使って、自分自身のプロパティをカスタマイズすることができます)。

表 5.2 x509v3 証明書の属性
属性
説明
c

o
組織
cn
Common Name
l
場所
st
都道府県名
ou
組織単位
uid
Unix/Linux のユーザ ID
e|mail
電子メール アドレス

フィルタの属性名は、LDAP ディレクトリの属性名ではなく証明書の属性 名です。たとえば、証明書によってはユーザの電子メール アドレスの属 性が e の場合がありますが、LDAP ではこの属性は mail です。

これらのプロパティの詳細については、マッピング例で説明されている例を参照してください。

カスタム プロパティの作成
クライアント証明書 API を使って、ユーザ自身のプロパティを作成することができます。クライアント証明書 API のプログラミングおよび使用法については、『NSAPI Programmer's Guide for iPlanet Web Server』を参照してください。

カスタム マッピングができたら、次のようにマッピングを参照します。

例 :

マッピング例
certmap.conf ファイルには、少なくとも 1 つのエントリが必要です。次の例では、certmap.conf ファイルのさまざまな使用法を紹介しています。

例 1

この例は、"デフォルト" マッピングが 1 つだけある certmap.conf ファイルを示しています。

この例を使って、サーバは ou=<orgunit>, o=<org>, c=<country> エントリがある LDAP 分岐ポイントから検索を開始します。<> 内のテキストは、クライアント証明書内のサブジェクトの DN の値に置き換えられています。

次にサーバは、証明書の電子メール アドレスとユーザ ID の値を使って、LDAP ディレクトリ内で一致するものを検索します。一致するエントリが見つかると、サーバはクライアントから送信されたものとディレクトリ内にあるものを比較して証明書を確認します。

例 2

次のファイル例には、 デフォルトと US Postal Service 用の 2 つのマッピング ファイルがあります。

サーバが US Postal Service 以外から証明書を受信すると、デフォルト マッピングが使われます。LDAP ツリーの先頭から始まり、クライアントの電子メールとユーザ ID に一致するエントリを検索します。証明書が US Postal Service からのものであれば、サーバは組織単位がある LDAP 分岐ポイントから検索を開始し、一致する電子メール アドレスを検索します。また証明書が USPS からのものである場合は、サーバは証明書を確認します。それ以外の証明書は確認されません。

警告 証明書内の発行者 DN (CA の情報) は、マッピングの最初の行にリストされている発行者 DN と同一です。前の例では、o=United States Postal Service,c=US の発行者 DN からの証明書は、oc 属性の間にスペースがないので一致しません。

例 3

次の例では、CmapLdapAttr プロパティを使い、LDAP データベース内で、クライアント証明書から取得されたサブジェクト DN 全体に完全に一致する値を持つ certSubjectDN という属性を検索します。

次のクライアント証明書サブジェクトの場合、

サーバは最初に、次の情報を持つエントリを検索します。

1 つまたは複数の一致するエントリが見つかった場合は、サーバはエントリを確認します。一致するエントリが見つからない場合は、サーバは DNCompsFilterComps を使って一致するエントリを検索します。この例では、サーバは、o=Leaves0fGrass Inc, c=US という次の条件下のすべてのエントリ内で uid=Walt Whitmanを検索します。

ノート この例では、LDAP ディレクトリに属性 certSubjectDN のエントリがあると仮定しています。


承認データベース/キー ペア ファイル パスワードの変更
定期的に認証データベース/キー ペア ファイルのパスワードを変更することをお勧めします。Administration Server のSSL が有効になっている場合、サーバを起動する際にこのパスワードが必要です。パスワードを定期的に変更することにより、サーバのセキュリティがさらに強化されます。

パスワードを変更する際に考慮するガイドラインのリストについては、 解読されにくいパスワードを作成するためのガイドラインを参照してください。

認証データベース/キー ペア ファイルのパスワードを変更するには、次の手順を実行します。

  1. Administration Server にアクセスし、[Security] タブを選択します。
  2. [Change Password] リンクをクリックします。
  3. 必要な情報を入力し、[OK] をクリックします。
詳細については、 「Change the Key Pair File Password」ページを参照してください。


Enterprise Server 3.x 証明書の移行
Enterprise Server 3.6 から iPlanet Web Server 4.x に 証明書を移行する必要がある場合は、 4.x iPlanet Web Administration Server ユーザが、古い 3.6 データ ベース ファイルへの読み込み/書き込みパーミッションを持っているかどうかを確認します。ファイルは <alias>-cert.db<alias>-key.db で、
<3.6_server_root>/alias ディレクトリにあります。

サーバのセキュリティが有効になっている場合に限り、キーと証明書が移行プロセスの一部として移行されます。また、「Administration Server」ページおよび「Server Manager」ページの [Security] タブを使って、キーと証明書を移行することもできます。

Enterprise Server 3.6 では、証明書/キー ペアは、複数のサーバ インスタンスが使用できるエイリアスによって参照されていました。管理サーバがすべてのエイリアスとその証明書を管理していました。iPlanet Web Server 4.x では、サーバ インスタンス (Administration Server も含む) ごとに、エイリアスではなく認証データベースとして参照される証明書/キー ペアがあります。ユーザは、サーバ マネージャの [Security] タブから、サーバ証明書、含まれているすべての証明機関などを含む、認証データベースとその証明書を管理します。現在、証明書やキー データベース ファイルは、それらを使うサーバ インスタンスに従って命名されています。複数の 3.6 サーバ インスタンスが同じエイリアスを使っている場合は、各インスタンスを移行する際に証明書/キー ペアが移行され、新しいサーバ インスタンス用に名前が付けられます。

移行によって、サーバ証明書が移行されるだけでなく、そのサーバ インスタンスに関連付けられている認証データベース全体も移行されます。3.6 データベース内にあるすべての証明機関 (CA) が 4.x データベースに移行されます。4.x CA を複製した場合は、3.6 CA を期限切れまで使い、その後に 4.x CA を使います。 重複した CA を削除しないでください。


サーバ セキュリティの検討事項
誰かに暗号を解読されてしまうこと以外にもセキュリティ上の危険はあります。 ネットワークは、さまざまな策略を使ってサーバやサーバ内の情報にアクセスしようとする外部および内部ハッカーからのリスクに直面しています。

そのため、サーバ上で SSL を有効にするだけでなく、さらにセキュリティ上の警戒が必要です。たとえば、サーバ マシンを安全な部屋に置き、信頼できない個人にサーバにプログラムをアップロードさせないようにします。

次の節では、サーバをより安全に保つ上での重要事項について説明します。

物理的なアクセスの制限
この簡単なセキュリティ手段は意外に忘れられがちです。サーバ マシンを、許可を受けた人だけが入室できる、鍵がかけられる部屋に置きます。こうすることにより、マシンそのものへのハッキングを防ぐことができます。

また、マシンに管理 (ルート) パスワードがある場合は、それを人に知られないようにします。

管理アクセスの制限
リモート設定を使っている場合は、アクセス コントロールを使って、限られたユーザとマシンからの管理だけを許可します。 Administration Server に LDAP サーバやローカル ディレクトリ情報へのエンドユーザ アクセスを提供させる場合は、Administration Server を 2 つ維持し、 クラスタ管理を行うことをお勧めします。こうすることにより、SSL が有効な Administration Server がマスター サーバとして機能し、もう 1 つの Administration Server をエンドユーザのアクセス用にすることができます。 クラスタの詳細については、 クラスタについてを参照してください。

また、Administration Server の暗号化もオンにします。管理に SSL コネクションを使わない場合は、保護されていないネットワークを介してリモート サーバを管理する場合に注意が必要です。誰かが管理パスワードを傍受し、サーバを設定し直すことがあるかもしれません。

良いパスワードの選択
管理パスワード、秘密キー パスワード、データベース パスワードなど、サーバで使うパスワードは多数あります。管理パスワードを入手できれば、コンピュータ上のすべてのサーバを設定できるので、最も重要なのは管理パスワードです。その次に重要なのが、秘密キー パスワードです。秘密キーと秘密キー パスワードが第三者の手に渡ると、それらを利用して本来の持ち主のサーバにみせかけたサーバが作成されたり、サーバ間の通信内容を傍受されることがあります。

良いパスワードとは、自分で思い出すのが簡単で、しかも他の人が想像できないものです。たとえば、MCi12!mo を "My Child is 12 months old!" として覚えておくことができるでしょう。逆に悪いパスワードの例は、子供の名前や誕生日です。

解読されにくいパスワードを作成するためのガイドライン
より強力なパスワードを作成するためのシンプルな解読されにくいガイドラインがいくつかあります。

1 つのパスワードにすべてのルールを適用する必要はありませんが、使うルールの数が多いほどパスワードが強化されます。

  • パスワードを 6〜14 文字の長さにする。
  • Mac パスワードは 8 文字を超えてはならない。
  • 「*」、「"」、のような不正文字やスペースを使わない。
  • 辞書用語を使わない (何語でも)。
  • 辞書用語内で一般的な文字の代用を使わない (3 を E に、1 を L になど)。
  • 次のクラスからできるだけ多くの文字を混ぜる。
キー ペア ファイルの保護
キー ペア ファイルの安全を確保します。Administration Server では、server_root/alias ディレクトリ内にキー ペア ファイルが保存されます。これらのファイルやディレクトリを、ユーザのコンピュータにインストールされた Netscape/iPlanet サーバでのみ読み取り可能にすることをお勧めします。また、バックアップ テープにファイルが保存されていないかどうか、また他の人が入手できる状態になっていないかどうかを知っておくことも重要です。バックアップがある場合は、バックアップもサーバと同じように保護する必要があります。

サーバ上の他のアプリケーションの制限
サーバと同じマシンで実行されるアプリケーションについて注意して考慮します。同じサーバ上で実行される他のプログラムのセキュリティ ホールを利用してサーバのセキュリティを回避することが可能です。必要のないプログラムやサービスはすべて無効にします。たとえば、 Unix の sendmail デーモンはセキュリティの設定が困難であり、これをプログラムして、サーバ マシン上で他の有害なプログラムを実行することができます。

Unix/Linux
inittab および rc スクリプトから起動されるプロセスを注意して選択しま す。telnetrlogin をサーバ マシンで実行しないでください。 またサー バ マシンに rdist がないようにしてください (これはファイルを配布できますが、サーバ マシン上のファイルの更新にも使うことができます)。

Windows NT
他のマシンと共有するドライブやディレクトリを考慮します。また、どのユー ザがアカウントや Guest 権限を持っているかを考慮します。

同様に、自分または他の人がサーバに追加するプログラムに注意します。 他の人のプログラムにセキュリティ ホールがある可能性があります。また最悪のケースでは、セキュリティを壊滅させるように特別に設計されたプログラムを誰かがアップロードする可能性があります。サーバへのインストールを許可する前に、必ずプログラムを注意して調べるようにしてください。

クライアントが SSL ファイルをキャッシュするのを防ぐ
HTML のファイルの <HEAD> セクションに次の行を挿入することにより、クライアントが前もって暗号化したファイルをキャッシュするのを防ぐことができます。

ポートの制限
マシンで使われていないポートをすべて無効にします。ルータやファイヤウォール設定を使って、最低限のポート以外への接続を防ぎます。つまり、マシン上のシェルを取得する唯一の方法は、立ち入りが制限されているエリアに置かれたサーバ マシンを使うことです。

サーバの限界
サーバは、サーバとクライアントの間に安全なコネクションを提供します。ただし、一度クライアントが入手した情報のセキュリティは管理できませんし、またサーバ マシン自体やそのディレクトリおよびファイルへのアクセスも管理できません。

こういった限界を知っておくことにより、どのような状況を避けるべきかがわかります。たとえば、SSL コネクションを介してクレジット カードの番号を受け取るとします。しかし、その番号がサーバ マシンの安全なファイル内に保存されているかどうか、また SSL コネクションの終了後にどうするかなどを確認する必要があります。クライアントが SSL を介して送信してくる情報の安全を守るのは受信側の責任です。

保護されていないサーバの保護手段
保護されているサーバと保護されていないサーバの両方を使う場合、保護されていないサーバは保護されているサーバとは別のマシン上で実行します。リソースが限られていて、保護されていないサーバを保護されているサーバと同じマシンで実行せざるをえない場合は次のようにしてください。

  • 適切なポート番号を割り当てます。保護されているサーバと保護されていないサーバに別の ポート番号が割り当てられるようにします。登録済みのデフォルト ポート番号は、保護されているサーバ用が 443 で、保護されていないサーバ用が 80 です。
  • Unix/Linux では、文書ルート ディレクトリの chroot 機能を有効にします。保護されていないサーバの文書ルートは、chroot を使ってリダイレクトするようにします。
chroot の目的は、2 番目のルート ディレクトリの作成を可能にし、サーバを特定のディレクトリに制限することです。この機能は保護されていないサーバを保護するために使います。たとえば、ルート ディレクトリを /d1/ms とします。Web サーバがルート ディレクトリにアクセスしようとすると必ず /d1/ms に到達します。 /dev にアクセスしようとすると /d1/ms/dev に到達する、というようになります。こうすることにより、実際のルート ディレクトリの下にあるすべてのファイルへのアクセス権を与えることなく、Unix/Linux システムで Web サーバを実行することができます。

しかし chroot を使うと、次の図のように iPlanet Web Server が必要とする構造全体を代替ディレクトリの下に設定しなければならなくなります。

図 5.2   

Chroot ディレクトリ構造の例

magnus.conf ファイルへの chroot の実装方法については、 『NSAPI Programmer's Guide for iPlanet Web Server』を参照してください。

 

(C) Copyright (C) 2000 Sun Microsystems, Inc. Some preexisting portions Copyright (C) 2000 Netscape Communications Corp. All rights reserved.