MLDAP ESM モジュールのカスタム構成情報

MLDAP ESM モジュールでは、[Configuration Information] 領域のテキストを編集して設定できる追加の構成もサポートされています。この領域のテキストはセクションで構成されており、各セクションは、角かっこで囲まれた「タグ」で始まり、その後に「名前=値」という形式の行が続きます。

ここでは、さまざまな構成セクション、および各セクションで設定できるオプションを示します。

[Auth] セクション

audit rule=yes | no
この設定を有効にすると、セキュリティ マネージャーが Auth または XAuth (リソース アクセス権限) 要求に応じることができる場合に、有効なルール (決定を行うために使用されたルール) に関する監査イベントが生成されます。

監査イベントのカテゴリ コードは 100 でイベント コードは 1 です。これには、次の内容が含まれています。

  • セキュリティ マネージャーの索引および名前。
  • モジュールの名前 (「mldap_esm」)。
  • ユーザー名。
  • サブシステム。
  • 要求のタイプ (「AUTH」または「XAUTH」)。
  • リソースの名前。
  • アクセスの決定 (「allowed」、「denied」、または「answered」)。
  • ルールの名前。

ルール名は、要求と照合されて ACL (アクセス制御リスト) を要求に適用した microfocus-MFDS-Resource オブジェクトの LDAP CN (共通名) です。

注: ESF 監査が有効になっていない場合は効果がありません。

[LDAP] セクション

provider=module
LDAP クライアント機能を含む動的にロード可能なモジュールの名前。これは、標準の LDAP C API 関数をエクスポートする、DLL (Windows) または共有オブジェクト (Unix) である必要があります。UNIX では、module にファイル拡張子が含まれていない場合、そのプラットフォームに対する標準の Micro Focus ファイル拡張子 (「_t.so.2」など) が付加されます (したがって、命名規則が異なるプラットフォームでも同じ構成を使用できます)。Windows では、Microsoft LDAP クライアントである wldap32.dll がデフォルトになります。UNIX では、デフォルトは、OpenLDAP クライアント ライブラリの Micro Focus ポートである openldap になります。
次に例を示します。
[LDAP]
 provider=libldap.a
この場合、AIX 用に IBM が提供する LDAP クライアントであるプロバイダー ライブラリ libldap.a を使用するように ESM モジュールに指示します。
version=2 | 3
LDAP プロトコルのバージョンを設定します。デフォルトは 3 です。通常、この値を変更する必要はありません。これは、クライアントまたはサーバーのいずれかがバージョン 3 をサポートしていない場合、自動的にバージョン 2 に引き下げられるためです。
base=DN
LDAP サーバーの Enterprise Server セキュリティ情報のベース コンテナーを設定します。デフォルトは、サンプル構成で使用されるコンテナーである CN=Micro Focus,CN=Program Data,DC=local です。この値は、Enterprise Server Users、Enterprise Server User Groups、Enterprise Server Resources コンテナーの DN の共通部分である必要があります。
注: ユーザー、グループ、およびリソース コンテナーが LDAP リポジトリの別々のブランチにある場合は、base を空の文字列に設定し、user containergroup container、および resource container の完全 DN を使用できます。
user class=LDAP class name
ユーザー情報を保持するために使用する LDAP オブジェクト クラスの名前を設定します。デフォルトは microfocus-MFDS-User ですが、LDAP リポジトリにユーザー定義がすでに存在するインストール環境では、Micro Focus MTO ユーザー属性でその定義を拡張して代わりに使用することもできます。
user container=partial DN
Enterprise Server ユーザー オブジェクトを保持する LDAP コンテナーの名前を設定します。この値は、1 つ以上の LDAP DN コンポーネントである必要があります。この値に LDAP の「ベース」DN (上記の base を参照) が付加されて、ユーザー コンテナーの完全 DN が作成されます。デフォルトは CN=Enterprise Server Users です。
user ID attribute=name
Enterprise Server ユーザー オブジェクトで MTO ユーザー名を保持する LDAP 属性の名前を設定します。これは、LDAP スキーマでデフォルトの「cn」(共通名) 属性を他の目的にすでに使用している場合に便利です。
注: このオプションがデフォルト以外の値に設定されている場合、互換性のあるデータを LDAP リポジトリに作成するには、サンプルの LDAP スキーマおよびデータ ファイルを編集する必要があります。
属性名では、大文字と小文字は区別されません。デフォルトは CN です。
group class=LDAP class name
グループ情報を保持するために使用する LDAP オブジェクト クラスの名前を設定します。デフォルトは microfocus-MFDS-Group です。
group container=partial DN
Enterprise Server グループ オブジェクトを保持する LDAP コンテナーの名前を設定します。デフォルトは CN=Enterprise Server User Groups です。
group member attribute=name
各グループ オブジェクトのメンバーである Enterprise Server ユーザーのリストを保持する LDAP 属性の名前を設定します。属性名では、大文字と小文字は区別されません。デフォルトは microfocus-MFDS-Group-member ですが、group typeAD に設定されている場合は member がデフォルトになります。
group short name attribute=name
グループ オブジェクトのオプションの LDAP 属性の名前を設定します。この属性の値は、設定されている場合にはグループの Enterprise Server 名として使用されます。Enterprise Serverのユーザー グループ名は 8 文字に制限されています。デフォルトでは、グループの CN (LDAP 共通名) の最初の 8 文字がグループ名として使用されます。この構成オプションを使用すると、グループの名前に別の属性の値を使用するよう MLDAP ESM モジュールに指示できます。この属性が、グループ クラスに対して定義されていない場合、または指定のグループに対して設定されていない場合は、CN が使用されます。

