Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

Caché インスタンスのセキュリティの強化

Caché インスタンスのセキュリティをさらに高めるには、ユーザからのアクセスをより厳密に制限するように構成します。これにより、承認されていないユーザは、Caché ツールを使用したり、機密性の高いリソースにアクセスしたりできなくなります。この付録では、Caché インスタンスの危険を回避し、セキュリティを向上させるためのさまざまな操作について説明します。

インスタンスのセキュリティを強化するための操作には各種あります。ここでは、これらの操作の概要について、実行すべき順序で説明します。

Caché のセキュリティ・アドバイザは、インスタンスのセキュリティを強化するために、インスタンスの自動解析機能や推奨される操作を提供します。

Important:

Caché インスタンスには、多数の相互依存する要素があります。このため、変更のために指定されていることのみを、過不足なく行うことをお勧めします。例えば、%All ロールから (その他の操作を一切行わずに) 単純に UnknownUser を削除すると、最小セキュリティ・インストールで問題が発生します。

監査の有効化

セキュリティの主要な要素は、認証 (Authentication)、承認 (Authorization)、および監査 (Auditing) の “3 つの A” で表されることがよくあります。Caché に用意されている監査を含む監査には、以下の 2 つの機能があります。

  • セキュリティ・イベントが発生した場合に、何が起こったかに関するデータを提供する。

  • 攻撃が追跡、記録され、悪意のある行動に関する証拠がある場合、この機能が存在するとわかっていると、攻撃者に対する抑止力となる。

Caché インスタンスのキー・イベントの監査を有効化する手順は以下のとおりです。

  1. 管理ポータルのホーム・ページで、[システム管理][セキュリティ][監査][監査を有効に] を選択します。その選択肢が使用できない場合、監査はすでに有効化されています。

  2. 管理ポータルのホーム・ページで、[システムイベントを構成] ページ ([システム管理][セキュリティ][監査][システムイベントを構成]) に移動します。

  3. 以下のイベントがまだ有効化されていない場合、[システムイベントを構成] ページのそのイベントの行で [状態変更] をクリックして、これを有効化します。

    • %System/%DirectMode/DirectMode — コンソール/ターミナルの使用に関する情報を提供します。コマンド行ユーティリティを重点的に使用するサイトでは、大量のデータが作成される可能性があります。データの増加が問題にならない場合に推奨されます。

    • %System/%Login/Login — ログインに関する情報を提供します。大規模なサイトでは、大量のデータが作成される可能性があります。データの増加が問題にならない場合に推奨されます。

    • %System/%Login/LoginFailure — 未承認で試行されたログインに関するフィードバックを提供します。推奨されます。

    • %System/%Security/Protect — 保護されたデータの読み取り、書き込み、または使用の試行に関するデータを提供します。推奨されます。

アプリケーションの認証メカニズムの変更

Caché へのアクセス制限では、アプリケーションでより厳密な認証メカニズムが使用されるようにインスタンスを構成することが重要です。このセクションでは、この手順の実行方法について説明します。ここでは、サンプル・アプリケーションとして管理ポータルを使用し、より厳密な認証メカニズムへの移行の例として、最小セキュリティ・インストールのような認証なしのアクセスから、パスワードを要求するアクセスへ変更します。

Important:

以下の手順を実行すると、変更されるインスタンスが、ポータルへのアクセス以上のさまざまな影響を受ける可能性があります。この詳細は、(1) インスタンスの構成、および (2) この手順のみを実行しているのか、それともこの付録にあるすべての手順を実行するのかによって異なります。具体的には以下の手順を実行します。

適切に機能する認証をアプリケーションに提供するには、アプリケーションと、このアプリケーションが使用するサービスの両方に同一の認証メカニズムが必要です。Web アプリケーションでは、CSP サービスと一致するように CSP ゲートウェイを構成する必要もあります。したがって、管理ポータルに認証を提供するために、同時に機能させる必要のある以下の 3 つのレイヤがあります。

  • %Service_CSP サービス

  • CSP ゲートウェイ

  • 管理ポータル・アプリケーション

これらのレイヤに対応する認証メカニズムがない場合、通常、アクセスが拒否されます。例えば、ログイン・ページの表示や管理ポータルへのアクセスの代わりに、“ページを表示できません” エラーが表示されます。

Important:

もし、(1) Web アプリケーションが CSP ゲートウェイや %Service_CSP よりも強力な認証メカニズムを使用しているときに、(2) 認証に成功すると、システムのセキュリティはそれほど強力ではないメカニズムを提供するものになります。

