Skip to main content

This documentation is for an older version of this product. See the latest version of this content.Opens in a new tab

InterSystems IRIS への Web ゲートウェイ接続の保護

ここでは、Web ゲートウェイから InterSystems IRIS® への接続を保護するオプションについて説明します。CSP 認証の詳細は、"認証ガイド" を参照してください。InterSystems IRIS への Web ゲートウェイ接続は、以下のセキュリティ・レベルに応じて保護できます。

  1. 最小の接続セキュリティ (非推奨)

  2. ユーザ名ベースおよびパスワードベースの単純な認証

  3. Kerberos ベース認証とデータの保護

  4. SSL/TLS ベース認証とデータの保護

ここで適用されるセキュリティは、InterSystems IRIS サーバに対して Web ゲートウェイのホストを認証する目的のみで使用されることに注意してください。CSP エンジン (%cspServer) に対し、承認されていない接続が生成されないように保護します。ただし、Web アプリケーションの個々のユーザは識別されません。ユーザのログイン機能が Web アプリケーション自体に用意されている場合に限り、Web アプリケーションのユーザを確実に識別できます。例えば、管理ポータルにログオンしているシステム管理者の場合、管理ポータルのログイン・フォームに入力したユーザ名とパスワードによってのみ識別できます。

Web のステートレスな特性も、念頭に置く必要があります。InterSystems IRIS への Web ゲートウェイ接続と、Web アプリケーションの個々のユーザとの間には、固定された関係が存在しません。多くのユーザが同じ接続を共有します。

接続時に InterSystems IRIS に対して Web ゲートウェイを認証することは重要です。攻撃者が Web ゲートウェイになりすますことができると、その攻撃者は、技術的な手段またはソーシャル・エンジニアリング、およびその両方を使用して自分の制御下に置いたシステムでトラフィックをリダイレクトし、データを自由に読み取り、変更できるようになります。これは、Web アプリケーションに対する個人ユーザの認証とは異なります。Web ゲートウェイの InterSystems IRIS のユーザ名およびパスワード、Windows ネットワークの資格情報、および UNIX® Kerberos キー・テーブルのいずれも、通常のユーザが使用しないようにする必要があります。

Web ゲートウェイの接続セキュリティの構成

Web ゲートウェイの接続セキュリティを構成するには、常に Web ゲートウェイ管理ページを使用します。関連するオプションは、[構成][サーバ接続][接続セキュリティ] セクションにあり、ここでは次のような設定が用意されています。

  • [接続セキュリティレベル]:選択肢は以下のとおりです。

    • [パスワード]

    • [Kerberos]

    • [Kerberosパケット整合性]

    • [Kerberos暗号化]

    • SSL/TLS

  • [ユーザ名]

  • [パスワード]

  • [製品]

  • [サービス・プリンシパル名]

  • [キーテーブル]

最小の接続セキュリティ (非推奨)

最小の接続セキュリティでは、[接続セキュリティレベル][パスワード] に設定され、[ユーザ名] フィールドおよび [パスワード] フィールドは空欄のままです。

このモードでは、Web ゲートウェイと InterSystems IRIS 間の接続に対して最小レベルのセキュリティが適用されます。

この処理モードの場合、Web ゲートウェイ・サービス (%Service_WebGateway) と、そのサービスが機能するユーザ名 (CSPSystem など) が、任意の形式の認証を要求していないかどうかを確認します。

単純なユーザ名/パスワード認証

ユーザ名/パスワードでは、[接続セキュリティレベル][パスワード] に設定され、[ユーザ名] および [パスワード] の値が指定されます。

これは、Web ゲートウェイと InterSystems IRIS 間に適用できる最も簡単な認証形式です。

パスワードは、InterSystems IRIS で認証するプレーン・テキストとしてネットワーク上に送信する必要があるので、セキュリティの面で脆弱な形式の認証であることに注意してください。簡単に実行可能なネットワーク・スニッフィングによって、これらのパスワードが盗まれる可能性があります。この構成オプションで使用するパスワードは、以下のガイドラインに従って、Web ゲートウェイの構成ファイルで保持する必要があります。

どのような場合でも、Web ゲートウェイに使用する既定のユーザ名とパスワードは以下のようになります。インストール・プロセスでは、この目的のために CSPSystem ユーザが作成されます。このユーザ (CSPSystem またはその他のユーザ) には、有効期限を設定する必要はありません。つまり、Expiration Date プロパティの値は 0 になります。