このオプションの使用時は、次の場合に、グループの「短い名前」(この属性の値) を使用する必要があります。

  • リソース ACL でグループを指定する場合
  • ESF Verify 操作のサインオン グループを指定する場合
  • ネスト化グループを指定する場合 (あるグループを別のグループのメンバーとして指定する場合)

displayNamemicrofocus-MFDS-UID などの既存の文字列属性をグループの短い名前に使用することも、新しい属性を LDAP スキーマに追加することもできます。

group type=MF | custom | AD | both
ユーザー グループ情報の処理を構成します。この設定により、LDAP 識別名で指定された Active Directory のユーザー グループおよびグループ メンバーを使用できるようになります。詳細については、「LDAP ベースのセキュリティでの Micro Focus 以外のグループ オブジェクトの使用」を参照してください。
resource class=LDAP class name
リソース アクセス ルール情報を保持するために使用する LDAP オブジェクト クラスの名前を設定します。デフォルトは microfocus-MFDS-Resource です。
resource container=partial DN
Enterprise Server リソース アクセス ルール オブジェクトを保持する LDAP コンテナーの名前を設定します。デフォルトは CN=Enterprise Server Resources です。
bind=simple | negotiate | es-user
LDAP サーバーへのバインドに使用するメソッドを設定します。
  • simple メソッドは、LDAP 資格情報をプレーン テキストで送信します。特権を付与された LDAP アカウント (たとえば、ユーザーのパスワード変更要求に対応するために、ユーザー属性を設定する権限が与えられている場合など) を使用するように ESM モジュールを構成している際に、モジュールと LDAP サーバーの間のネットワーク接続が安全でない場合は、他のメソッドを使用してください。このメソッドを使用する場合は、セキュリティ マネージャー構成の [Authorized ID] を LDAP 識別名にする必要があります。
  • negotiate メソッドは、ESM モジュールおよび LDAP サーバーをネゴシエートさせて最も安全なメソッドが使用されるようにします。ほとんどの LDAP サーバーでは、これにより、LDAP 資格情報がプレーン テキストで送信されることがなくなります。このメソッドでは、セキュリティ マネージャー構成の [Authorized ID] は LDAP サーバーによって異なります。Active Directory の場合は、Windows ユーザー名である必要があり、ドメイン名とそれに続くバックスラッシュを前に付加することもできます (domain\user)。
  • es-user メソッドは、Windows でのみサポートされ、Active Directory に接続する場合にのみサポートされます。現在のプロセス (ES/MTO または MFDS) のユーザー アカウントを使用して LDAP にバインドするようにモジュールに指示します。資格情報がプレーン テキストで送信されることはありません。このメソッドでは、セキュリティ マネージャー構成の [Authorized ID] フィールドおよび [Password] フィールドは無視されます。

デフォルトは simple です。

search scope=child | tree
LDAP 検索の範囲を設定します。child は、指定されたユーザー、グループ、およびリソース コンテナー内の最初のレベルのみを検索します。tree は、コンテナーの下にある LDAP 階層全体を検索します。tree を使用すると、パフォーマンスに重大な影響を与える可能性がありますが、ユーザーまたはその他の LDAP レコードが別々のコンテナーに分類されているディレクトリには有効です。

onelevel および one-level (この範囲に対する LDAP の技術用語) は child の同義語です。subtreetree の同義語です。

デフォルトは child です。

referrals=yes | no | default
LDAP リフェラルを有効または無効にします。LDAP リフェラルを使用すると、ある LDAP サーバーから別のサーバーにクエリを渡すことができます。通常はリフェラルを有効にする必要はなく、場合によっては、リフェラルを有効にするとサーバーで特定のクエリが拒否されることがあります。たとえば、Active Directory は、リフェラルが有効になっている場合には subtree クエリを拒否します (上記の search scope を参照)。

この値が default に設定されている (またはまったく設定されていない) 場合、LDAP プロバイダーのリフェラル設定は MLDAP ESM モジュールで変更されずに維持され、動作はプロバイダーおよびサーバーによって決まります。

デフォルトは default で、以前のバージョンの MLDAP ESM モジュールとの互換性が確保されています。ただし、search scope=tree も構成されている場合、デフォルトは no になります。