最小セキュリティ・インストールを持つインスタンスでは、CSP ゲートウェイ、%Service_CSP、および管理ポータル・アプリケーションはすべて非認証アクセス用にセットアップされます。ポータルにパスワード・レベルの認証を提供するには、さまざまな Caché 要素を以下のように構成する必要があります。

  • CSP サービスにはパスワード認証が必要です。

  • CSP ゲートウェイは、この認証のためにユーザ名とパスワードを提供する必要があります。

  • このゲートウェイを表すユーザには、CSP サービスを使用するために十分な特権が必要です。

  • 管理ポータルにはパスワード認証が必要です。

  • ポータルのユーザすべてには、このポータルを使用するために十分な特権が必要です。

Important:

ポータルでの 1 回のセッション中に、以下の手順をすべて実行します。そうしないと、ポータルからロックアウトされ、残りの手順を ^SECURITY ルーチンで実行しなければならなくなります。

このような変更を行う手順の概要は以下のとおりです。

  1. 必要に応じて、インスタンスへの変更を追跡、記録するために監査を有効化します。詳細は、この付録の "監査の有効化" で説明します。

  2. CSPSystem ユーザに %Service_CSP:Use 特権を付与します。

  3. CSPSystem ユーザのパスワードを変更します。

  4. 認証用にユーザ名とパスワードを提供するために CSP ゲートウェイを構成します。

  5. パスワード認証を要求するように %Service_CSP を構成します。

  6. %Service_CSP:Use 特権のパブリック状態を削除します。

  7. パスワード認証のみを要求するように、管理ポータル・アプリケーションを構成します。

  8. インスタンスのユーザに対して適切な権限レベルを指定します。

  9. 必要に応じて、ドキュメントやサンプルを使用可能にします

  10. 新しいポリシーの施行を開始します。

この処理の完了後、ユーザがポータルに接続しようとすると、ログイン・プロンプトが表示されます。

Caution:

Caché インスタンスには、多数の相互依存する要素があります。このため、変更のために指定されていることのみを、過不足なく行うことをお勧めします。そうしないと、Caché からロックアウトされてしまいます。また、インスタンスが一時的に動作不能になることもあります。

CSPSystem ユーザに %Service_CSP:Use 特権を付与

CSPSystem ユーザは、Caché インストール処理により作成されます。このユーザは、%Service_CSP サービスとのやり取りにおける CSP ゲートウェイを表します。サービスのアクセスは制限されるので、このユーザは、認証処理のために %Service_CSP:Use 特権を持つ必要があります。

Note:

%Service_CSP と呼ばれるサービスと、%Service_CSP と呼ばれるリソースがあります。このリソースは、サービスへのアクセスを規制します。したがって、このサービスにアクセスするには、ユーザはこのリソースに対する Use 許可、つまり %Service_CSP:Use 特権が必要です。

%Service_CSP:Use 特権と CSPSystem ユーザを関連付けるには、以下の手順を実行します。

  1. 管理ポータルのホーム・ページで、[ロール] ページ ([システム管理][セキュリティ][ロール]) に移動します。

  2. [ロール] ページで、[新規ロール作成] をクリックします。[ロール編集] ページが表示されます。このページでは、[名前] フィールドが編集可能になっています。

  3. %Service_CSP:Use 特権が含まれるように、ロールの名前を入力します (例 : “GatewayRole”)。

  4. [保存] をクリックします。これにより、Caché でロールが作成されました。

  5. [ロール編集] ページの [一般] タブにある [特権] セクションで、[追加] をクリックします。このロールについて使用可能なリソースのリストが表示されます。

  6. このリストで [%Service_CSP] をクリックし、次に [保存] をクリックします。新たに作成されたロールには、%Service_CSP:Use 特権が含まれるようになります。

  7. [ロール編集] ページの [メンバ] タブを選択します。

  8. このタブで、新しく作成したロールに CSPSystem ユーザを割り当てることができます。[使用可能] リストのユーザから [CSPSystem] をクリックし、右向き矢印をクリックして、[選択済み] に移動します。

  9. [割り当てる] をクリックして、CSPSystem をロールに割り当てます。(つまり、CSPSystem はこのロールのメンバになります)。これは、CSPSystem が %Service_CSP:Use 特権を持っていることを意味します。

Note:

システムは、CSP ゲートウェイを表すために CSPSystem ユーザを作成します。必要であれば、別のユーザがこの機能を実行できます。この手順は CSPSystem ユーザのみを参照します。別のユーザを使用する場合、必要な箇所で CSPSystem をそのユーザ名で置き換えます。

CSPSystem ユーザのパスワードを変更

