Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

22.4.2. ホストベースのアクセス制御 (CLI ベース) のテストシナリオ

注記
この hbactest コマンドは、信頼された Active Directory ユーザーでは機能しません。Active Directory のユーザー/グループの関連付けは、ユーザーがログインし、これらのデータは IdM LDAP ディレクトリーに保存されないため、動的に決定されます。この場合、hbactest コマンドは、アクセス制御ルールが適用される仕組みをチェックするためにグループメンバーシップを解決できません。
この hbactest コマンドは、非常に特殊な状況でホストベースのアクセス制御ルールを設定していました。テスト実行では、以下を定義します。
  • ユーザーは、そのユーザー (--user) のルールパフォーマンスをテストするために操作を実行します。
  • ログインクライアント Y (--service) の使用
  • ホスト Z (--host) をターゲットにするには、次のコマンドを実行します。
  • テストするルール (--rules): これが使用されていない場合は、有効なすべてのルールがテストされます。
  • オプション: hbactest は一致するルール、一致しないルール、または無効なルールに関する詳細情報を返します。この詳細なルール出力は --nodetail を使用して無効にすることができます。そのため、テストが単に実行され、アクセスが付与されたかどうかを返します。
注記
この hbactest スクリプトは、実際にはターゲットホストに接続しません。代わりに、IdM データベース内のルールを使用して、SSSD クライアントが IdM サーバーに接続しているかのように、特定の状況でルールがどのように適用されるかをシミュレートします。
さらに、指定の情報と設定に基づいてシミュレーションされたテストを実行しますが、実際にはターゲットホストに対してサービス要求を試行する訳ではありません。

例22.4 すべてのアクティブなルールのテスト

最も基本的なコマンドは、すべてのアクティブなルールをチェックします。特定の接続シナリオが必要なため、ユーザー、ログインサービス、およびターゲットホストが提供され、テストツールは接続をチェックします。
[jsmith@server ~]$ kinit admin
[jsmith@server ~]$ ipa  hbactest --user=jsmith --host=target.example.com --service=ssh
-------------------- 
Access granted: True 
-------------------- 
Matched rules: allow_all 
Matched rules: sshd-jsmith 
Matched rules: web-rules 
Not matched rules: allGroup

例22.5 特定のルールのテスト

特定のルール (または複数のルール) を確認することができます。
[jsmith@server ~]$ kinit admin
[jsmith@server ~]$ ipa hbactest --user=jsmith --host=target.example.com --service=ssh --rules=myrule
---------------------
Access granted: True
---------------------
   notmatched: myrule

例22.6 テスト固有のルールとすべてが有効化

この --rules オプションは、テストする特定のルールを一覧表示します。ただし、ドメインで有効なすべてのルールに対して、指定したルールをテストすると便利です。これは、--enabled オプションを追加することで実行できます。これには、指定されていない有効なルールと、指定したルールを含みます。
[jsmith@server ~]$ kinit admin
[jsmith@server ~]$ ipa hbactest --user=jsmith --host=target.example.com --service=ssh --rules=myrule --enabled
--------------------
Access granted: True
--------------------
  matched: my-second-rule
  notmatched: my-third-rule
  matched: myrule
  matched: allow_all
--disabled オプションを使用すると、無効 なルールと同様の比較を実行できます。この --rules オプションを使用すると、指定したルールと、無効なすべてのルールがチェックされます。この --disabled オプションを使用すると、無効にしたすべてのルールがチェックされます。