timeout=seconds
長い LDAP 操作のタイムアウトを設定します。これは LDAP 検索に影響します。LDAP プロバイダーによっては、バインドまたはその他の操作にも影響することがあります。このオプションが構成されていないか、値が 0 である場合、プロバイダーのデフォルトのタイムアウトが使用されます。
connect timeout=seconds
LDAP 接続試行のタイムアウトを設定します。これは、LDAP サーバーへの接続の最初の段階 (TCP 会話の開始) にのみ影響します。ほとんどの場合、これはすぐに成功または失敗します (サーバーが接続試行を受け入れるか拒否します)。したがって、このタイムアウトは、通常、ネットワークの問題によってサーバー ホスト システムに到達できないか、サーバー ホスト システムがダウンしている場合にのみ発生します。このオプションが構成されていないか、値が 0 であると、デフォルトは、timeout オプションが設定されている場合にはその値になり、設定されていない場合には LDAP プロバイダーのデフォルトの接続タイムアウトになります。
retry attempts=number
LDAP サーバーが使用できない場合に、この回数だけ接続が再試行されます。試行の待ち時間、つまり間隔は、retry interval オプションを使用して設定できます。デフォルトでは再試行されません (最初の接続試行が失敗した場合、モジュールはすぐにエラーを返します)。ESF の初期化、ESF を呼び出すスレッド、および他のスレッドのセキュリティに依存する処理は、接続が成功するかモジュールがエラーを ESF に返すまでブロックされます。
retry interval=seconds
LDAP サーバーへの接続試行の間隔を秒単位で指定します。この値が設定されていない場合、モジュールは指数バックオフを使用します。最初の再試行までに 1 秒待機し、次の再試行までに 2 秒待機し、以降同様に次の再試行までに前回の 2 倍の時間待機します。したがって、合計待ち時間 (接続試行自体に要する時間は含まない) は 2^N - 1 秒になります。この N は、合計試行回数 (最初の試行を含む) です。retry attempts5 に設定されている場合は、障害を報告するまでに少なくとも 31 秒かかることになります。この値を 0 に設定すると、試行が失敗した場合に直ちに再試行される (待ち時間なし) ようになります。
retry bind=yes | no
このオプションが yes に設定されており、retry attempts オプションが 1 よりも大きい値に設定されていると、前の ldap_connect 操作が成功した場合でも、LDAP バインド操作が再試行されます (LDAP バインド操作は、LDAP_BUSY や LDAP_OTHER などのさまざまな一時的エラーで失敗する可能性があります)。

no に設定されていると、LDAP バインド操作は、サーバーが ldap_connect をサポートしていない場合にのみ再試行されます。サーバーが ldap_connect をサポートしている場合は、接続失敗時には再試行できますが、成功時にはバインドは 1 回しか試行されません。

デフォルト値は no です。これは、製品の以前のバージョンの動作に対応しています (3.0 PU24、4.0 PU18、および 5.0 PU7 よりも前のバージョンに対応しています)。

[Operation] セクション

maxgroups=number
Use-all-groups モードでサポートされるユーザー グループの最大数を設定します。この値は、リージョンにサインオンするユーザーを含むグループの数以上にする必要があります。デフォルトは 64 で、最大値は 9999 です。この値を大きくすると、共有メモリの消費量が増え、承認要求の処理時間が長くなります。Micro Focus では、定義したユーザー グループの実際の数に近い値に保つようお勧めしています。[Use all groups] オプションが有効になっていない場合は効果がありません。
注: セキュリティ構成で複数の MLDAP ESM が積み重ねられている場合は、フェデレーションを明示的に無効にしていない限り、maxgroups の設定を同じにする必要があります。この要件はモジュールによって適用されます。MLDAP ESM モジュールのインスタンスによって異なる maxgroups 設定が指定されている場合は、警告が表示されます。
signon attempts=number
ユーザー アカウントが自動的に無効になるまでのサインオン (Verify) の最大試行回数を設定します。number が 0 よりも大きい整数に設定されている場合、ユーザーがその回数を超えて連続して正しくないパスワードでサインオンしようとすると、そのアカウントは無効になります(正しいパスワードで正常にサインオンすると、カウントがリセットされます)。デフォルトは 0 で、この機能は無効になります。
plus-wildcard=yes | no
この値が yes に設定されている場合、プラス (+) 文字がリソース規則名で出現した際にワイルドカードとして解釈されます。これは、常に 1 文字だけと一致する以外は、* および ** ワイルドカードと同様に機能します。

デフォルトは no です。