最小セキュリティ・インストールでは、CSPSystem ユーザに対してパスワード “SYS” が与えられるので、このパスワードを攻撃者の知らないもの、または推測できないものに変更することが重要です。以下はその方法です。

  1. 管理ポータルで、[ユーザ] ページ ([システム管理][セキュリティ] [ユーザ]) に移動します。

  2. [ユーザ] ページの CSPSystem ユーザの行で、[CSP ゲートウェイユーザ] の名前をクリックします。[ユーザ編集] ページが表示されます。

  3. [パスワード] フィールドに CSPSystem に対する新しいパスワードを入力します。他のユーザは誰もこのパスワードを覚える必要はないので、必要なだけ長く、複雑にすることができます。

  4. [パスワード確認] フィールドに新しいパスワードを再度入力して確認し、[保存] をクリックします。ポータルからエラー・メッセージやダイアログが表示されない場合、パスワードの変更は正常に行われています。

必要に応じて、前の手順で認証のために作成されたロールに CSPSystem が割り当てられていることを確認することもできます。このためには、[ロール] タブをクリックします。[CSPSystem が割り当てられているロール] という名前の列を持つテーブルには、新しく作成したロールが表示されるはずです。

ユーザ名とパスワードを提供するために CSP ゲートウェイを構成

パスワード認証を要求するように %Service_CSP が構成されるため、CSP ゲートウェイはユーザ名とパスワードのペアを提供する必要があります。適切な特権レベルを持つユーザをセットアップすると、ゲートウェイが提供できるユーザ名とパスワードのペアが作成されます。次の手順では、Caché サーバから要求されたときに、このユーザ名とパスワードのペアを提供できるようにゲートウェイを構成します。以下はその方法です。

  1. 管理ポータルで、[Caché Server Pages - ウェブゲートウェイ管理] ページ ([システム管理] > [構成] > [CSP ゲートウェイ管理]) に移動します。

  2. [Caché Server Pages - ウェブゲートウェイ管理] ページで、左側のリストから [サーバ・アクセス] を選択します。[サーバ・アクセス] フレームが表示されます。

  3. [サーバ・アクセス] フレームでは LOCAL サーバがハイライト表示されます。編集のために [実行] をクリックします。[サーバ・アクセス] パラメータや [エラー・ページ] パラメータの並んだページが表示されます。

  4. このページには、[接続セキュリティ] セクションがあります。

  5. [接続セキュリティ・レベル] ドロップダウンに [パスワード] が表示されていることを確認します。

  6. [ユーザ名] フィールドに、「CSPSystem」と入力します。

  7. [パスワード] および [パスワード (確認)] フィールドに、前のセクションで選択したパスワードを入力します。

  8. ページの下部にある [設定を保存] をクリックします。

  9. 管理ポータルに戻るには、左ペインにあるリスト下部の [管理ポータルに戻る] をクリックします。

パスワード認証を要求するように %Service_CSP を構成

ユーザ名とパスワードを提供するようにゲートウェイを構成し、CSPSystem ユーザに必要なレベルの特権を与えたら、次に、パスワードの認証を要求するように CSP を管理するサービス (%Service_CSP) を構成します。以下はその方法です。

  1. 管理ポータルのホーム・ページで、[サービス] ページ ([システム管理][セキュリティ][サービス]) に移動します。

  2. [サービス] ページで、[%Service_CSP] をクリックします。%Service_CSP[サービス編集] ページが表示されます。

  3. [サービス編集] ページの [許可された認証方法][認証なし] アクセスが無効化されていること、および [パスワード] アクセスが有効化されていること (別名 : “Caché ログイン”) を確認します。[保存] をクリックします。

%Service_CSP:Use 特権のパブリック状態を削除

パスワード認証を要求する %Service_CSP と適切に承認されたユーザを使って認証を行うゲートウェイを使用して、次の手順では、%Service_CSP:Use がパブリックに使用できないようにします。以下はその方法です。

  1. 管理ポータルのホーム・ページで、[リソース] ページ ([システム管理][セキュリティ][リソース]) に移動します。

  2. [リソース] ページで、%Service_CSP に対応する行の [編集] をクリックします。%Service_CSP[リソースの編集] ページが表示されます。

  3. [パブリック許可] セクションで [使用] ボックスをオフにします。[保存] をクリックします。

Important:

%Service_CSP:Use がパブリック特権ではなくなると、これが明示的に付与されたユーザのみが CSP を使用できるようになります。これらのユーザのリストを作成し、その他の方法でこの特権を付与する必要が生じる場合もあります。

パスワード認証のみを受け入れるように、管理ポータル・アプリケーションを構成