Username: CSPSystem
Password: SYS

Windows では、パスワードは、Microsoft のデータ保護 API (DPAPI) で提供される機能を使用して Web ゲートウェイ構成ファイルに暗号化されます。このパスワードの暗号化は、Web ゲートウェイ管理の [デフォルトパラメータ] ページで処理されます。

Note:

通常の Windows のユーザ・アカウントには Administrators グループのメンバシップが付与されていることがあるため、Windows ではこのパスワード暗号化が使用されています。ただし、プロダクション・システムではこの方法をお勧めしません。パスワードを暗号化すると、Windows のすべてのインストールに、より高いレベルの保護が提供されます。

外部から導入されるパスワード

Web ゲートウェイ管理ページのコンテキスト以外でパスワードを扱うことが必要になる場合もあります。例えば、Web ゲートウェイ構成がカスタム構成スクリプトによって設定されている場合などです。この場合、パスワードをプレーン・テキストとして保存しておくと、Web ゲートウェイを初めて起動したときにこのパスワードが暗号化されます。このメソッドを使用する場合、ゲートウェイ管理フォームへのパスワードを '1' または 'PBKDF2|' で始めることはできず、IRIS へのパスワードを ']]]' で始めることはできません。これらの文字で始まるパスワードが必要な場合は、代わりに OS のコマンド・プロンプトで CSPpwd ユーティリティを使用します。このユーティリティは、Web ゲートウェイ構成ファイルに保持されているパスワードをエンコードします。一般的なフォームは次のとおりです。

CSPpwd <path to the CSPx.so|dll library> <context> <clear text password>

説明:

  • context = 0:ゲートウェイ管理フォームへのパスワード

  • context = 2:Cache/IRIS サーバへのパスワード

エンコードされたパスワードが標準出力に書き込まれます。

例 (Windows):

CSPpwd C:\cachesys\csp\bin\CSPx.dll 0 MyGatewayManagementPassword
CSPpwd C:\cachesys\csp\bin\CSPx.dll 2 MyIRISServerPassword

例 (UNIX®):

CSPpwd /opt/cspgateway/bin/CSPx.so 0 MyGatewayManagementPassword
CSPpwd /opt/cspgateway/bin/CSPx.so 2 MyIRISServerPassword

別のコンピュータで暗号化されたパスワード

Web ゲートウェイをホストしている Web サーバは、暗号化の基礎となる使用可能なユーザ・プロファイルがない保護された環境内で稼動するため、ユーザ・ストアではなくマシン・ストアを使用する必要があります。したがって、他のコンピュータで暗号化された Web ゲートウェイ・パスワードを解読することはできません。これによって、構成ファイルが共有ドライブに配置され、複数の関係するコンピュータ間で共有されるクラスタ環境の状況が作り出されます。実際にパスワード暗号化を行うコンピュータのみが、これを解読できます。暗号化されたパスワードを含む構成ファイルを別のコンピュータに移動することはできません。パスワードは、新しいマシンで再入力および再暗号化される必要があります。

この問題に対して考えられるアプローチを以下に示します。

  • クラスタ外のマシンを Web サーバとして使用する。

  • フェイルオーバーするたびに、Web ゲートウェイで同じパスワードを再設定する。

  • そのクラスタに属していないディスクに Web ゲートウェイ構成ファイルのコピーをそれぞれ独自に持つように、クラスタに属する各コンピュータを構成する。InterSystems IRIS が、Web ゲートウェイの DLL をホストするディレクトリにファイルを保持する。個々のコンピュータそれぞれにパスワードを保存し、暗号化したうえで、ノードをクラスタに導入する。

    例えば、各マシンの Disk C がクラスタに属さず、InterSystems IRIS が Disk S にインストールされている場合は、次のようになります。

    CLUNODE-1CLUNODE-1 で暗号化したパスワード XXX を記述した CSP.ini のコピー

    CLUNODE-2CLUNODE-2 で暗号化したパスワード XXX を記述した CSP.ini のコピー

  • Web ゲートウェイを起動してパスワードを追加する前に、以下の指示文を構成ファイルに手動で追加することによって、パスワードの暗号化を無効にする。

           [SYSTEM]
           DPAPI=Disabled
    