set login count=yes | no
ユーザー クラスに microfocus-MFDS-User-LoginAttempts 属性が含まれており、このオプションが yes (デフォルト) に設定されている場合、MLDAP ESM モジュールはこの属性を更新してログイン試行を追跡します。これは整数値で、ログインの試行が失敗するたびに 1 ずつ増え、ユーザーが正常にログインするとゼロにリセットされます。ESM モジュールにユーザー オブジェクトを更新する権限がない場合、この設定は効果がありません。
set login time=yes | no
ユーザー クラスに microfocus-MFDS-User-LastLoginTime 属性が含まれており、このオプションが yes (デフォルト) に設定されている場合、MLDAP ESM モジュールはユーザーが正常にログインした際に現在の UTC 時間をこの値として設定します。ESM モジュールにユーザー オブジェクトを更新する権限がない場合、この設定は効果がありません。
version 1 authentication=yes | no
このオプションが yes に設定されている場合 (デフォルトは no です)、互換性ルールの照合アルゴリズムが使用されます。
rule substitutions=yes | no
リソース アクセス制御ルールで ${user} および ${user_long} トークン (アクセス要求を行っているユーザーのユーザー ID に置き換えられます) を使用できるようにするには、このオプションを yes に設定します。詳細については、「ユーザー名置換」を参照してください。互換性ルールの照合は有効にしないでください。
check TLQ first=yes | no
このオプションが yes に設定されている場合 (デフォルトは no です)、ユーザーがリソースの使用を承認されているかどうかを判断するために使用する動作が変更されます。厳密に一致するルールが見つからない場合、次のクエリでは、ワイルドカードが後に続く TLQ と一致するすべてのルールが返されます。たとえば、DEV.JCL.TEMP の場合は DEV.* が検索されます。このオプションによって、最終的に承認に使用されるルールが変更される可能性があります。クラス内に多数のリソースがある場合は、このオプションによってパフォーマンスを向上できます。
maximum qualifiers for initial check=number
このオプションは、check TLQ first オプションの汎用的な形式です。number には、0 または正の整数を指定できます。number0 に設定されている場合、動作は check TLQ first=no と同じになります。number1 に設定されている場合、動作は check TLQ first=yes と同じになります。number1 よりも大きい場合は、システムで修飾子付きのリソース名のルールを検索する際に、最初の修飾子のうち number に指定された個数までが使用されます。リソース名の修飾子が number よりも少ない場合は、利用可能な修飾子のみが検索で使用されます。たとえば、maximum qualifiers for initial check が 2 に設定されている場合に、DEV.JCL.TEMP という名前のリソースを要求すると、次の LDAP 検索が順番に実行されます。
  1. DEV.JCL.TEMP という名前そのものを検索します。
  2. 前の検索でルールが返されない場合、またはそれらのルールでは要求を満たすことができない場合、DEV.JCL.* を検索します。つまり、リテラル文字列 DEV.JCL で始まるルールの検索です。
  3. 上記の検索でルールが返されない場合、またはそれらのルールでは要求を満たすことができない場合、ワイルドカードを含むすべてのルールの検索が行われます。
check TLQ first の場合と同様に、このオプションによって、承認に使用されるルールが変更される可能性があり、予期しない結果が生じる可能性があります。このオプションは、DATASET クラス内に多数のリソース ルールがある場合にパフォーマンスを向上できます。

このオプションを設定すると、check TLQ first=yes を指定したことになります。

デフォルトは、check TLQ first が設定されていないか no に設定されている場合は 0check TLQ firstyes に設定されている場合は 1 です。

percent-wildcard=yes | no
この値が yes に設定されている場合、パーセント (%) 文字がリソース ルール名で出現した際にワイルドカードとして解釈されます。これは、常に 1 文字だけと一致する以外は、* および ** ワイルドカードと同様に機能します。有効にできるのは、plus-wildcard オプションおよび percent-wildcard オプションのいずれか 1 つだけです。percent-wildcard は、IBM RACF ルール名のより正確なエミュレーションのために用意されています。plus-wildcard は、CA Top Secret ルール名のより正確なエミュレーションのために用意されています。

デフォルト値は、no です。

dss-wildcard=compatible | loose | strict
このオプションは、シーケンス「.**」(「ドット スター スター」とも呼ばれます) のルール名での処理方法を制御します。

compatible に設定されている場合、ルール名に「.**」が出現すると、リテラルのドット (.) 文字とそれに続く「**」ワイルドカードとして扱われます。ただし、名前の末尾に出現する場合は、ドットは無視され、「**」ワイルドカードのように扱われます。たとえば、このモードでは、「A.B.**」という名前のルールは、「A.B」、「A.B.C」、および「A.BC.D」に一致します。これは、リリース 6.0 よりも前の Enterprise Server での動作です。

loose に設定されている場合、「.**」シーケンスは、空の文字列またはドット文字で始まる任意の文字列に一致する特別なワイルドカードになります。たとえば、このモードでは、「A.B.**」は「A.BC.D」と一致しません。「C.D」はドットで始まっていないためです。ただし、「A.B.**.C.D」は、「A.B.C.D」(空の文字列に一致) と「A.B.X.C.D」(ドットで始まる文字列に一致) の両方に一致します。この動作は、メインフレーム上の RACF の動作に近いです。この値は、Enterprise Server 6.0 以降でのデフォルトです。

