DCAS セキュリティ

Enterprise Server には、Digital Certificate Authentication Service (DCAS) という機能が用意されています。これは、外部セキュリティ機能 (ESF) を使用して保護されているエンタープライズ サーバー リージョンにサインオンするユーザーに一時的な資格情報を提供する機能です。DCAS 機能は、高速ログオン機能 (ELF、証明書高速ログオン (CEL) とも呼ばれる) を使用する TN3270 ユーザー、または Micro Focus Host Access for Cloud (旧 Host Access Management and Security Server) などの外部のシングルサインオン プロバイダーとそのメインフレーム用自動サインオン機能を使用するユーザーにシングルサインオンを提供するために最もよく使用されます。DCAS 機能はデフォルトでは有効になっていません。

以前のリリースの Enterprise Server には、DCAS メカニズムへのアクセスの制限が十分でなかったために、DCAS 機能を有効にするとセキュリティが脆弱になり、DCAS を悪用した攻撃者が他の Enterprise Server ユーザーを偽装する問題がありました。この問題を修正するために、いくつかのセキュリティ機能が DCAS に追加されています。本トピックでは、それらの機能の概要について説明します。

内部 DCAS と外部 DCAS

DCAS の実装方法には、1 つ以上の TN3270 リスナーおよび高速ログオン機能と連携するように内部で実装する方法と、メインフレーム用自動サインオンなどの高度な認証システムをサポートするように外部で実装する方法があります。この場合の「内部」とは、TN3270 リスナーが DCAS を直接呼び出すことを意味します。したがって、DCAS リスナーを構成する必要はありません。「外部」とは、DCAS リスナーが Host Access for Cloud などの外部クライアントに接続することを意味します。

内部 DCAS では、TN3270 リスナーのみが DCAS を使用できます。これにより、攻撃を受けにくくなります。ただし、内部 DCAS は高速ログオン機能の実装にのみ使用でき、その他の目的には使用できません。

内部 DCAS は、高速ログオン機能をサポートする各 TN3270 リスナーの構成で有効にします。詳細については、TN3270 対話タイプの構成オプションを参照してください。

外部 DCAS は、高速ログオン機能に加え、他の DCAS の用途にも使用できます。外部 DCAS は、DCAS 対話タイプのカスタム リスナーを作成することで有効になります。外部 DCAS を使用するように TN3270 リスナーの構成も必要になる場合があります。「高速ログオン機能のためのリージョンの構成」および「メインフレーム用自動サインオンのためのリージョンの構成」のトピックを参照してください。

DCAS クライアント認証

DCAS リスナーは TLS (SSL) を使用する必要があります。TLS では、オプションでクライアント認証を要求できます。これにより、リスナーで認識されている証明機関 (CA) が署名したクライアント証明書がない限り、クライアントはリスナーに接続できなくなります。クライアント認証を有効にすることで、DCAS 機能の悪用を防ぐための追加のセキュリティ対策として使用できます。詳細については、「SSL オプション」のトピックを参照してください。

DCAS リスナーでクライアント認証が有効になっている場合、デフォルトでは、クライアント証明書が証明書登録情報を使用して Enterprise Server ユーザーに関連付けられていることも求められます。これは「証明書マッピング」とも呼ばれます。「CICS Web インターフェイス サーバーおよび DCAS のユーザー証明書登録」のトピックを参照してください。この要件は、DCAS 構成設定 allow unauthenticated clients=yes を使用して緩和できます。詳細については、DCAS 対話タイプの構成設定の一覧を参照してください。

DCAS (または他のリスナー) でクライアント証明書を使用する場合、エンタープライズ サーバー リージョン管理者は、必要に応じて次の設定をリスナー構成に追加します。

[MF SSL]
match client hostname=no

これは、リスナーに対して、クライアント証明書でユーザーを識別できるため、クライアント ホスト マシンを識別する必要がないことを示します。

証明書マッピングの制限

DCAS 要求には 2 つのタイプがあり、IBM および Micro Focus のドキュメントでは「形式 1」および「形式 2」と呼んでいます。形式 1 は、高速ログオン機能で通常使用され、ユーザーの証明書を受け入れて Enterprise Server のユーザー ID とパスチケットを返します。形式 2 は、メインフレーム用自動サインオンなどの外部認証システムで一般に使用され、ユーザー ID を受け入れてパスチケットを返します。DCAS リスナーでどちらの形式を受け入れるかを構成することができます。「DCAS 対話タイプ」の「allowed formats」を参照してください。

形式 1 の要求については、前のセクションで説明したクライアント認証が有効な場合のクライアント証明書の場合と同様に、DCAS リスナーで証明書を Enterprise Server ユーザーに「マップ」する必要があります。これは、登録済みの証明書を調べることによって行われます。証明書が見つからない場合、要求は拒否されます。

注: TLS 対話を確立する一環としてクライアントからオプションで送信されるクライアント証明書と形式 1 の要求に含まれるユーザーの証明書を混同しないように注意してください。クライアント証明書はクライアント プログラムを識別するのに対し、ユーザー証明書はエンタープライズ サーバー リージョンにサインオンするためのパスチケットを要求するユーザーを識別します。両方に同じ証明書が使用される場合もありますが、目的が異なります。また、クライアント証明書はオプションですが、ユーザー証明書は形式 1 の要求の一部として必ず含める必要があります。