Kerberos ベース認証とデータ保護

Kerberos ベース認証とデータ保護では、[接続セキュリティレベル] パラメータによって 3 種類の認証レベル (およびデータ保護) が提供されます。

  1. Kerberos :接続に対する初期の認証のみを提供します。

  2. Kerberos パケット整合性 :初期の認証を提供し、データ・パケットの整合性を保証します。

  3. Kerberos 暗号化 :最高レベルのセキュリティです。初期の認証、データ・パケットの整合性の保証、および送信されるすべてのメッセージの暗号化を行います。

Kerberos ライブラリ

Kerberos ベースのいずれかのモードを使用する場合、Web ゲートウェイは次の InterSystems Kerberos クライアント・ライブラリをロードする必要があります。

  • Windows DLL : irisconnect.dll

  • UNIX® 共有オブジェクト : irisconnect.so

オペレーティング・システムの PATH 環境変数に指定した場所、または Web ゲートウェイのインストール場所を基準にした以下のいずれかの場所に、適切なライブラリをインストールします。

  • . (Web ゲートウェイのローカル側)

  • ./bin

  • ../bin

  • ../../bin

Web ゲートウェイは、ライブラリが初めて必要になったときにライブラリのロードを試みます。成功すると、Web ゲートウェイ・イベント・ログに次のステータス・メッセージが書き込まれます。

Web Gateway Initialization The IRISCONNECT library is loaded - Version: 5.3.0.175.0. 

(このライブラリは、Web ゲートウェイと InterSystems IRIS の間のオプションの Kerberos ベースのセキュリティで使用されます。)

Web ゲートウェイが IRISCONNECT ライブラリを見つけられない場合や、リンクできない場合は、失敗を示す適切な説明やエラー・メッセージが Web ゲートウェイ・イベント・ログに書き込まれます。

Web ゲートウェイと InterSystems IRIS 間の通信が Kerberos で保護されている場合は、Web ゲートウェイが Kerberos クライアントになります。

Kerberos を使用するように Web ゲートウェイを構成する手順は、Windows のセクションに記載されています。

SSL/TLS を使用する場合のライブラリ・パスのオーバーライド

既定の Web ゲートウェイでは、そのホーム・ディレクトリ (つまり、Web ゲートウェイ・バイナリを保持するディレクトリ) に依存セキュリティ・ライブラリ (共有オブジェクト) がインストールされることを想定しています。

Web ゲートウェイと InterSystems IRIS 間で SSL/TLS 接続を使用する場合、これらのライブラリとして IRISCONNECT ライブラリおよび SSL/TLS ライブラリ (UNIX® の場合:libssl.solibcrypto.so、Windows の場合:libcrypto-1_1-x64.dll libssl-1_1-x64.dll) があります。

Web ゲートウェイおよび IRISCONNECT ライブラリ (Web サーバの処理領域にロードされます) が SSL/TLS ライブラリのコピーをロードする場合、ホスト Web サーバによって以前にロードされた同じライブラリの異なるバージョン間で競合が発生します。SSL/TLS ライブラリの 1 つのコピーだけが Web サーバの処理領域にロードされるようにするには、Web ゲートウェイが IRISCONNECT ライブラリに対して、ホスト Web サーバで使用されているものと同じ場所から SSL/TLS ライブラリをロードするように指示する必要があります。

Web ゲートウェイ管理の [デフォルトパラメータ] ページでは、OpenSSL ライブラリの代替セットを使用するためのパラメータ [SSL/TLS ライブラリ・パス] が提供されます。例えば、以下のとおりです。

SSL/TLS Library Path = /usr/bin/  
Important:

OpenSSL の使用を許可しない Apache インストールを作成することも、OpenSSL を無効にするように Apache を構成することも可能です。この状況では、[SSL/TLS ライブラリ・パス] が別の場所に設定されない限り、Web ゲートウェイは付属していたライブラリをロードします。

ライブラリ・バージョンが Apache と Web ゲートウェイで一致しない場合、Web ゲートウェイと InterSystems IRIS インスタンス間の TLS 接続は失敗する可能性があります。接続を試みたときに TLS エラーが発生したり、OpenSSL 関数を呼び出すときに Web ゲートウェイが SIGSEGV でクラッシュする可能性があります。