注: RACF の正確なエミュレーションは保証されません。

strict に設定されている場合、「.**」シーケンスは、常にリテラルのドット文字とそれに続く「**」ワイルドカードとして解釈されます。この設定では、「A.B.**」は、「A.B」にも「A.BC」にも一致しませんが、「A.B.C」および「A.B.C.D」に一致します。

デフォルトは、Enterprise Server 5.0 以前では compatible、Enterprise Server 6.0 以降では loose です。

[Passwords] セクション

expiration=number
デフォルトのパスワード有効期限を日数で設定します。これは、MF-hash 検証モード (つまり、Micro Focus パスワード ハッシュ) が使用されている場合にのみ適用されます(このモードはデフォルトですが、多くの組織では bind 検証モードを使用します。その場合、パスワードの有効期限は LDAP サーバーで管理する必要があります)。ユーザーがパスワードを変更した際に、そのアカウントに対してパスワード有効期限 (microfocus-MFDS-User-Pwd-ExpirationDate 属性) が構成されており、その日付が過去の日付であるか、その日付までの日数がこのオプションの日数に満たない場合は、このオプションの日数後の日付に変更されます。デフォルトは 90 (日) です。microfocus-MFDS-User-Pwd-ExpirationDate 属性は、パスワードが期限切れになる日付を 4 桁の年、2 桁の月、および 2 桁の日 (yyyymmdd) で表す数字の文字列に設定する必要があります。この日付よりも後ろに入力した文字はすべて無視されます。多くの LDAP クライアントおよびサーバーで使用されている標準の「UTC コード時刻」形式を利用できます。通常の LDAP クライアントを使用するか、esfadmin ユーティリティと ALTUSER コマンドおよび PASSEXP 属性を使用して、初期のパスワード有効期限を設定できます。

次に例を示します。

esfadmin -uADMIN -pADMIN -U"cn=..." -Pxxx altuser user=SYSAD
passexp=20091231

この場合、ユーザー SYSAD のパスワード有効期限が 2009 年の最終日に設定されます。

expiration-check=setting
ユーザーのパスワードが期限切れになったために LDAP サーバーでユーザーのバインドが拒否されたかどうかを判断するヒューリスティックを有効にします。この値が「1」または「y」で始まる文字列に設定され、bind モード検証が有効になっており ([Verify] セクションを参照)、パスワード有効期限が構成されている場合に、ユーザーのバインド要求が拒否されると、モジュールはパスワード有効期限が過ぎているかどうかを確認します。期限を過ぎている場合は、汎用の検証失敗エラー コードではなく、パスワードが期限切れであることを示すエラー コードを返します。
history=number
number の数だけ各ユーザーの以前のパスワード ハッシュを記憶します。ユーザーがパスワードを変更しようとした際に、新しいパスワードが、保存されているハッシュのいずれかと一致すると、要求が拒否されます。モジュールによるユーザー属性の更新がモジュール構成で許可されていない場合、このオプションは効果がありません。デフォルトは 0 で、パスワード履歴は保持されません。
minimum length=number
新しいパスワードを number の文字数以上の長さにするように要求します。「MF」以外のパスワード タイプを使用している場合は、LDAP サーバーまたは OS セキュリティ ポリシーでこのパスワード要件およびその他のパスワード要件を構成できることもあります。
注: ESF 自体は長いパスワードをサポートしていますが、一部の MSS プログラムおよび API は現在最大 8 文字に制限されています。そのため、この値を設定する際は注意が必要です。
maximum length=number
新しいパスワードを number の文字数以下の長さにするように要求します。「MF」以外のパスワード タイプを使用している場合は、LDAP サーバーまたは OS セキュリティ ポリシーでこのパスワード要件およびその他のパスワード要件を構成できることもあります。
注: ESF 自体は長いパスワードをサポートしていますが、一部の MSS プログラムおよび API は現在最大 8 文字に制限されています。そのため、この値を設定する際は注意が必要です。
required=list of classes
リストで指定されている各クラスから少なくとも 1 文字を新しいパスワードに含めるように要求します。サポートされているクラスは、alphabeticmixed-casenumeric、および punctuation です。クラス名は、空白文字またはカンマで区切ってください。

次に例を示します。

[Passwords]
required=alphabetic, numeric

この場合、新しいパスワードに少なくとも 1 つの英字および 1 つの数字が含まれていないと、パスワードの変更に失敗します。

complexity=number
number + 1 個の文字クラスのそれぞれから少なくとも 1 文字を新しいパスワードに含めるように要求します。大文字と小文字は別々にカウントされます。たとえば、complexity=1 の場合、要件を満たすのは、大文字と小文字が混在するパスワード、小文字と数字を含むパスワード、数字と句読文字を含むパスワードなどになります。(ASCII) 英字、数字、または句読点以外の文字は、別の文字クラスとしてカウントされます。したがって、全部で 5 つのクラス (大文字、小文字、数字、句読点、およびその他) が存在します。