証明書がマップされた後、DCAS へのマッピングの使用が許可されているかどうかが DCAS リスナーで確認されます。デフォルトでは、登録された証明書マッピングは DCAS および CICS Web インターフェイス (CWI) の両方に使用できます。管理者は、証明書マッピング ファイルに dcas=no という行を追加することにより、DCAS へのマッピングの使用を許可しないようにマークできます。これは、証明書を cascertreg ユーティリティを使用して登録する際にも実行できます。「CICS Web インターフェイス サーバーおよび DCAS のユーザー証明書登録」および「cascertreg」のトピックを参照してください。

この追加の制御により、管理者は、マッピングを特定の目的 (現在は DCAS または CWI) にのみ使用するように指定したり、いずれの目的にも使用しないように無効にしたりできます (無効にしても削除はされないため後で参照できます)。

注: 証明書登録ファイルで設定したマッピングの制限やその他のデータは、リージョンの起動後に DCAS または CWI がユーザー証明書を初めて受け取ったときに読み取られます。その後にファイル内の設定を変更した場合、リージョンが再起動されるまで有効になりません。

DCAS ユーザー承認

DCAS リスナーには 2 つのオプションの承認チェックがあり、それらを有効にすることによって DCAS でパスチケットを生成するユーザーを制限することもできます。これらのチェックは、エンタープライズ サーバー リージョンの外部セキュリティ (ESF) の構成を使用して行われます。

デフォルトでは、DCAS はパスチケットを要求しているユーザーを識別してそのユーザー ID を検証した後、外部セキュリティを照会して、そのユーザーに PTKTDATA クラスのリソースに対する「update」アクセスがあるかどうかを確認します。リソースの名前は、要求で提供された APPLID です。高速ログオン機能のために呼び出される DCAS の場合は、TN3270 クライアントから APPLID が提供されますが、TN3270 リスナーによって変更されることがあります (TN3270 対話タイプの構成オプションを参照)。他の DCAS の用途では、DCAS クライアントから APPLID が提供されます。慣例により、通常はエンタープライズ サーバー リージョンの名前になります。

PTKTDATA リソース クラスの目的はメインフレームでの使用方法と似ていますが、その詳細は異なります。

PTKTDATA リソース クラスが定義されていない場合は、すべての要求がこのチェックにパスします。このチェックは、リスナー構成で check user authorization 設定を使用して無効にすることもできます。これは、開発およびテストの両方のリージョンで役立つことがあります。

また、クライアント証明書を使用して承認チェックを行うように DCAS を構成することもできます。このチェックはデフォルトでは無効になっており、check client authorization 構成設定を使用して有効にする必要があります。有効になっている場合、クライアントから証明書が送信されると、DCAS はその証明書からサブジェクト (X.509 識別名) を抽出し、DCASCCRT クラスのその名前のリソースへのアクセスを要求します。形式 1 の要求の場合はこのリソースへの「read」アクセスが必要で、形式 2 の要求の場合は「control」アクセスが必要です。

注: DCAS リスナーの構成で、クライアントから証明書が送信されるように強制することができます。

証明書のサブジェクトは、汎用的なものから限定的なものの順に各コンポーネントがスラッシュで区切られた識別名で構成されます (例:/C=US/ST=MD/L=Rockville/O=Micro Focus/OU=Development/CN=Some User)。これを使用して、組織のユーザー証明書の発行方法に応じて、DCAS パスチケットを特定のグループのユーザーに制限することができます。たとえば、次のようなセキュリティ ルールがあるとします。

リソース名 アクセス制御リスト
**/OU=Customer Agent/** allow:*:control
**/OU=Administrators/** allow:*:read
** allow:*:none

このルールの場合、次のようになります。

  • 組織単位「Customer Agent」に属するユーザーのユーザー証明書は、メインフレーム用自動サインオンおよび高速ログイン機能に使用できます。
  • 組織単位「Administrators」に属するユーザーのユーザー証明書は、高速ログイン機能には使用できますが、DCAS の形式 2 の要求には使用できません。これにより、攻撃者が管理者を偽装することは困難になり、一方で管理者は TN3270 のシングルサインオン メカニズムを利用できます。
  • 他の組織単位に属するユーザーのユーザー証明書は、DCAS を一切使用できません。

DCAS のその他のセキュリティ制御

DCAS 機能の悪用を防ぐために、追加のセキュリティ対策として次の方法も使用できます。これらは、上記の新しい機能を利用できない以前のバージョンの Enterprise Server でも使用できます。

パストークンへのアクセスの制限 (LDAP ベースのセキュリティ)
エンタープライズ サーバー リージョンで LDAP ベースのセキュリティを使用している場合、LDAP ユーザー オブジェクトの属性を使用して、パストークン機能へのアクセスをユーザー単位で制限できます。これは、システム管理者などの一部のハイリスクなユーザーが DCAS を使用してリージョンにサインオンするのを防止するために使用できます。
リスナーのバインド
DCAS リスナーのバインドの構成で、「*」を指定してすべてのインターフェイスにバインドするのではなく、ホスト名または IP アドレスを指定して特定のネットワーク インターフェイスのみにバインドできます。これは、DCAS リスナーをループバック インターフェイスのみにバインドし、ネットワーク上の他のシステムから接続できないようにするために、localhost の設定でよく使用されます。
リスナーの対話のフィルター処理
Micro Focus Communications Server には、対話のフィルター処理と呼ばれる簡易的なファイアウォール メカニズムがあります。これを使用して、DCAS リスナーに接続できるシステムを制限できます。「対話のフィルター処理」のトピックを参照してください。