ゲートウェイと Caché サーバの間の接続に新しい認証メカニズムが使用されるようになったら、次に、これに見合ったメカニズムが使用されるように管理ポータル・アプリケーションを構成します。この例では Caché ログイン・メカニズムを使用します。ポータルの認証メカニズムを変更するための手順は以下のとおりです。

  1. 管理ポータルのホーム・ページで、[ウェブ・アプリケーション] ページ ([システム管理][セキュリティ][アプリケーション][ウェブ・アプリケーション]) に移動します。

  2. [ウェブ・アプリケーション] ページでは、/csp/sys アプリケーションは管理ポータルのホーム・ページを表します。このアプリケーションを編集するには、この行の名前 [/csp/sys] を選択します。/csp/sys アプリケーションの [ウェブ・アプリケーション編集] ページが表示されます。

  3. [許可された認証方法] で、[認証なし] アクセスを無効化し、[パスワード] アクセスを有効化します。[保存] をクリックします。

  4. ポータルのその他のページと選択肢を構成するすべてのアプリケーションに対しても、[非認証] アクセスを無効にし、[パスワード] アクセスを有効にします。これらのアプリケーションには以下のものがあります。

    • /csp/sys/bi

    • /csp/sys/exp

    • /csp/sys/mgr

    • /csp/sys/op

    • /csp/sys/sec

これにより、ポータルの構成は、パスワード認証 (“Caché ログイン”) を要求し、非認証アクセスができないものになるので、各構成部分が整合性のある動作をします。次の手順では、関連するユーザがすべて、ポータルへの適切なアクセス権を持つことを確認します。

インスタンスのユーザに対して適切な権限レベルを指定

非認証アクセスを受け入れるようにポータルが構成されている場合、どのようなユーザでも UnknownUser として接続できます。最小セキュリティ・インストールでは UnknownUser は %All ロールのメンバになるので、ポータルからロックアウトされる心配はありません。ここで、ポータルによりパスワード認証が要求されるようになると、正当なユーザは %Operator ロール、%Manager ロール、または %All ロールのメンバとなる必要があります。

最小セキュリティ・インストールでは、SuperUser、Admin、_SYSTEM、および UnknownUser はすべて、このレベルの特権を持ちます。また、パスワードはすべて “SYS” です。

適切にユーザのセキュリティを確保する手順は以下のとおりです。

  1. UnknownUser を無効化します。または、%All ロールから UnknownUser を削除します。

    • UnknownUser を無効化する手順は以下のとおりです。

      1. [ユーザ] ページ ([システム管理][セキュリティ][ユーザ]) で、[名前] 列の下の [UnknownUser] をクリックします。UnknownUser に対応する [ユーザ編集] ページが表示されます。

      2. [ユーザ有効] フィールドをクリアし、[保存] をクリックします。

    • %All ロールから UnknownUser を削除するには、以下の手順を実行します。

      1. [ユーザ] ページ ([システム管理][セキュリティ][ユーザ]) で、[名前] 列の下の [UnknownUser] をクリックします。UnknownUser に対応する [ユーザ編集] ページが表示されます。

      2. [ユーザ編集] ページの [ロール] タブに進みます。

      3. [UnknownUser が割り当てられているロール] テーブルの [%All] 行で、[削除] をクリックし、[保存] をクリックします。

    Important:

    UnknownUser を通じたアクセスの制限は広い範囲に影響を及ぼします。これは、インスタンスのユーザが十分な特権を持っていない場合に特に顕著です。

  2. 認証されていない可能性のあるその他のユーザが、%All%Developer%Manager%Operator%SQL、または特権を付与されたその他のユーザ定義ロールのメンバではないことを確認します。このためには、%All ロールから UnknownUser を削除するのと類似した処理を行います

    (特権を付与するユーザ定義ロールは、%Admin... リソースのいずれか、%Development、または %Service もしくは %System リソースのいずれかに Use 許可を持つか、または %DB_CACHELIB もしくは %DB_CACHESYS に Write 許可を持つ可能性があります)。

  3. ポータルへのアクセス権を持っているはずのユーザがすべて、%All%Developer%Manager%Operator%SQL、またはポータルへのアクセスを付与する任意のユーザ定義ロールに割り当てられていることを確認します。これらのユーザそれぞれについて、以下の手順を実行します。

    1. [ユーザ] ページ ([システム管理] > [セキュリティ] > [ユーザ]) で、[名前] 列の下にあるユーザの名前をクリックします。そのユーザに対応する [ユーザ編集] ページが表示されます。

    2. [ユーザ編集] ページの [ロール] タブに進みます。

    3. 目的のロールを [使用可能] から [選択済み] リストに移動します。このためには、ロールを選択し、右矢印ボタンをクリックし、[割り当てる] をクリックして、ユーザをロールに割り当てます。

  4. SuperUser および Admin ユーザのパスワードを既定値から変更します。以下はその方法です。

    1. [ユーザ] ページ ([システム管理] > [セキュリティ] > [ユーザ]) で、[名前] 列の下にあるユーザの名前をクリックします。そのユーザに対応する [ユーザ編集] ページが表示されます。

    2. [新規パスワード入力] を選択します。

    3. [パスワード] フィールドに新しいパスワードを入力します。

    4. [パスワード (確認)] フィールドでパスワードを確認し、[保存] をクリックします。

Important:

少なくとも 1 人のポータル管理ユーザのパスワードを知っていることを確認してください。そうしないと、ポータルからロックアウトされ、緊急アクセスを使用してログインし、^SECURITY ルーチンを使って 1 つ以上のパスワードをリセットしなければならなくなる可能性があります。

ドキュメントやサンプルを使用可能にする

サービス、CSP ゲートウェイ、およびポータル・アプリケーションの構成が完了したら、ドキュメントやサンプル・プログラムを使用できるようにしましょう。以下はその方法です。

  1. 管理ポータルのホーム・ページで、[ウェブ・アプリケーション] ページ ([システム管理] > [セキュリティ] > [アプリケーション] > [ウェブ・アプリケーション]) に移動します。

  2. サンプル・アプリケーションを使用できるようにするには、以下の操作を実行します。

    1. [ウェブ・アプリケーション] ページでは、/csp/samples アプリケーションが Caché サンプル・アプリケーションです。このアプリケーションを編集するには、この行の [/csp/samples] を選択します。/csp/samples アプリケーションの [ウェブ・アプリケーション編集] ページが表示されます。

    2. [許可された認証方法] で、[認証なし] アクセスを無効化し、[パスワード] アクセスを有効化します。[保存] をクリックします。

  3. ドキュメントを使用できるようにするには、以下の操作を実行します。

    1. [ウェブ・アプリケーション] ページでは、/csp/docbook アプリケーションが Caché DocBook ドキュメント・アプリケーションです。このアプリケーションを編集するには、名前の [/csp/docbook] を選択します。/csp/docbook アプリケーションの [ウェブ・アプリケーション編集] ページが表示されます。

    2. [許可された認証方法] で、[認証なし] アクセスを無効化し、[パスワード] アクセスを有効化します。[保存] をクリックします。

    3. [ウェブ・アプリケーション] ページに戻ります。

    4. [ウェブ・アプリケーション] ページでは、/csp/documatic アプリケーションが Caché ドキュメントのクラスリファレンス・アプリケーションです。このアプリケーションを編集するには、この行の [/csp/documatic] を選択します。/csp/documatic アプリケーションの [ウェブ・アプリケーション編集] ページが表示されます。

    5. [許可された認証方法] で、[認証なし] アクセスを無効化し、[パスワード] アクセスを有効化します。[保存] をクリックします。

    Note:

    ドキュメントは 2 つの異なるアプリケーション (/csp/docbook および /csp/documatic) から構成されているので、それぞれ別々のパスワード・プロンプトを持ちます。

この手順を実行していない場合、サービスはパスワード・プロンプトを要求しますが、アプリケーションは非認証アクセスを試行します。これにより、%All に割り当てられているユーザを含め、すべてのユーザがドキュメントやサンプルにアクセスできなくなります。

新しいポリシーの施行を開始

この時点で、Caché インスタンスの構成は完了し、適切な動作をするようになっています。ただし、既存のすべての接続で、引き続き非認証アクセスが使用されています。新しいポリシーの施行を開始するには、次のイベントが発生しなければなりません。

認証された CSP ゲートウェイ接続の確立

CSP ゲートウェイに認証接続を確立させるには、次の手順を実行します。

  1. 管理ポータルのホーム・ページで、[システム管理][構成][CSPゲートウェイ管理] を選択します。[Caché Server Pages - ウェブゲートウェイ管理] ページが表示されます。

  2. [Caché Server Pages - ウェブゲートウェイ管理] ページで、左側のリストから [接続を閉じる] を選択します。[接続を閉じる] フレームが表示されます。

  3. [接続を閉じる] をクリックします。これにより、ゲートウェイと Caché サーバ間の接続がすべて閉じられたことを示すメッセージが表示されます。

次回ユーザがページを要求すると、ゲートウェイにより、Caché サーバへの接続が再度確立されます。この接続では、選択された認証メカニズムが使用されます。

認証されたユーザ接続の確立

この時点では、管理ポータルへのすべての接続で、依然として非認証アクセスが使用されています。すぐに認証アクセスが必要でない場合、何もする必要はありません。ユーザはポータルへの接続を順次終了し、再接続するときに認証が必要となります (接続の終了する理由には、マシンの再起動、ブラウザの停止と再開、ブラウザ・キャッシュのクリア、ポータルのログアウトなどがあります)。

接続で強制的に認証アクセスを使用する必要がある場合、以下のようにして Caché を停止し、再起動します。例えば、Windows で、Caché が既定の [スタート] メニューのページで利用できる場合、以下のようにします。

  1. Windows の [スタート] メニューから [プログラム][Caché] を選択し、Caché インスタンスを再起動します。

  2. Caché インスタンスのサブメニューで、[Caché の停止] を選択します。

  3. 表示されたダイアログで、[再起動] を選択し、[OK] をクリックします。

Note:

Caché の実稼動インスタンスを使用している場合、ユーザは一時的に、Caché 全体またはポータルへアクセスできなくなるため、再起動にはトラフィックが少ない時間を選択します。

パブリック・リソース数の制限

どのようなリソースでも、パブリック・リソースとして指定できます。つまり、どのようなユーザでも、パブリック設定に応じて、このリソースを読み取り、書き込み、または使用できます。以下のリソースおよび許可は、常にパブリックにする必要があります。

必須のパブリック・リソースおよびその許可
リソース 許可
%DB_CACHE R
%DB_CACHELIB R
%DB_CACHETEMP RW
Note:

すべてのユーザがドキュメントにアクセスできるように、%DB_DOCBOOK データベースの読み取り許可をパブリックにすることもできます。

インスタンスのセキュリティを強化する場合は、パブリック・リソースの数を制限してください。そのための手順は以下のとおりです。

  1. これらのリソースへのアクセスを本当に必要としているすべてのユーザに、必要な特権が与えられていることを確認します。

    Important:

    %Service_CSP:Use に対する特権を適切なユーザに提供しなかった場合、このプロシージャにより、管理ポータルやその他の CSP アプリケーションからの大規模なロックアウトが発生します。

  2. 管理ポータルのホーム・ページで、[リソース] ページ ([システム管理][セキュリティ][リソース]) に移動します。

  3. リソースに対するパブリック許可が 1 つ以上ある場合、各リソースの所有する権限は、[リソース] ページのリソース・テーブルにある [パブリック許可] 列にリストされます。[編集] をクリックしてリソースを選択します。選択したリソースの [リソースの編集] ページが表示されます。

  4. [リソースの編集] ページで、チェックマークが付けられている [パブリック許可] フィールドをすべてクリアし、[保存] をクリックします。このリソースはパブリックではなくなります。

すべてのパブリック・リソースについて、この操作を実行します。

サービスへのアクセス制限

ユーザが Caché と対話する経路にはさまざまな種類があります。サービスは、これらの経路へのアクセスを規制します。Caché サービスへのアクセスを制限するには、以下の選択肢があります。

有効なサービス数の制限

有効なサービス数を制限するには、以下の手順を実行します。

  1. Caché インスタンスで必要なサービスを判断します。通常、これらは以下のとおりです。

    • ユーザ・アクセスの各形式で必要とされるサービス

    • 自動アクセスで必要とされるサービス

    • ローカルなプログラマ・モード・アクセスのための %Service_Console (Windows の場合) または %Service_Terminal (UNIX または UNIX® の場合)

  2. 管理ポータルのホーム・ページで、[サービス] ページ ([システム管理] > [セキュリティ] > [サービス]) に移動します。

  3. [サービス] ページで、必要のないサービスそれぞれの名前をクリックして選択します。選択したサービスの [サービス編集] ページが表示されます。

  4. [サービス編集] ページで、[サービス有効] フィールドをクリアし、[保存] をクリックします。これで、このサービスは無効化されました。

必要のないサービスをすべて無効化すると、Caché への経路はサービスに必要な経路のみになります。

パブリック・サービス数の制限

各サービスはリソースに対応します。ほとんどの場合、リソースとサービスは同じ名前 (例 : %Service_CSP) を持ちます。ただし、%Service_Bindings サービスは例外で、リソース %Service_Object および %Service_SQL と関連付けられています。サービスは、それに関連付けられているリソースの設定のため、パブリックです。したがって、サービスを非パブリックにする手順は、その他のリソースを非パブリックにする手順と同じです。これについては、"パブリック・リソース数の制限" のセクションで説明しています。

IP アドレスまたはマシン名を基準にしたサービスへのアクセスの制限

一部のサービスでは、IP アドレスやマシン名に従って、サービスへのアクセスを制限することができます。これは、“許可された接続” を制限する機能と言われます。この機能をサポートしているサービスは以下のとおりです。

  • %Service_Bindings

  • %Service_CSP

  • %Service_CacheDirect

  • %Service_ECP

  • %Service_Monitor

  • %Service_Shadow

  • %Service_Weblink

既定では、サービスはすべてのマシンからの接続を受け入れます。サービスにアドレスやマシン名が関連付けられていない場合、このサービスはすべてのマシンからの接続を受け入れます。サービスが接続を受け入れるアドレスやマシン名が 1 つ以上指定されている場合、サービスはこれらのマシンからの接続のみ受け入れます。

この機能は、%Service_CallIn%Service_ComPort%Service_Console%Service_DataCheck%Service_Login%Service_MSMActivate%Service_Mirror%Service_Telnet、および %Service_Terminal では使用できません。