さまざまなパスワード制限オプションを組み合わせて使用できます。次に例を示します。

[Passwords]
 minimum length=6
 required=mixed-case
 complexity=2

この場合、パスワードは、6 文字以上で、大文字と小文字の両方を含み、少なくとも 1 つの非英字文字を使用している必要があります。

[Passtoken] セクション

default=none | self
デフォルトのパストークン作成および使用権限を設定します。通常、この ESM モジュールでユーザーが ESF パストークンを作成または使用できるかどうかは、ユーザーごとの属性によって制御されます。これらの属性が設定されていない場合、none がデフォルトになります。つまり、デフォルトでは、ユーザーは、パストークンを作成することも、パストークンを使用してサインオンすることもできません。この値を self に設定すると、ユーザーごとのパストークンの作成および使用を許可するようにデフォルトの動作が変更されます。
secret=string
ESM モジュールによって生成された ESF パストークンでメッセージ認証コード (MAC) のキーとして機能するシークレット データを設定します。これにより、このデータを知らない攻撃者はパストークンを捏造できなくなります。
注: ここで設定した内容は、MFDS リポジトリを読み取ることができる人物にとっては秘密となりません。
この値を設定する場合は、パストークンを交換するすべてのセキュリティ ドメイン (MFDS および ES リージョン) で同じ値に設定する必要があります。
secret file=path
パストークン MAC のシークレット データを含むファイルのパスを設定します。これは、構成でシークレット データを直接設定するよりも安全です。SecretFile が設定されている場合、Secret 指令は無視されます(どちらも設定されていない場合は、組み込みのデフォルトが使用されます)。
duration=seconds
パストークンの持続時間を設定します。トークンは、生成後、この期間だけ有効になり、それ以降は拒否されます。デフォルトは 60 (1 分) です。
table size=size
パストークンの格納に使用するテーブルのサイズを設定します。多要素認証にパストークンを使用する場合、このテーブルは同時にログオンする最大ユーザー数よりも大きくする必要があります。デフォルト サイズは 64 です。
注: サイズを増やすと、メモリ消費も増えるため、パフォーマンスが低下します。
short passtoken reuse=yes | no
多要素認証に使用される短いパストークンを、持続時間オプションに基づく有効期限が過ぎるまでに 1 回だけ使用できるか複数回使用できるかを設定します。デフォルトは no です。

[Trace] セクション

Config=yes | no
これを [yes] に設定すると、セキュリティ マネージャーの [Configuration Information] フィールドで指定した有効な構成設定ごとにメッセージが発行されます。これは、監査およびデバッグの目的で使用できます。デフォルトでは、このオプションは no に設定されています。
Rule=setting
リソース アクセスの決定に関する「有効なルール」のロギングを有効にします。この値が「y」で始まる文字列または「1」に設定されている場合、ESM モジュールは、すべての承認決定について、その決定を行うために使用されたルールを示すログ エントリを作成します。
Groups=setting
ユーザー グループの処理に関するさまざまなメッセージをログ記録します。この値が「y」で始まる文字列または「1」に設定されている場合、ESM モジュールは、Verify 時にユーザーがグループに所属していると判断した際、または Auth 時に要求に適用されるグループ ACE を検出した際にログ エントリを作成します。これは、All-Groups モードで問題をデバッグする場合に特に便利です。
Search=setting
いくつかの LDAP 検索操作のロギングを有効にします(現在、すべての検索がログ記録されるわけではありません)。この値が「fail」に設定されている場合、ESM モジュールは、「not found」以外のエラーを返したすべての検索についてログ エントリを作成します(Auth 要求時は、通常、「not found」を返す検索が多くなるため、「fail」設定を使用すると、これらのよくある検索エラーをログ記録せずに済みます)。この値が「found」に設定されている場合、モジュールは、成功した、または「not found」以外のエラーを返したすべての検索をログ記録します。この値が「all」、「y」、または「yes」に設定されている場合は、「not found」を返した操作を含む、すべての検索操作をログ記録します。
Modify=setting
通常はログ記録されないいくつかの LDAP 変更操作のロギングを有効にします。この値が「fail」に設定されている場合、ESM モジュールは、「サイレント変更」操作のいずれかが失敗した際にログ エントリを作成します。この値が「all」、「y」、または「yes」に設定されている場合は、成功した操作を含む、すべての変更操作をログ記録します。現在、影響を受ける操作には、最終ログイン時間ユーザー属性の設定などがあります。
Bind=setting
LDAP バインド操作のロギングを有効にします。この値が「y」で始まる文字列または「1」に設定されている場合、ESM モジュールは、LDAP サーバーにバインドする際にログ エントリを作成します。これは、LDAP サーバーへのネットワーク トラフィックに関する問題を調査する場合に役立ちます。
Locks=setting
プロセス内ロックおよびプロセス間ロックのロギングを有効にします。この値が「y」で始まる文字列または「1」に設定されている場合、ESM モジュールは、ロックを取得または解放しようとした際にログ エントリを作成します。Micro Focus SupportLine では、特定の想定外の問題を診断できるよう、このトレース モードを有効にすることをユーザーに求める場合があります。
Update=setting
更新要求のロギングを有効にします。更新要求は、MFDS または esfupdate コマンド ライン ユーティリティを使用して行われる ESF 制御要求で、セキュリティ構成またはデータに対する変更を ESF および ESM モジュールに通知します。この値が「y」または「yes」に設定されている場合、更新要求がログ記録されます。この値が「changes」に設定されている場合、更新要求によってユーザーまたはユーザーのグループ メンバーシップの MSS 属性 (オペレーター クラスなど) などの内部状態がモジュールで変更された際に、追加のメッセージがログ記録されます。この値が「all」に設定されていると、更新要求で変更が発生しない場合、追加のメッセージがログ記録されます。
TraceN=rule
フィルター処理されたトレースのルールを定義します。フィルター処理されたトレースを使用すると、トレース ルールで定義されている一連の条件を満たす要求のみをトレースできます。この名前のN は、Trace1Trace2 のように、1 から 8 (フィルター処理されたトレース ルールの最大数) の数字になります(ルールは順不同で定義でき、数字を飛ばすこともできますが、1 から 8 の範囲内かつ一意である必要があります)。

