ファイアウォールモジュールを構成して、ポリシーの動作を定義できます。
モジュールの動作を設計し、APIを使用して実装する際には、ファイアウォールについてに記載されている背景情報とガイダンスを使用してください。
ポリシーオブジェクトには、ファイアウォールモジュールの設定に使用する2つのオブジェクトが含まれます。
FirewallPolicyExtension
: モジュールの状態 (オンまたはオフ) を制御し、適用されたファイアウォールルールを識別し、モジュールで使用するステートフル構成を識別します。PolicySettings
: ポリシー設定には、攻撃の予兆スキャンの動作、ネットワークエンジンモード (タップまたはインライン)、ネットワークエンジンの設定、イベント管理など、モジュールの実行時の動作を制御する多くのファイアウォール関連の設定が含まれます。ファイアウォール関連のポリシー設定の構成については、ポリシーとデフォルトポリシー設定の構成を参照してください。
次のJSONは
FirewallPolicyExtension
オブジェクトのデータ構造を表しています:{ "state": "off", "moduleStatus": {...}, "globalStatefulConfigurationID": 1, "ruleIDs": [...] }
moduleStatus
プロパティは読み取り専用です。ファイアウォールモジュールの実行時のステータスを提供します。コンピュータのステータスに関するレポートを参照してください。一般的な手順
ファイアウォールを設定するには、次の一般的な手順を使用します。
手順
FirewallPolicyExtension
オブジェクトを作成し、プロパティを設定します。PolicySettings
オブジェクトを作成して、モジュールのランタイム設定を構成します。Policy
オブジェクトを作成し、FirewallPolicyExtension
およびPolicySettings
オブジェクトを追加します。PoliciesApi
オブジェクトを使用して、Workload Securityのポリシーを追加または更新します。ファイアウォールに関連するポリシー設定を1つだけ設定する必要がある場合は、単一のポリシーまたはデフォルトのポリシー設定を構成するを参照してください。
次に進む前に
FirewallPolicyExtension
オブジェクトを作成し、状態とルールIDを設定します:firewall_policy_extension = api.FirewallPolicyExtension() firewall_policy_extension.state = "on" firewall_policy_extension.rule_ids = rule_ids;
次に、
PolicySettings
オブジェクトを作成してファイアウォール関連の設定を構成します。ポリシー設定の詳細については、ポリシーとデフォルトポリシー設定の構成を参照してください。例えば、攻撃の予兆スキャンを有効にすることができます。policy_settings = api.PolicySettings() setting_value = api.SettingValue() setting_value.value = True policy_settings.firewall_setting_reconnaissance_enabled = setting_value
この時点で、ファイアウォールポリシーの拡張とポリシー設定が構成されています。次に、それらを
Policy
オブジェクトに追加し、PoliciesApi
オブジェクトを使用してWorkload Securityのポリシーを変更します。policy = api.Policy() policy.firewall = firewall_policy_extension policy.policy_settings = policy_settings policies_api = api.PoliciesApi(api.ApiClient(configuration)) returned_policy = policies_api.modify_policy(policy_id, policy, api_version)
modifyPolicy
のpolicy_id
(またはpolicyID
) パラメータは、変更されるWorkload Securityの実際のポリシーを識別します。このポリシーは、policy
パラメータとして使用されるポリシーオブジェクトに従って変更されます。設定されていないpolicy
パラメータのプロパティは、実際のポリシーでは変更されません。例
次の例では、
Policy
オブジェクトを作成し、そのFirewallPolicyExtension
を変更し、ポリシー設定を構成します。次に、ポリシーがWorkload Securityに更新されます。policies_api = api.PoliciesApi(api.ApiClient(configuration)) policy = api.Policy() firewall_policy_extension = api.FirewallPolicyExtension() # Turn on firewall firewall_policy_extension.state = "on" # Assign rules firewall_policy_extension.rule_ids = rule_ids; # Add the firewall state to the policy policy.firewall = firewall_policy_extension # Turn on reconnaissance scan policy_settings = api.PolicySettings() setting_value = api.SettingValue() setting_value.value = True policy_settings.firewall_setting_reconnaissance_enabled = setting_value # Add reconnaissance scan state to the policy policy.policy_settings = policy_settings # Modify the policy on Workload Security return policies_api.modify_policy(policy_id, policy, api_version)
また、APIレファレンスのポリシーの変更操作も参照してください。
ポリシーのファイアウォールルールを追加、削除、または一覧表示するだけの場合は、
PolicyFirewallRuleAssignmentsApi
クラスを使用してください。前の例では、FirewallPolicyExtension
、Policy
、およびPoliciesApi
クラスを使用してファイアウォールルールを追加していますが、これもPolicyFirewallRuleAssignmentsApi
クラスだけを使用して行うことができます。詳細については、APIレファレンスのポリシーセクションにあるPolicy Firewall Rule Assignmentsを参照してください。API呼び出しの認証に関する情報については、Workload Securityで認証するを参照してください。
ファイアウォールルールを作成する
通常、ファイアウォールルールを作成するには、次の手順を実行します。
手順
FirewallRule
オブジェクトを作成します。- ルールのプロパティを設定します。プロパティの詳細は、ファイアウォールルールの作成を参照してください。APIを使用して、MACリスト、ルールコンテキスト、スケジュールなど、複数のルールで使用できる関連オブジェクトを作成できます。リストの作成と変更およびスケジュールの作成と構成を参照してください。
- Workload Securityでルールを作成するには
FirewallRulesApi
オブジェクトを作成します。
次に進む前に
セキュリティログ監視ルールはファイアウォールルールとは異なるプロパティを持っていますが、ルールの作成方法は似ています。基本的なセキュリティログ監視ルールの作成の例が役立つかもしれません。
APIを使用してファイアウォールルールを作成するには、
firewallrules
エンドポイントにPOSTリクエストを送信します。APIレファレンスのファイアウォールルールの作成操作を参照してください。ステートフル構成の変更に関する制限
ステートフル設定の次のプロパティは、バージョン8.0以前のエージェントでのみサポートされます。
- ACKストーム保護
- 着信または発信のパッシブおよびアクティブFTP接続を許可する
したがって、これらのプロパティはAPIやSDKを使用して構成することはできません。これらの設定を構成するには、Workload Securityコンソールを使用する必要があります。ステートフルファイアウォール構成の定義を参照してください。