IP アドレスを基準にサービスへのアクセスを制限するには、以下の手順に従います。

  1. サービスへの正当なアクセスを持つマシンの IP アドレスを判断します。

  2. 管理ポータルのホーム・ページで、[サービス] ページ ([システム管理][セキュリティ][サービス]) に移動します。

  3. [サービス] ページで、IP アドレスを基準にアクセスを制限するサービスの名前を個別にクリックして選択します。選択したサービスの [サービス編集] ページが表示されます。

  4. [サービス編集] ページの [許可された接続] セクションで、[新規追加] をクリックします。

  5. 表示されたダイアログに、接続を許可する IP アドレスを入力します。[OK] をクリックします。

  6. [追加] をクリックし、必要なアドレスを入力します。

接続を許可する IP アドレスを制限するサービスそれぞれについて、この手順を実行します。

パブリック特権の制限

ユーザがログインするたびに、そのユーザには _PUBLIC ユーザに関連付けられている特権がすべて与えられます。最小セキュリティ・インストールでは、_PUBLIC ユーザはどのロールにも割り当てられませんが、いくつかの SQL 特権を保持しています。これらは、SQL ルート・ユーザとして、SQL 標準に従って Caché インストールにより作成された _SYSTEM ユーザにより付与されています。これは、これらの特権の削除は _SYSTEM ユーザが行う必要があることを意味します。

_PUBLIC ユーザから SQL 特権を削除するには、次の手順に従って操作します。

  1. 管理ポータルに _SYSTEM ユーザとしてログインします。

    1. _SYSTEM ユーザが有効化されていない場合は有効化します (この手順を完了したあとで、_SYSTEM ユーザを無効化する必要がある場合は、“特権ユーザ数の制限” の指示に従って操作します)。

    2. 最小セキュリティ・インストールでは、ログインが要求されるように、管理ポータルで使用される認証方法を変更します。この方法については、“アプリケーションの認証メカニズムの変更” のセクションで説明されています。

    3. _SYSTEM としてログインします。最小セキュリティ・インストールでは、このユーザの既定のパスワードは “SYS” です。標準およびロックダウン・インストールの既定のパスワードは、インストール処理中に指定されたものになります。

  2. 管理ポータルのホーム・ページで、[SQLクエリ実行] ページ ([システム・エクスプローラ][SQL][SQLクエリ実行]) の SAMPLES ネームスペースに移動します。([SQLクエリ実行] ページで、左側にあるネームスペースのリストから SAMPLES をクリックします)。

  3. SAMPLES データベースのテーブルで _PUBLIC ユーザすべての特権を削除します。このページの編集フォームに次の SQL コマンドを入力します。

    REVOKE ALL PRIVILEGES ON * FROM _PUBLIC
    

    その後、[クエリ実行] をクリックします。

  4. SAMPLES データベースのストアド・プロシージャを起動するための _PUBLIC ユーザすべての特権を削除します。このページの編集フォームに次の SQL コマンドを入力します。

    REVOKE EXECUTE ON * FROM _PUBLIC
    

    その後、[クエリ実行] をクリックします。

  5. InterSystems のドキュメントの使用を制限するには、DocBook データベースを検索するための _PUBLIC ユーザの特権を削除します。以下はその方法です。

    1. [SQL クエリの実行] ページで、ネームスペースのリストから DOCBOOK をクリックします。

    2. [SQL テーブル] タブを選択します。

    3. このページの編集フォームに次の SQL コマンドを入力します。

      REVOKE ALL PRIVILEGES ON * FROM _PUBLIC
      

      その後、[クエリ実行] をクリックします。

特権ユーザ数の制限

すべての Caché インスタンスには、%All ロールに割り当てられたユーザが少なくとも 1 人必要です。実際、このロールに割り当てられたユーザが 1 人のみの場合、Caché はこのロールからこのユーザを削除できないようにします。しかし、時間の経過に従って、あるインスタンスの %All に必要以上のユーザが割り当てられてしまうことがあります。その原因には、割り当てられたユーザは組織を離れたがアカウントが無効化されていない、一時的な割り当てが削除されていないなどがあります。

%All ロールと共に、システム定義ロールの %Manager%Developer%Operator、および %SQL もユーザに過度の特権を与えることができます。また、このような動作を行うユーザ定義ロールもあります。このようなロールに割り当てられたユーザは、“特権ユーザ” と呼ばれることもあります。

特権ユーザの数を制限するには、どのユーザが各特権ロールに割り当てられているかを判断し、不要なユーザを削除します。以下はその方法です。

  1. 管理ポータルのホーム・ページで、[ロール] ページ ([システム管理][セキュリティ][ロール]) に移動します。

  2. [ロール] ページで、ロールの名前をクリックします。そのロールに対応する [ロール編集] ページが表示されます。

  3. [ロール編集] ページの [メンバ] タブをクリックします。そのロールに割り当てられているユーザとロールのリストが表示されます。

  4. 指定されたロールからユーザを削除するには、削除するユーザまたはロールの行にある [削除] をクリックします。確認ダイアログで [OK] をクリックします。