トレース ルールの形式は次のとおりです。

function:actor[:parameters]:result

詳細は次のとおりです。

  • function は、verify または auth
  • actor は、ユーザー名です。auth ルールの場合、グループ名とそれに続く語 group にすることもできます。ワイルドカードを使用できます。
  • parameters は、この機能に固有で、次のようになります。
    • verify の場合、パラメーターはありません。
    • auth の場合、class:entity にする必要があり、次のようになります。
      • class は、リソース クラス名 (「TCICSTRN」など) で、ワイルドカードを使用できます。
      • entity は、リソース エンティティ名 (「CINQ」など) で、ワイルドカードを使用できます。
  • result は、allowdenyunknownfailany、または debug

要求は、ルールのすべての条件が満たされている場合にトレースされます。トレースとは、要求に関する 1 つ以上の情報メッセージがログに書き込まれることを意味します。resultdebug を設定した場合は、(any と同様に) 任意の結果に基づいてログ記録されますが、functionactor、および parameters と一致する要求の処理時には追加情報がログ記録されます。

次に例を示します。

  • verify:SYSAD:deny は、SYSAD ユーザーが拒否された Verify (サインオン) 要求をトレースします。
  • auth:SYSADM group:TCICSTRN:C*:allow は、名前が C で始まる TCICSTRN クラス内のリソースへのアクセスを SYSADM グループのメンバーが要求した Auth (承認) 要求を、要求が許可された場合にトレースします。

フィルター処理されたトレースは、通常のトレースでは過度の出力が生成される負荷の高いシステムで問題を分離する場合に役立ちます。この機能では、各要求についてトレース ルールと一致するかどうかを調べる必要があるため、パフォーマンスが何らかの影響を受けます。

データ セット名のワイルドカード指定で、修飾子と一致させる必要がある場合は、二重アスタリスク (**) を使用してください。たとえば、SYSAD がデータ セットへのアクセスを拒否されたすべてのケースを表示するには、auth:SYSAD:DATASET:**:deny を使用します。

[Verify] セクション

mode=MF-hash | bind
ユーザー資格情報 (ユーザー名およびパスワード) の検証方法を決定します。
  • MF-hash メソッドは、パスワードの検証機能 (ソルト付き暗号化ハッシュ) を格納する microfocus-MFDS-User-Pwd 属性の値を取得します。提供されたパスワードの同等のハッシュを計算し、一致するかどうかを検証します。このメソッドでは、ESF でユーザーの検証に使用されるパスワードは、ESF に対してプライベートであり、オペレーティング システムまたは LDAP サーバーには関連付けられません。
  • bind メソッドは、LDAP サーバー自体を使用してユーザーの資格情報を検証します。そのために、資格情報を使用してサーバーにバインドします。このメソッドでは、ESF のユーザー パスワードは LDAP サーバーのパスワードと同じです (OS で LDAP 認証が使用されている場合は、OS 自体にログインするためのパスワードと同じになります)。
    注: このメソッドは、やや低速で、より多くのリソースを消費することがあります。

他のタイプのパスワード ハッシュのテストなど、今後、他のモードがサポートされる可能性があります。デフォルトは MF-hash です。

