サービス インターフェイスのディプロイのセキュリティ考慮事項

サービス インターフェイスを Enterprise Server にディプロイする機能には、セキュリティ上のリスクがあります。ネットワークを介してエンタープライズ サーバー インスタンスにアクセスした攻撃者によってサービス インターフェイスのディプロイが利用され、Enterprise Server で恣意的なプログラムがアップロードおよび実行されたり、既存のサービスが不正な実装に置き換えられたり、既存のサービスに関する情報が取得されたりするリスクがあります。これらのリスクを軽減するために、エンタープライズ サーバー インスタンスへのディプロイを無効にするか制限することができます。

ディプロイを無効にする

エンタープライズ サーバー インスタンスにディプロイされて実行されるサービス インターフェイスは、通信リスナーを使用します。このリスナーは、一般に Web 対話タイプを使用します (デフォルトの名前は Web)。新しいエンタープライズ サーバー インスタンスを作成すると、対応する Web リスナーが作成されます。

Web リスナーの [New Status] を [Disabled] に設定すると、ディプロイを完全に無効にすることができます。

注: リスナーが現在無効になっている場合は、ステータスを [Stopped] または [Started] (サーバーが実行中の場合) に変更すると有効にできます。

ディプロイをローカル クライアントのみに制限する

エンタープライズ サーバー インスタンスへのディプロイを完全に無効にする代わりに、ディプロイをローカル接続からのみ受け入れるように Web リスナーを制限できます。ローカル接続とは同じホストからの接続のことで、ループバックまたはローカルホスト接続とも呼ばれます。ローカル接続に制限することで、リモート接続からのディプロイの受け入れを防ぎます。

重要: Enterprise Server 4.0 以降では次のようになっています。
  • デフォルトでは、新しく作成したすべてエンタープライズ サーバー インスタンスで、ディプロイの受け入れがローカル接続のみに制限されます。
  • [Validate] 機能を使用する場合、およびサーバー定義をインポートする場合、リモート ディプロイが有効になっていると Enterprise Server Administration インターフェイスで警告が表示されます。

Web リスナーのディプロイ受け入れ動作を設定するには、次の手順を実行します。

  1. Enterprise Server Administration の [Home] ページで、構成するエンタープライズ サーバー リージョンの [Status] 列の [Stop] ボタンをクリックします。
  2. [Stop Server Confirmation] ページで、[OK] をクリックします。

    サーバーのステータスが停止に変わるまで待ちます。

  3. [Communications Process] 列で、[Details] をクリックします。

    [Listeners] ページが表示されます。

  4. Web リスナーに対応する [Edit] ボタンをクリックします。
  5. 次のいずれかを使用して、Web リスナーの定義を編集します。
    • ディプロイをローカル システムからのみ受け入れるようにリスナーを制限する場合:
      1. [Endpoint Address] フィールドに「localhost:*」と入力します。
      2. [OK] をクリックします。
    • リモートのディプロイの受け入れを有効にする場合:
      1. [Endpoint Address] フィールドに「*:*」と入力します。
      2. [OK] をクリックします。
  6. [Home] をクリックして、Enterprise Server Administration の [Home] ページに戻ります。
  7. 構成したエンタープライズ サーバー リージョンの [Status] 列の [Start] ボタンをクリックします。

ユーザーの認証と承認を要求する

Enterprise Server 5.0 以降では、ユーザー認証を要求するように Web サービス ディプロイ リスナーを構成できます。オプションでディプロイを特定のユーザーのみに制限することもできます。この機能を使用するには、エンタープライズ サーバー インスタンスで外部セキュリティを有効にする必要があります。Enterprise Server セキュリティの詳細については、「Enterprise Server インストール環境の保護について」を参照してください。

ユーザー認証により、サービス インターフェイスの匿名でのディプロイが防止されます。ディプロイ クライアントは、インターフェイスをディプロイするユーザーを識別するユーザー資格情報を提示する必要があります。ディプロイ ユーザーを認証するオプションは 3 つあります。

  • HTTP 基本認証:ディプロイ クライアントがユーザー名およびパスワードを HTTP 要求の一部として指定します。Eclipse IDE を使用してディプロイする場合は、これらの資格情報をディプロイ時に入力できます。imtkmake コマンド ライン ユーティリティを使用する場合は、username および password のパラメーターを使用して入力できます。web-deploy.html ディプロイ Web ページでは、リスナーが資格情報を要求するように構成されていれば、ブラウザーで資格情報が要求されます。
  • 証明書認証:SSL/TLS を使用するように構成されたディプロイ リスナーでクライアント証明書を要求または許可するように構成されている場合、ディプロイ クライアントはサーバーにクライアント証明書を送信できます。この証明書を特定のユーザーに関連付けるようにサーバーを構成できます。IDE および imtkmake の場合、クライアント証明書は mf-client.dat で構成できます。ブラウザーで web-deploy.html を使用してディプロイする場合は、ブラウザーの証明書管理インターフェイスを使用してクライアント証明書を構成する必要があります。クライアント証明書のユーザーへの関連付けには、cascertreg ユーティリティを使用するか自動登録を利用できます (「ディプロイ リスナー」を参照)。

推奨事項

Micro Focus では、以下について検討することをお勧めします。

  • CICS Web サービスなど、メインフレーム エミュレーションのみを目的として Enterprise Server を使用する場合は、Web リスナーを介したディプロイは有効にしないでください。
  • Web リスナーを有効にしている場合、可能であればローカル ディプロイのみに制限してください。一般的な開発において、開発者がテスト用にローカル マシンでビルドおよびディプロイするだけであれば、これで十分です。
  • 特に、継続的インテグレーション (CI) または QA テストに使用するプロダクション システムおよびステージング システムにおいては、リモートのディプロイの受け入れを可能な限り有効にしないでください。リモートのディプロイの受け入れがどうしても必要な場合、Micro Focus では、次のいずれかまたはすべての対策を追加で講じることをお勧めします。
    • ファイアウォールを使用して Web リスナーへのアクセスを制限する。
    • Enterprise Server の対話のフィルター処理機能を使用する。詳細については、「対話のフィルター処理」を参照してください。
    • TLS (SSL) でクライアント証明書認証を有効にする。
  • CI、QA テスト、および本番環境では、ファイル共有や FTP などのメカニズムを使用して CAR ファイルをターゲット システムにコピーし、mfdepinst ユーティリティを実行してインターフェイスをインストールします。詳細については、「mfdepinst コマンド」を参照してください。