%All および前述のその他のロールを含め、特権ロールそれぞれについてこの手順を実行します。また、_SYSTEM ユーザを無効化することも重要です。その手順については、次のセクション “_SYSTEM ユーザの無効化” で説明します。

Important:

一見して特権のないロールが “代理特権” とも呼べる特権を持っていることもあります。この現象は、一見して特権のないロールを特権ロールに割り当てているときに発生します。この場合、代理特権を持つロールに割り当てられたすべてのユーザは、特権ロールに関連付けられたすべての特権を持ちます。

可能な限り、代理特権は作成しないようにしてください。どうしても避けられない場合、代理特権を持つロールに割り当てるユーザの数はできる限り少なくします。

_SYSTEM ユーザの無効化

Caché インストール・プログラムは _SYSTEM ユーザを作成します。このユーザは、SQL 標準に従って、SQL ルート・ユーザとして作成されます。最小セキュリティ・インストールでは、このユーザの既定のパスワードは “SYS” です。標準およびロックダウン・インストールの既定のパスワードは、インストール処理中に指定されたものになります。このユーザとパスワード “SYS” がどちらも SQL 標準により公開されているため、またこのユーザの SQL 特権のため、_SYSTEM を無効化することは、Caché インスタンスへのアクセスを制限するために重要です。

そのための手順は以下のとおりです。

  1. 管理ポータルのホーム・ページで、[ユーザ] ページ ([システム管理][セキュリティ][ユーザ]) に移動します。

  2. [ユーザ] ページで、名前 [_SYSTEM] をクリックして、_SYSTEM の [ユーザ編集] ページを開きます。

  3. _SYSTEM の [ユーザ編集] ページで、[ユーザ有効] フィールドをクリアします。[保存] をクリックします。

Note:

_SYSTEM を無効化した後でルート・レベルの SQL 特権を確認する必要がある場合は、必要な操作を実行できるように、ユーザを一時的に有効化する必要があります。

UnknownUser のアクセスの制限

非認証アクセスをサポートしているインスタンスでは、認証を使用しない接続は UnknownUser アカウントを使って確立されます。最小セキュリティ・インストールでは、既定の動作は以下のようになります。

  • すべての接続で UnknownUser が使用されます。

  • UnknownUser は %All ロールに割り当てられます。

  • UnknownUser は SQL 特権をすべて保持しています。

UnknownUser へのアクセスを制限するための最も効果的な方法は、このアカウントを無効化することです。しかし、最小セキュリティ・インストールの場合、このアカウントを単にシャットダウンするだけでは、次のセクションで説明するように、管理ポータルからロックアウトされてしまいます。したがって、管理ポータルに対する認証メカニズムの変更手順の一部として、UnknownUser を無効化する操作のみを行う必要があります。

Note:

通常のセキュリティ・インストール、およびロックダウン・インストールでは、UnknownUser は何も特権を持たないので問題にはなりません。

セキュリティを強化したときに、UnknownUser アカウントで発生する可能性のあるロックアウトの問題

あるインスタンスが最小セキュリティでインストールされている場合、UnknownUser のロールは %All になります。また、このインスタンスは、すべてのサービスおよびアプリケーションに対して、非認証アクセスを提供します。このアカウントのロールを単に %All から別のものに変更しても、非認証アクセスを引き続き許可している場合は、管理ポータル、ターミナルなどの基本機能へのアクセスが拒否される可能性があります。

これは、このような状況では、認証が行われないまま、Caché により、選択したツールへの接続が確立されるからです。認証が行われないと、システムにより、自動的にユーザ・アカウントが UnknownUser に設定されます。次に、ユーザ特権がチェックされます。UnknownUser が十分な特権を持っていない場合、ツールへのアクセスは制限されるか不可能になります。このような状況では、例えば、ターミナルには “アクセスが拒否されました” というメッセージが表示され、シャットダウンされます。ポータルではメイン・ページは表示されますが、オプションは一切選択できません。

この状態を正常に戻すには、以下の手順に従います。

  1. Caché を緊急アクセス・モードで起動します。

  2. UnknownUser アカウントに十分な特権を与えます。

UnknownUser を使用できないようにするには、管理ポータルに対する認証メカニズムをアップグレードする必要があります。

サードパーティ・ソフトウェアの構成

インターシステムズ製品は、ウィルス・スキャンなどのインターシステムズ製ではないツールと共に実行したり、そのようなツールとやり取りすることが頻繁にあります。このようなやり取りでもたらされる可能性がある影響に関する重要な情報については、"Caché システム管理ガイド" の付録 “インターシステムズの製品と連係して動作するようにサードパーティ・ソフトウェアを構成する方法” を参照してください。

FeedbackOpens in a new tab