password type=MF | MF-A2 | MF-Argon2 | MF-MD5 | AD | MD5 | plain | compatible | SSHA512
Verify 操作の一環として新しいパスワードが入力された際に LDAP でパスワードを設定する方法を制御します。
  • MF は、パスワードの安全な検証機能 (ソルト付き暗号化ハッシュ) を作成し、microfocus-MFDS-User-Pwd 属性の値として設定します。これは、Enterprise Server ユーザーに対して microfocus-MFDS-User クラスを使用している場合に適しています。上記の MF-hash パスワード検証メソッドに対応しています。現在のところ、これはパスワードのソルト付き MD5 ハッシュです (MF-MD5 設定と同じ)。Enterprise Server 4.0 以降では、ソルト付き Argon2 ハッシュを使用します (MF-A2 と同じ)。
  • MF-A2 または MF-Argon2 は、ソルト付き Argon2 ハッシュを使用して安全な検証機能を作成します。これは、Enterprise Server Patch Update 2 以降でサポートされています。特に短いパスワードの場合、以前の MF-MD5 スキームよりも安全です (一致するパスワードを見つけるのが難しい)。
  • MF-MD5 は、以前のバージョンの Enterprise Server で使用されているようなソルト付き MD5 ハッシュを使用して安全な検証機能を作成します。Enterprise Server の古いバージョンおよび新しいバージョンで同じ LDAP ディレクトリを使用する必要がある場合に使用できます。新しい Argon2 ベースの検証機能 (MF-A2) よりも安全性が低くなります。
  • AD は、unicodePwd 属性を提供されたパスワードの値 (引用符内) に設定します。これは、Microsoft Active Directory (および ADAM) 用の特殊な操作であり、Windows API を使用してユーザーのパスワードを設定することと同等です(Active Directory はパスワードの安全なハッシュを作成して格納します)。これは、Enterprise Server ユーザーに対して Microsoft 提供のクラスを使用している場合に適しています。上記の bind パスワード検証メソッドに対応しており、Active Directory を使用している場合に有効です。
  • MD5 は、RFC 2307 で指定されている構文を使用して、パスワードの MD5 ハッシュを計算し、userPassword 属性の値として設定します (これは、標準ではありませんが、LDAP サーバーで広くサポートされています)。bind パスワード検証メソッドに対応しており、このパスワード タイプをサポートする LDAP サーバー (OpenLDAP など) を使用している場合に有効です。
  • plain は、プレーンテキストで userPassword 属性を設定します。このオプションは、ほとんどの LDAP サーバーでは安全でないため、通常は、開発目的にのみ使用する必要があります。
    注: Active Directory には、userPassword を unicodePwd の「エイリアス」にするオプションがあります (ADAM ではデフォルトで有効になっています)。このオプションが有効になっている場合は、このメソッドを使用して、Active Directory または ADAM でパスワードを設定できます。
  • compatible 設定は、まず、Microsoft 構文を使用して unicodePwd を設定しようとし、次に、MD5 メソッドを使用して userPassword を設定しようとします。これは、通常、bind 検証メソッドを使用するように ESM モジュールが構成されている場合に有効です。LDAP サーバーが Active Directory の場合は、unicodePwd 属性設定が機能し、別の LDAP サーバーが使用されている場合は、unicodePwd 属性は存在せず、より一般的な userPassword 属性が代わりに設定されます。
  • SSHA512 は、RFC 2307 構文を使用した、パスワードのソルト付き 512 ビット SHA-2 ハッシュを指定します。このパスワード タイプは、pw-sha2 モジュールをオプションで利用できる OpenLDAP、およびその他の一部の LDAP サーバーでサポートされています。
    注: SSHA512MD5 タイプよりもはるかに安全です。
デフォルトは MF ですが、パスワード検証モードが bind に設定されている場合は compatible がデフォルトになります。
注: MLDAP ESM モジュールは、現在、LDAP のパスワード変更拡張操作 (RFC 3062) をサポートしていません。また、Active Directory、および場合によっては他のサーバーでは、セキュリティで保護された LDAP 接続 (SSL/TLS またはその他の方法による暗号化) を介したパスワード変更のみがデフォルトで許可されます。詳細については、LDAP サーバーのドキュメントを参照してください。
password attribute=name
パスワードを設定するための、パスワード データを含むユーザー クラスの属性の名前をオーバーライドします。デフォルトについては、上記のパスワード タイプの説明を参照してください。
migrate passwords=setting
指定したタイプとは異なるタイプの検証機能を使用しているパスワードの自動移行を有効にします。現在のところ、MF-MD5 から MF-A2 への移行のみがサポートされています。この値が「y」で始まる文字列または「1」に設定されている場合、ユーザーが現在のパスワードで正常にサインインした際に、現在のパスワード検証機能のタイプが password type の設定値と異なっていると、MLDAP ESM モジュールは、その検証機能を新しいタイプの検証機能に置き換えようとします。これは、より安全なタイプの検証機能にユーザーを段階的に移行させるために使用できます。