Windows

Windows の場合、Kerberos キー・テーブルは実装されません。したがって、ホスト・サービスが指定のアカウントで開始したときに取得されるネットワーク資格情報、またはホスト・サービスをシステム・ログオン・セッションで (LOCAL SYSTEM として) 実行するときに Trusted Computing Base (TCB) から取得されるネットワーク資格情報が認証で使用されます。

Windows のドメイン・アカウントは、パスワードから派生した永続キーを使用して、ローカル・マシン用の Kerberos Ticket Granting Ticket (TGT) およびサービス・チケットを取得します。ローカル・マシンにも、ドメイン・コントローラの Key Distribution Centre (KDC) コンポーネントとの間で共有される永続 Kerberos キーが必要です。このキーを使用して、InterSystems IRIS などの別の Kerberos プリンシパルに対して認証を行うための TGT やサービス・チケットを取得できます。

実際に、Windows ベースの Web サーバ内で実行する Web ゲートウェイは、ネットワーク・サービス・ログオン・セッションまたはシステム・ログオン・セッションによって動作しています。使用するアカウントには、バッチ・ジョブとしてログオンする権利を割り当てる必要があります。

組み込みネットワーク・サービス・ログオン・セッションは、マシンの資格情報にアクセスできます。このセッションは、その他のマシンに対して認証を行うためにネットワーク資格情報を必要とするサービス用に設計されています。ただし、ネットワーク・サービス・ログオン・セッションは常に存在するわけではありません。InterSystems IRIS に対して Web ゲートウェイを認証する目的でシステム・ログオン・セッションを使用することもできます。

IIS インストール (特に ISAPI 拡張) の場合、ネットワーク・サービス・ログオン・セッションを使用して両方のデータベース (ローカルおよびリモート) とリモート・コンピュータにアクセスするのが望ましい方法です。

Kerberos のための Windows Web ゲートウェイ構成

  • [サービス・プリンシパル名] を、Web ゲートウェイの接続先であるターゲットの InterSystems IRIS サーバ名に設定します。

  • [ユーザ名][パスワード]、および [キーテーブル] の各フィールドは、空欄にしておきます。

  • クライアント・プリンシパル名 (クライアント・ユーザ名) は、Web ゲートウェイ・ホストの名前です。これは、Web ゲートウェイ・ホストのネットワーク・サービス・セッションを表す、次の Kerberos 名です。<computer_name>$

  • このプリンシパルに InterSystems IRIS サーバで必要な特権を割り当て、Web ゲートウェイのサービスが動作するようにします。

Kerberos のための UNIX® Web ゲートウェイ構成

これらのオペレーティング・システムは、Kerberos キー・テーブルをサポートします。

Kerberos のための UNIX® Web ゲートウェイ構成

概念的には、これらのシステムの Web ゲートウェイ構成の方が簡単です。

  • [サービス・プリンシパル名] を、Web ゲートウェイの接続先であるターゲットの InterSystems IRIS サーバ名に設定します。

  • [キーテーブル] フィールドに、キー・テーブル・ファイル名 (フル・パス指定) を入力します。

  • [ユーザ名] フィールドを、キー・テーブル・ファイルの適切なキー名に設定します。

  • [パスワード] フィールドは空欄にします。

  • クライアント・プリンシパル名 (クライアント・ユーザ名) は、Web ゲートウェイ・ホストの名前です。これは Kerberos キー・テーブルでキーを識別するために使用する名前です。このプリンシパルに InterSystems IRIS サーバで必要な特権を割り当て、Web ゲートウェイのサービスが動作するようにします。

SSL/TLS ベース認証とデータの保護

SSL/TLS プロトコルを使用して、Web ゲートウェイと InterSystems IRIS 間の通信を保護できます。

このモードでは、ホストに構成された SSL/TLS 転送により InterSystems IRIS への接続が保護されます。 [SSL/TLS 構成名] フィールドを、ターゲット・サーバに適切な値に設定する必要があります。 [サービスプリンシパル名] および [キーテーブル] フィールドは無関係なので、空白にしておく必要があります。

InterSystems IRIS システムの SSL/TLS クライアント構成の作成に関する詳細は、"TLS を使用して InterSystems IRIS に接続するための Web ゲートウェイの構成" を参照してください。

FeedbackOpens in a new tab