侵入防御 モジュール(IDS / IPS)を設定して、ポリシーの動作を定義します。
モジュールの動作を設計し、APIを使用して実装する際には、侵入防御についてに記載されている背景情報とガイダンスを使用してください。
ポリシーオブジェクトには、 侵入防御 モジュールの設定に使用する2つのオブジェクトが含まれます。
- IntrusionPreventionPolicyExtension:モジュールの状態を制御し (prevent、detect、またはoff)、適用された 侵入防御 ルールを識別し、モジュールに割り当てられているアプリケーションの種類を識別します。
- PolicySettings:ポリシー設定には、推奨設定の適用、ネットワークエンジン設定、NSXセキュリティタグの使用など、モジュールのランタイム動作を制御する多くの 侵入防御関連の設定が含まれます。
これらのオブジェクトを作成して
Policy
オブジェクトに追加した後、PoliciesApi
クラスを使用してPolicy
オブジェクトに基づいて既存のポリシーを変更します。次のJSONは
IntrusionPreventionPolicyExtensionオブジェクト
のデータ構造を表しています:{ "state": "prevent", "moduleStatus": {...}, "ruleIDs": [...], "applicationTypeIDs": [...] }
moduleStatus
プロパティは読み取り専用です。これは侵入防御モジュールのランタイムステータスを提供します。コンピュータステータスのレポートを参照してください。一般的な手順
侵入防御 モジュールを設定するには、次の手順を実行します。
手順
IntrusionPreventionPolicyExtension
オブジェクトを作成し、プロパティを構成します。- モジュールのランタイム設定を構成するために
PolicySettings
オブジェクトを作成します。 - ポリシーオブジェクトを作成し、
IntrusionPreventionPolicyExtension
およびPolicySettingsオブジェクトを追加します。 PoliciesApi
オブジェクトを使用して、Workload Securityのポリシーを追加または更新します。
次に進む前に
単一の侵入防御関連のポリシー設定のみを設定する必要がある場合は、単一のポリシーまたはデフォルトのポリシー設定を構成するを参照してください。
モジュールの状態を設定し、ルールを割り当てるために
IntrusionPreventionPolicyExtension
オブジェクトを作成します:ip_policy_extension = api.IntrusionPreventionPolicyExtension() ip_policy_extension.state = "prevent" ip_policy_extension.rule_ids = rule_ids
Intrusion Prevention関連の設定を構成するために
PolicySettings
オブジェクトを作成します。ポリシー設定の詳細については、ポリシーとデフォルトポリシー設定の構成を参照してください。例えば、推奨スキャンで見つかったIPSルールを自動的に適用することができます。policy_settings = api.PolicySettings() setting_value = api.SettingValue() setting_value.value = "yes" policy_settings.intrusion_prevention_setting_auto_apply_recommendations_enabled = setting_value
この時点で、侵入防御ポリシー拡張とポリシー設定が構成されています。次に、それらを
Policy
オブジェクトに追加します。次に、PoliciesApi
オブジェクトを使用して、Workload Securityのポリシーを変更します。policy = api.Policy() policy.IntrusionPrevention = ip_policy_extension policy.policy_settings = policy_settings policies_api = api.PoliciesApi(api.ApiClient(configuration)) modified_policy = policies_api.modify_policy(policy_id, policy, api_version)
modifyPolicy
のpolicy_id
(またはpolicyID
) パラメータは、変更するWorkload Securityの実際のポリシーを識別します。このポリシーは、policy
パラメータとして使用されるポリシーオブジェクトに従って変更されます。設定されていないpolicy
パラメータのプロパティは、実際のポリシーでは変更されません。例
次のサンプルコードは、
PolicySettings
オブジェクトを作成し、モジュールの状態を設定し、ルールを割り当て、intrusionPreventionSettingAutoApplyRecommendationsEnables
プロパティの値を設定して、推奨スキャンで見つかったルールを自動的に適用するように侵入防御を設定します。このオブジェクトは、ポリシーを変更するために使用されるPolicy
オブジェクトに追加されます。# Run in prevent mode ip_policy_extension = api.IntrusionPreventionPolicyExtension() ip_policy_extension.state = "prevent" # Assign rules ip_policy_extension.rule_ids = rule_ids # Add to a policy policy = api.Policy() policy.IntrusionPrevention = ip_policy_extension # Configure the setting policy_settings = api.PolicySettings() setting_value = api.SettingValue() setting_value.value = "yes" policy_settings.intrusion_prevention_setting_auto_apply_recommendations_enabled = setting_value # Add the setting to a policy policy.policy_settings = policy_settings # Modify the policy on Workload Security policies_api = api.PoliciesApi(api.ApiClient(configuration)) modified_policy = policies_api.modify_policy(policy_id, policy, api_version) return modified_policy.id
また、APIレファレンスのポリシーの変更操作も参照してください。
ポリシーに対してIPSルールの追加、削除、または一覧表示のみが必要な場合は、
PolicyIntrusionPreventionRuleAssignmentsApi
クラスを使用してください。前の例では、IntrusionPreventionPolicyExtension
、Policy
、およびPoliciesApi
クラスを使用してIPSルールを追加していますが、これもPolicyIntrusionPreventionRuleAssignmentsApi
クラスのみを使用して行うことができます。詳細については、APIレファレンスのポリシー侵入防御ルールの割り当てと推奨設定を参照してください。API呼び出しの認証に関する情報については、Workload Securityで認証するを参照してください。
侵入防御 ルールを作成する
一般に、 侵入防御 モジュールのルールを作成するには、次の手順を実行します。
手順
IntrusionPreventionRule
オブジェクトを作成します。- ルールのプロパティを設定します。プロパティの詳細は、IPSルールの設定に記載されています。
IntrusionPreventionRulesApi
オブジェクトを使用して、Workload Securityにルールを追加します。
次に進む前に
セキュリティログ監視ルールはIPSルールとは異なるプロパティを持っていますが、ルールの作成方法は似ています。基本的なセキュリティログ監視ルールの作成の例が参考になるかもしれません。
APIを使用して侵入防御ルールの設定オプションにアクセスすることはできません。これらのオプションを変更するには、 Workload Securityコンソールでルールのプロパティを開き、設定] タブを選択します。